├── .gitignore ├── .prettierrc ├── README.md ├── package.json ├── src ├── app.ts └── ga_constants │ └── speed.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | test/ 3 | node_modules/ 4 | .idea 5 | GameAssembly.dll -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "printWidth": 120 4 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Final Fantasy Pixel Remaster Tool 2 | 3 | This tool can automate and simplify the modification of the Final Fantasy Pixel Remaster series. It's currently tested to work with all entries released (I through IV). It does require you to have a (mostly) unmodified GameAssembly.dll in your directory. If you're previously modified the walk speed values, you will need to revert to the original GameAssembly.dll before using this tool 4 | 5 | Note: for best results, make sure to run the game in Fullscreen mode and force VSync through your graphics card control panel. 6 | 7 | ## Features: 8 | - Set the walking speed to Classic (60 px/second) or Fast (120 px/second). This can greatly reduce walking stutter as the original game's 80 px/second doesn't match the framerate of the game. 9 | 10 | ## Usage 11 | - Download release from https://github.com/noskill-io/ffpr-tool/releases 12 | - Place ffpr-tool.exe in root game directory (e.g. C:\Program Files\Steam\steamapps\common\FINAL FANTASY PR\) 13 | - Run ffpr-tool.exe and follow the prompts 14 | 15 | ## Planned Features 16 | - Modify Framerate 17 | - Modify AutoBattle speed 18 | - Your Suggestions! 19 | 20 | ## Build from source 21 | 22 | ### Requirements 23 | - Node 14 24 | - Yarn 25 | ``` 26 | yarn install 27 | yarn build 28 | ``` 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ffpr-tool", 3 | "version": "1.0.0", 4 | "description": "Final Fantasy Pixel Remaster Tool", 5 | "author": "exodus", 6 | "license": "ISC", 7 | "homepage": "https://github.com/jmroon/ffpr-tool#readme", 8 | "bugs": { 9 | "url": "https://github.com/jmroon/ffpr-tool/issues" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/jmroon/ffpr-tool.git" 14 | }, 15 | "main": "src/app.ts", 16 | "bin": "dist/app.js", 17 | "scripts": { 18 | "build-js": "tsc --build", 19 | "build-exe": "pkg .", 20 | "build": "yarn build-js && yarn build-exe", 21 | "test": "echo \"Error: no test specified\" && exit 1" 22 | }, 23 | "pkg": { 24 | "targets": [ 25 | "node14-windows-x64" 26 | ], 27 | "outputPath": "dist/bin" 28 | }, 29 | "devDependencies": { 30 | "@types/prompts": "^2.0.14", 31 | "pkg": "^5.3.2", 32 | "prettier": "^2.4.0", 33 | "ts-node": "^10.2.1", 34 | "typescript": "^4.4.3" 35 | }, 36 | "dependencies": { 37 | "prompts": "^2.4.1" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/app.ts: -------------------------------------------------------------------------------- 1 | import fs from 'fs'; 2 | import prompts, { PromptObject } from 'prompts'; 3 | import { WALK_SPEED_CLASSIC, WALK_SPEED_FAST, WALK_SPEED_ORIGINAL, WalkSpeed } from './ga_constants/speed'; 4 | 5 | const GA_FILE = 'GameAssembly.dll'; 6 | const BACKUP_DIR = './backup_dll'; 7 | const QUESTIONS: PromptObject[] = [ 8 | { 9 | type: 'select', 10 | name: 'speed', 11 | message: 'Please choose a game speed. Classic or Fast should result in less stutter while walking.', 12 | choices: [ 13 | { 14 | title: 'Original', 15 | description: 'The original Pixel Remaster speed (80 px/second).', 16 | value: WALK_SPEED_ORIGINAL, 17 | }, 18 | { 19 | title: 'Classic', 20 | description: 'Same speed as the original SNES game (60 px/second).', 21 | value: WALK_SPEED_CLASSIC, 22 | }, 23 | { 24 | title: 'Fast', 25 | description: '1.5x faster than the Pixel Remaster default speed (120 px/second)', 26 | value: WALK_SPEED_FAST, 27 | }, 28 | ], 29 | }, 30 | ]; 31 | 32 | async function main() { 33 | if (!fs.existsSync(GA_FILE)) { 34 | console.log("No GameAssembly.dll found. Please ensure you're running this app from the root game directory."); 35 | console.log('e.g. C:\\Program Files\\Steam\\steamapps\\common\\FINAL FANTASY PR\\'); 36 | return; 37 | } 38 | 39 | const response = await prompts(QUESTIONS); 40 | const walkSpeed = response.speed as WalkSpeed; 41 | 42 | backupDll(); 43 | 44 | const file = fs.readFileSync(`./${GA_FILE}`, 'hex'); 45 | 46 | try { 47 | let patchedFile = replaceSingleOccurrence(file, WALK_SPEED_ORIGINAL.base, walkSpeed.base, true, 'Base Speed'); 48 | 49 | walkSpeed.lookupTable.forEach((value, index) => { 50 | patchedFile = replaceSingleOccurrence( 51 | patchedFile, 52 | WALK_SPEED_ORIGINAL.lookupTable[index], 53 | value, 54 | false, 55 | 'Lookup Table Speed' // todo: label which speed corresponds to what 56 | ); 57 | }); 58 | 59 | fs.writeFileSync(`./${GA_FILE}`, patchedFile, 'hex'); 60 | 61 | console.log('Success!'); 62 | } catch (err: any) { 63 | console.log(err); 64 | return; 65 | } 66 | } 67 | 68 | function backupDll() { 69 | if (!fs.existsSync(BACKUP_DIR)) { 70 | fs.mkdirSync(BACKUP_DIR); 71 | } 72 | fs.copyFileSync(`./${GA_FILE}`, `${BACKUP_DIR}/${GA_FILE}`); 73 | 74 | // todo: append a filename friendly timestamp or increment to the end of the filename so we don't lose the original 75 | } 76 | 77 | function replaceSingleOccurrence( 78 | file: string, 79 | searchValue: string, 80 | replaceValue: string, 81 | requireUnique = false, 82 | description = 'Value' 83 | ) { 84 | const matches = file.match(new RegExp(searchValue, 'g')); 85 | if (!matches || matches.length == 0) { 86 | throw Error(`${description}: not found. Ensure you are modifying the original GameAssembly.dll`); 87 | } else if (matches.length > 1 && requireUnique) { 88 | throw Error(`${description}: multiple matches found. Cannot identify which to replace.`); 89 | } 90 | 91 | console.log(`${description}: replacing ${searchValue} with ${replaceValue}`); 92 | return file.replace(searchValue, replaceValue); 93 | } 94 | 95 | main().then(async () => { 96 | await prompts({ 97 | type: 'text', 98 | name: 'exit', 99 | message: 'Press ENTER to exit.', 100 | }); 101 | }); 102 | -------------------------------------------------------------------------------- /src/ga_constants/speed.ts: -------------------------------------------------------------------------------- 1 | export const WALK_SPEED_ORIGINAL: WalkSpeed = { 2 | base: '8fc2753e', // 0.24 (80pps) 3 | lookupTable: [ 4 | 'c781a400000000008040', // 4.00 (Airship/Sprint) 5 | 'c781a40000009a991940', // 2.40 (Run/Ship) 6 | 'c781a40000006666e63f', // 1.80 (Other vehicles e.g. chocobo) 7 | 'c781a40000009a99993f', // 1.20 (Walkspeed) (Multipliers for FF5/6 start with c783a4 instead of c781a4, need their own separate tools.) 8 | ], 9 | }; 10 | 11 | export const WALK_SPEED_CLASSIC: WalkSpeed = { 12 | base: '0ad7a33e', // 0.32 (60pps based on 1.2 multiplier) 13 | lookupTable: [ 14 | 'c781a40000009a999940', // 4.80 (Airship/Sprint) 15 | 'c781a40000009a991940', // 2.40 (Run/Ship) 16 | 'c781a40000006666e63f', // 1.80 (Other vehicles) (This needs to stay at 1.8 instead of 1.2) 17 | 'c781a40000009a99993f', // 1.20 (Walkspeed) 18 | ], 19 | }; 20 | 21 | export const WALK_SPEED_FAST: WalkSpeed = { 22 | base: '0ad7233e', // 0.16 (120pps based on 1.2 multiplier) 23 | lookupTable: [ 24 | 'c781a40000009a999940', // 4.80 (Airship/Sprint) 25 | 'c781a40000009a991940', // 2.40 (Run/Ship) 26 | 'c781a40000006666e63f', // 1.80 (Other vehicles) 27 | 'c781a40000009a99993f', // 1.20 (Walkspeed) 28 | ], 29 | }; 30 | 31 | export interface WalkSpeed { 32 | base: string; 33 | lookupTable: Array; 34 | } 35 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "CommonJS", 5 | "moduleResolution": "node", 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "strict": true, 9 | "skipLibCheck": true, 10 | "outDir": "dist", 11 | "rootDir": "src" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/helper-validator-identifier@^7.12.11": 6 | version "7.14.9" 7 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" 8 | integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== 9 | 10 | "@babel/parser@7.13.13": 11 | version "7.13.13" 12 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" 13 | integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== 14 | 15 | "@babel/types@7.13.12": 16 | version "7.13.12" 17 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd" 18 | integrity sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA== 19 | dependencies: 20 | "@babel/helper-validator-identifier" "^7.12.11" 21 | lodash "^4.17.19" 22 | to-fast-properties "^2.0.0" 23 | 24 | "@cspotcode/source-map-consumer@0.8.0": 25 | version "0.8.0" 26 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" 27 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== 28 | 29 | "@cspotcode/source-map-support@0.6.1": 30 | version "0.6.1" 31 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960" 32 | integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg== 33 | dependencies: 34 | "@cspotcode/source-map-consumer" "0.8.0" 35 | 36 | "@nodelib/fs.scandir@2.1.5": 37 | version "2.1.5" 38 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 39 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 40 | dependencies: 41 | "@nodelib/fs.stat" "2.0.5" 42 | run-parallel "^1.1.9" 43 | 44 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 45 | version "2.0.5" 46 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 47 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 48 | 49 | "@nodelib/fs.walk@^1.2.3": 50 | version "1.2.8" 51 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 52 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 53 | dependencies: 54 | "@nodelib/fs.scandir" "2.1.5" 55 | fastq "^1.6.0" 56 | 57 | "@tsconfig/node10@^1.0.7": 58 | version "1.0.8" 59 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" 60 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== 61 | 62 | "@tsconfig/node12@^1.0.7": 63 | version "1.0.9" 64 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" 65 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== 66 | 67 | "@tsconfig/node14@^1.0.0": 68 | version "1.0.1" 69 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" 70 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== 71 | 72 | "@tsconfig/node16@^1.0.2": 73 | version "1.0.2" 74 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" 75 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== 76 | 77 | "@types/node@*": 78 | version "16.9.1" 79 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" 80 | integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== 81 | 82 | "@types/prompts@^2.0.14": 83 | version "2.0.14" 84 | resolved "https://registry.yarnpkg.com/@types/prompts/-/prompts-2.0.14.tgz#10cb8899844bb0771cabe57c1becaaaca9a3b521" 85 | integrity sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA== 86 | dependencies: 87 | "@types/node" "*" 88 | 89 | acorn-walk@^8.1.1: 90 | version "8.2.0" 91 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 92 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 93 | 94 | acorn@^8.4.1: 95 | version "8.5.0" 96 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" 97 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== 98 | 99 | agent-base@6: 100 | version "6.0.2" 101 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 102 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 103 | dependencies: 104 | debug "4" 105 | 106 | ansi-regex@^2.0.0: 107 | version "2.1.1" 108 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 109 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 110 | 111 | ansi-regex@^3.0.0: 112 | version "3.0.0" 113 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 114 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 115 | 116 | ansi-regex@^5.0.0: 117 | version "5.0.1" 118 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 119 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 120 | 121 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 122 | version "4.3.0" 123 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 124 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 125 | dependencies: 126 | color-convert "^2.0.1" 127 | 128 | aproba@^1.0.3: 129 | version "1.2.0" 130 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 131 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 132 | 133 | are-we-there-yet@~1.1.2: 134 | version "1.1.7" 135 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" 136 | integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== 137 | dependencies: 138 | delegates "^1.0.0" 139 | readable-stream "^2.0.6" 140 | 141 | arg@^4.1.0: 142 | version "4.1.3" 143 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 144 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 145 | 146 | array-union@^2.1.0: 147 | version "2.1.0" 148 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 149 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 150 | 151 | at-least-node@^1.0.0: 152 | version "1.0.0" 153 | resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" 154 | integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 155 | 156 | base64-js@^1.3.1: 157 | version "1.5.1" 158 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 159 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 160 | 161 | bl@^4.0.3: 162 | version "4.1.0" 163 | resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" 164 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 165 | dependencies: 166 | buffer "^5.5.0" 167 | inherits "^2.0.4" 168 | readable-stream "^3.4.0" 169 | 170 | braces@^3.0.1: 171 | version "3.0.2" 172 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 173 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 174 | dependencies: 175 | fill-range "^7.0.1" 176 | 177 | buffer@^5.5.0: 178 | version "5.7.1" 179 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 180 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 181 | dependencies: 182 | base64-js "^1.3.1" 183 | ieee754 "^1.1.13" 184 | 185 | chalk@^4.1.0: 186 | version "4.1.2" 187 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 188 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 189 | dependencies: 190 | ansi-styles "^4.1.0" 191 | supports-color "^7.1.0" 192 | 193 | chownr@^1.1.1: 194 | version "1.1.4" 195 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 196 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 197 | 198 | cliui@^7.0.2: 199 | version "7.0.4" 200 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 201 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 202 | dependencies: 203 | string-width "^4.2.0" 204 | strip-ansi "^6.0.0" 205 | wrap-ansi "^7.0.0" 206 | 207 | code-point-at@^1.0.0: 208 | version "1.1.0" 209 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 210 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 211 | 212 | color-convert@^2.0.1: 213 | version "2.0.1" 214 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 215 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 216 | dependencies: 217 | color-name "~1.1.4" 218 | 219 | color-name@~1.1.4: 220 | version "1.1.4" 221 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 222 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 223 | 224 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 225 | version "1.1.0" 226 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 227 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 228 | 229 | core-util-is@~1.0.0: 230 | version "1.0.3" 231 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 232 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 233 | 234 | create-require@^1.1.0: 235 | version "1.1.1" 236 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 237 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 238 | 239 | debug@4: 240 | version "4.3.2" 241 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 242 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 243 | dependencies: 244 | ms "2.1.2" 245 | 246 | decompress-response@^4.2.0: 247 | version "4.2.1" 248 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" 249 | integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== 250 | dependencies: 251 | mimic-response "^2.0.0" 252 | 253 | deep-extend@^0.6.0: 254 | version "0.6.0" 255 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 256 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 257 | 258 | deep-is@~0.1.3: 259 | version "0.1.4" 260 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 261 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 262 | 263 | delegates@^1.0.0: 264 | version "1.0.0" 265 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 266 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 267 | 268 | detect-libc@^1.0.3: 269 | version "1.0.3" 270 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 271 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 272 | 273 | diff@^4.0.1: 274 | version "4.0.2" 275 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 276 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 277 | 278 | dir-glob@^3.0.1: 279 | version "3.0.1" 280 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 281 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 282 | dependencies: 283 | path-type "^4.0.0" 284 | 285 | emoji-regex@^8.0.0: 286 | version "8.0.0" 287 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 288 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 289 | 290 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: 291 | version "1.4.4" 292 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 293 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 294 | dependencies: 295 | once "^1.4.0" 296 | 297 | escalade@^3.1.1: 298 | version "3.1.1" 299 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 300 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 301 | 302 | escodegen@^2.0.0: 303 | version "2.0.0" 304 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" 305 | integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== 306 | dependencies: 307 | esprima "^4.0.1" 308 | estraverse "^5.2.0" 309 | esutils "^2.0.2" 310 | optionator "^0.8.1" 311 | optionalDependencies: 312 | source-map "~0.6.1" 313 | 314 | esprima@^4.0.1: 315 | version "4.0.1" 316 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 317 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 318 | 319 | estraverse@^5.2.0: 320 | version "5.2.0" 321 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 322 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 323 | 324 | esutils@^2.0.2: 325 | version "2.0.3" 326 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 327 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 328 | 329 | expand-template@^2.0.3: 330 | version "2.0.3" 331 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" 332 | integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== 333 | 334 | fast-glob@^3.1.1: 335 | version "3.2.7" 336 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" 337 | integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== 338 | dependencies: 339 | "@nodelib/fs.stat" "^2.0.2" 340 | "@nodelib/fs.walk" "^1.2.3" 341 | glob-parent "^5.1.2" 342 | merge2 "^1.3.0" 343 | micromatch "^4.0.4" 344 | 345 | fast-levenshtein@~2.0.6: 346 | version "2.0.6" 347 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 348 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 349 | 350 | fastq@^1.6.0: 351 | version "1.13.0" 352 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 353 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 354 | dependencies: 355 | reusify "^1.0.4" 356 | 357 | fill-range@^7.0.1: 358 | version "7.0.1" 359 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 360 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 361 | dependencies: 362 | to-regex-range "^5.0.1" 363 | 364 | from2@^2.3.0: 365 | version "2.3.0" 366 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 367 | integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= 368 | dependencies: 369 | inherits "^2.0.1" 370 | readable-stream "^2.0.0" 371 | 372 | fs-constants@^1.0.0: 373 | version "1.0.0" 374 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" 375 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 376 | 377 | fs-extra@^9.1.0: 378 | version "9.1.0" 379 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 380 | integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 381 | dependencies: 382 | at-least-node "^1.0.0" 383 | graceful-fs "^4.2.0" 384 | jsonfile "^6.0.1" 385 | universalify "^2.0.0" 386 | 387 | function-bind@^1.1.1: 388 | version "1.1.1" 389 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 390 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 391 | 392 | gauge@~2.7.3: 393 | version "2.7.4" 394 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 395 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 396 | dependencies: 397 | aproba "^1.0.3" 398 | console-control-strings "^1.0.0" 399 | has-unicode "^2.0.0" 400 | object-assign "^4.1.0" 401 | signal-exit "^3.0.0" 402 | string-width "^1.0.1" 403 | strip-ansi "^3.0.1" 404 | wide-align "^1.1.0" 405 | 406 | get-caller-file@^2.0.5: 407 | version "2.0.5" 408 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 409 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 410 | 411 | github-from-package@0.0.0: 412 | version "0.0.0" 413 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" 414 | integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= 415 | 416 | glob-parent@^5.1.2: 417 | version "5.1.2" 418 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 419 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 420 | dependencies: 421 | is-glob "^4.0.1" 422 | 423 | globby@^11.0.3: 424 | version "11.0.4" 425 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" 426 | integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== 427 | dependencies: 428 | array-union "^2.1.0" 429 | dir-glob "^3.0.1" 430 | fast-glob "^3.1.1" 431 | ignore "^5.1.4" 432 | merge2 "^1.3.0" 433 | slash "^3.0.0" 434 | 435 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 436 | version "4.2.8" 437 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" 438 | integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== 439 | 440 | has-flag@^4.0.0: 441 | version "4.0.0" 442 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 443 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 444 | 445 | has-unicode@^2.0.0: 446 | version "2.0.1" 447 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 448 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 449 | 450 | has@^1.0.3: 451 | version "1.0.3" 452 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 453 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 454 | dependencies: 455 | function-bind "^1.1.1" 456 | 457 | https-proxy-agent@^5.0.0: 458 | version "5.0.0" 459 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 460 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 461 | dependencies: 462 | agent-base "6" 463 | debug "4" 464 | 465 | ieee754@^1.1.13: 466 | version "1.2.1" 467 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 468 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 469 | 470 | ignore@^5.1.4: 471 | version "5.1.8" 472 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" 473 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 474 | 475 | inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: 476 | version "2.0.4" 477 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 478 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 479 | 480 | ini@~1.3.0: 481 | version "1.3.8" 482 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 483 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 484 | 485 | into-stream@^6.0.0: 486 | version "6.0.0" 487 | resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702" 488 | integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== 489 | dependencies: 490 | from2 "^2.3.0" 491 | p-is-promise "^3.0.0" 492 | 493 | is-core-module@^2.2.0: 494 | version "2.6.0" 495 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" 496 | integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== 497 | dependencies: 498 | has "^1.0.3" 499 | 500 | is-extglob@^2.1.1: 501 | version "2.1.1" 502 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 503 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 504 | 505 | is-fullwidth-code-point@^1.0.0: 506 | version "1.0.0" 507 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 508 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 509 | dependencies: 510 | number-is-nan "^1.0.0" 511 | 512 | is-fullwidth-code-point@^2.0.0: 513 | version "2.0.0" 514 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 515 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 516 | 517 | is-fullwidth-code-point@^3.0.0: 518 | version "3.0.0" 519 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 520 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 521 | 522 | is-glob@^4.0.1: 523 | version "4.0.1" 524 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 525 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 526 | dependencies: 527 | is-extglob "^2.1.1" 528 | 529 | is-number@^7.0.0: 530 | version "7.0.0" 531 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 532 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 533 | 534 | isarray@~1.0.0: 535 | version "1.0.0" 536 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 537 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 538 | 539 | jsonfile@^6.0.1: 540 | version "6.1.0" 541 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 542 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 543 | dependencies: 544 | universalify "^2.0.0" 545 | optionalDependencies: 546 | graceful-fs "^4.1.6" 547 | 548 | kleur@^3.0.3: 549 | version "3.0.3" 550 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 551 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 552 | 553 | levn@~0.3.0: 554 | version "0.3.0" 555 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 556 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 557 | dependencies: 558 | prelude-ls "~1.1.2" 559 | type-check "~0.3.2" 560 | 561 | lodash@^4.17.19: 562 | version "4.17.21" 563 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 564 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 565 | 566 | lru-cache@^6.0.0: 567 | version "6.0.0" 568 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 569 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 570 | dependencies: 571 | yallist "^4.0.0" 572 | 573 | make-error@^1.1.1: 574 | version "1.3.6" 575 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 576 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 577 | 578 | merge2@^1.3.0: 579 | version "1.4.1" 580 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 581 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 582 | 583 | micromatch@^4.0.4: 584 | version "4.0.4" 585 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 586 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 587 | dependencies: 588 | braces "^3.0.1" 589 | picomatch "^2.2.3" 590 | 591 | mimic-response@^2.0.0: 592 | version "2.1.0" 593 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" 594 | integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== 595 | 596 | minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: 597 | version "1.2.5" 598 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 599 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 600 | 601 | mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 602 | version "0.5.3" 603 | resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" 604 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 605 | 606 | ms@2.1.2: 607 | version "2.1.2" 608 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 609 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 610 | 611 | multistream@^4.1.0: 612 | version "4.1.0" 613 | resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" 614 | integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== 615 | dependencies: 616 | once "^1.4.0" 617 | readable-stream "^3.6.0" 618 | 619 | napi-build-utils@^1.0.1: 620 | version "1.0.2" 621 | resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" 622 | integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== 623 | 624 | node-abi@^2.7.0: 625 | version "2.30.1" 626 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" 627 | integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== 628 | dependencies: 629 | semver "^5.4.1" 630 | 631 | node-fetch@^2.6.1: 632 | version "2.6.2" 633 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.2.tgz#986996818b73785e47b1965cc34eb093a1d464d0" 634 | integrity sha512-aLoxToI6RfZ+0NOjmWAgn9+LEd30YCkJKFSyWacNZdEKTit/ZMcKjGkTRo8uWEsnIb/hfKecNPEbln02PdWbcA== 635 | 636 | noop-logger@^0.1.1: 637 | version "0.1.1" 638 | resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" 639 | integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= 640 | 641 | npmlog@^4.0.1: 642 | version "4.1.2" 643 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 644 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 645 | dependencies: 646 | are-we-there-yet "~1.1.2" 647 | console-control-strings "~1.1.0" 648 | gauge "~2.7.3" 649 | set-blocking "~2.0.0" 650 | 651 | number-is-nan@^1.0.0: 652 | version "1.0.1" 653 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 654 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 655 | 656 | object-assign@^4.1.0: 657 | version "4.1.1" 658 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 659 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 660 | 661 | once@^1.3.1, once@^1.4.0: 662 | version "1.4.0" 663 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 664 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 665 | dependencies: 666 | wrappy "1" 667 | 668 | optionator@^0.8.1: 669 | version "0.8.3" 670 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 671 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 672 | dependencies: 673 | deep-is "~0.1.3" 674 | fast-levenshtein "~2.0.6" 675 | levn "~0.3.0" 676 | prelude-ls "~1.1.2" 677 | type-check "~0.3.2" 678 | word-wrap "~1.2.3" 679 | 680 | p-is-promise@^3.0.0: 681 | version "3.0.0" 682 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" 683 | integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== 684 | 685 | path-parse@^1.0.6: 686 | version "1.0.7" 687 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 688 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 689 | 690 | path-type@^4.0.0: 691 | version "4.0.0" 692 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 693 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 694 | 695 | picomatch@^2.2.3: 696 | version "2.3.0" 697 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 698 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 699 | 700 | pkg-fetch@3.2.3: 701 | version "3.2.3" 702 | resolved "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.2.3.tgz#9825febf4eadd470c126d3f6bdc2cb6996861d36" 703 | integrity sha512-bv9vYANgAZ2Lvxn5Dsq7E0rLqzcqYkV4gnwe2f7oHV9N4SVMfDOIjjFCRuuTltop5EmsOcu7XkQpB5A/pIgC1g== 704 | dependencies: 705 | chalk "^4.1.0" 706 | fs-extra "^9.1.0" 707 | https-proxy-agent "^5.0.0" 708 | node-fetch "^2.6.1" 709 | progress "^2.0.3" 710 | semver "^7.3.5" 711 | yargs "^16.2.0" 712 | 713 | pkg@^5.3.2: 714 | version "5.3.2" 715 | resolved "https://registry.yarnpkg.com/pkg/-/pkg-5.3.2.tgz#f86520a83579f38f54684f4f873433b09af65dcb" 716 | integrity sha512-78X8Tt71TI11XjkZm/r9shTdFRooFiiRcT8nfYeeOou5VKCkCysQauwAAkJKb5yjfrUhk3CBNL4zv22/iLpdnw== 717 | dependencies: 718 | "@babel/parser" "7.13.13" 719 | "@babel/types" "7.13.12" 720 | chalk "^4.1.0" 721 | escodegen "^2.0.0" 722 | fs-extra "^9.1.0" 723 | globby "^11.0.3" 724 | into-stream "^6.0.0" 725 | minimist "^1.2.5" 726 | multistream "^4.1.0" 727 | pkg-fetch "3.2.3" 728 | prebuild-install "6.0.1" 729 | progress "^2.0.3" 730 | resolve "^1.20.0" 731 | stream-meter "^1.0.4" 732 | tslib "2.1.0" 733 | 734 | prebuild-install@6.0.1: 735 | version "6.0.1" 736 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.1.tgz#5902172f7a40eb67305b96c2a695db32636ee26d" 737 | integrity sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ== 738 | dependencies: 739 | detect-libc "^1.0.3" 740 | expand-template "^2.0.3" 741 | github-from-package "0.0.0" 742 | minimist "^1.2.3" 743 | mkdirp-classic "^0.5.3" 744 | napi-build-utils "^1.0.1" 745 | node-abi "^2.7.0" 746 | noop-logger "^0.1.1" 747 | npmlog "^4.0.1" 748 | pump "^3.0.0" 749 | rc "^1.2.7" 750 | simple-get "^3.0.3" 751 | tar-fs "^2.0.0" 752 | tunnel-agent "^0.6.0" 753 | which-pm-runs "^1.0.0" 754 | 755 | prelude-ls@~1.1.2: 756 | version "1.1.2" 757 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 758 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 759 | 760 | prettier@^2.4.0: 761 | version "2.4.0" 762 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.0.tgz#85bdfe0f70c3e777cf13a4ffff39713ca6f64cba" 763 | integrity sha512-DsEPLY1dE5HF3BxCRBmD4uYZ+5DCbvatnolqTqcxEgKVZnL2kUfyu7b8pPQ5+hTBkdhU9SLUmK0/pHb07RE4WQ== 764 | 765 | process-nextick-args@~2.0.0: 766 | version "2.0.1" 767 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 768 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 769 | 770 | progress@^2.0.3: 771 | version "2.0.3" 772 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 773 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 774 | 775 | prompts@^2.4.1: 776 | version "2.4.1" 777 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" 778 | integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== 779 | dependencies: 780 | kleur "^3.0.3" 781 | sisteransi "^1.0.5" 782 | 783 | pump@^3.0.0: 784 | version "3.0.0" 785 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 786 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 787 | dependencies: 788 | end-of-stream "^1.1.0" 789 | once "^1.3.1" 790 | 791 | queue-microtask@^1.2.2: 792 | version "1.2.3" 793 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 794 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 795 | 796 | rc@^1.2.7: 797 | version "1.2.8" 798 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 799 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 800 | dependencies: 801 | deep-extend "^0.6.0" 802 | ini "~1.3.0" 803 | minimist "^1.2.0" 804 | strip-json-comments "~2.0.1" 805 | 806 | readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4: 807 | version "2.3.7" 808 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 809 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 810 | dependencies: 811 | core-util-is "~1.0.0" 812 | inherits "~2.0.3" 813 | isarray "~1.0.0" 814 | process-nextick-args "~2.0.0" 815 | safe-buffer "~5.1.1" 816 | string_decoder "~1.1.1" 817 | util-deprecate "~1.0.1" 818 | 819 | readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: 820 | version "3.6.0" 821 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 822 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 823 | dependencies: 824 | inherits "^2.0.3" 825 | string_decoder "^1.1.1" 826 | util-deprecate "^1.0.1" 827 | 828 | require-directory@^2.1.1: 829 | version "2.1.1" 830 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 831 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 832 | 833 | resolve@^1.20.0: 834 | version "1.20.0" 835 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 836 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 837 | dependencies: 838 | is-core-module "^2.2.0" 839 | path-parse "^1.0.6" 840 | 841 | reusify@^1.0.4: 842 | version "1.0.4" 843 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 844 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 845 | 846 | run-parallel@^1.1.9: 847 | version "1.2.0" 848 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 849 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 850 | dependencies: 851 | queue-microtask "^1.2.2" 852 | 853 | safe-buffer@^5.0.1, safe-buffer@~5.2.0: 854 | version "5.2.1" 855 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 856 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 857 | 858 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 859 | version "5.1.2" 860 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 861 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 862 | 863 | semver@^5.4.1: 864 | version "5.7.1" 865 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 866 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 867 | 868 | semver@^7.3.5: 869 | version "7.3.5" 870 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 871 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 872 | dependencies: 873 | lru-cache "^6.0.0" 874 | 875 | set-blocking@~2.0.0: 876 | version "2.0.0" 877 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 878 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 879 | 880 | signal-exit@^3.0.0: 881 | version "3.0.3" 882 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 883 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 884 | 885 | simple-concat@^1.0.0: 886 | version "1.0.1" 887 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" 888 | integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 889 | 890 | simple-get@^3.0.3: 891 | version "3.1.0" 892 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" 893 | integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== 894 | dependencies: 895 | decompress-response "^4.2.0" 896 | once "^1.3.1" 897 | simple-concat "^1.0.0" 898 | 899 | sisteransi@^1.0.5: 900 | version "1.0.5" 901 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 902 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 903 | 904 | slash@^3.0.0: 905 | version "3.0.0" 906 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 907 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 908 | 909 | source-map@~0.6.1: 910 | version "0.6.1" 911 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 912 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 913 | 914 | stream-meter@^1.0.4: 915 | version "1.0.4" 916 | resolved "https://registry.yarnpkg.com/stream-meter/-/stream-meter-1.0.4.tgz#52af95aa5ea760a2491716704dbff90f73afdd1d" 917 | integrity sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0= 918 | dependencies: 919 | readable-stream "^2.1.4" 920 | 921 | string-width@^1.0.1: 922 | version "1.0.2" 923 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 924 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 925 | dependencies: 926 | code-point-at "^1.0.0" 927 | is-fullwidth-code-point "^1.0.0" 928 | strip-ansi "^3.0.0" 929 | 930 | "string-width@^1.0.2 || 2": 931 | version "2.1.1" 932 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 933 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 934 | dependencies: 935 | is-fullwidth-code-point "^2.0.0" 936 | strip-ansi "^4.0.0" 937 | 938 | string-width@^4.1.0, string-width@^4.2.0: 939 | version "4.2.2" 940 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 941 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 942 | dependencies: 943 | emoji-regex "^8.0.0" 944 | is-fullwidth-code-point "^3.0.0" 945 | strip-ansi "^6.0.0" 946 | 947 | string_decoder@^1.1.1: 948 | version "1.3.0" 949 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 950 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 951 | dependencies: 952 | safe-buffer "~5.2.0" 953 | 954 | string_decoder@~1.1.1: 955 | version "1.1.1" 956 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 957 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 958 | dependencies: 959 | safe-buffer "~5.1.0" 960 | 961 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 962 | version "3.0.1" 963 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 964 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 965 | dependencies: 966 | ansi-regex "^2.0.0" 967 | 968 | strip-ansi@^4.0.0: 969 | version "4.0.0" 970 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 971 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 972 | dependencies: 973 | ansi-regex "^3.0.0" 974 | 975 | strip-ansi@^6.0.0: 976 | version "6.0.0" 977 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 978 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 979 | dependencies: 980 | ansi-regex "^5.0.0" 981 | 982 | strip-json-comments@~2.0.1: 983 | version "2.0.1" 984 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 985 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 986 | 987 | supports-color@^7.1.0: 988 | version "7.2.0" 989 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 990 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 991 | dependencies: 992 | has-flag "^4.0.0" 993 | 994 | tar-fs@^2.0.0: 995 | version "2.1.1" 996 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" 997 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 998 | dependencies: 999 | chownr "^1.1.1" 1000 | mkdirp-classic "^0.5.2" 1001 | pump "^3.0.0" 1002 | tar-stream "^2.1.4" 1003 | 1004 | tar-stream@^2.1.4: 1005 | version "2.2.0" 1006 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" 1007 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 1008 | dependencies: 1009 | bl "^4.0.3" 1010 | end-of-stream "^1.4.1" 1011 | fs-constants "^1.0.0" 1012 | inherits "^2.0.3" 1013 | readable-stream "^3.1.1" 1014 | 1015 | to-fast-properties@^2.0.0: 1016 | version "2.0.0" 1017 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1018 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1019 | 1020 | to-regex-range@^5.0.1: 1021 | version "5.0.1" 1022 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1023 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1024 | dependencies: 1025 | is-number "^7.0.0" 1026 | 1027 | ts-node@^10.2.1: 1028 | version "10.2.1" 1029 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5" 1030 | integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw== 1031 | dependencies: 1032 | "@cspotcode/source-map-support" "0.6.1" 1033 | "@tsconfig/node10" "^1.0.7" 1034 | "@tsconfig/node12" "^1.0.7" 1035 | "@tsconfig/node14" "^1.0.0" 1036 | "@tsconfig/node16" "^1.0.2" 1037 | acorn "^8.4.1" 1038 | acorn-walk "^8.1.1" 1039 | arg "^4.1.0" 1040 | create-require "^1.1.0" 1041 | diff "^4.0.1" 1042 | make-error "^1.1.1" 1043 | yn "3.1.1" 1044 | 1045 | tslib@2.1.0: 1046 | version "2.1.0" 1047 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" 1048 | integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== 1049 | 1050 | tunnel-agent@^0.6.0: 1051 | version "0.6.0" 1052 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1053 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1054 | dependencies: 1055 | safe-buffer "^5.0.1" 1056 | 1057 | type-check@~0.3.2: 1058 | version "0.3.2" 1059 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1060 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1061 | dependencies: 1062 | prelude-ls "~1.1.2" 1063 | 1064 | typescript@^4.4.3: 1065 | version "4.4.3" 1066 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" 1067 | integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== 1068 | 1069 | universalify@^2.0.0: 1070 | version "2.0.0" 1071 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 1072 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 1073 | 1074 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1075 | version "1.0.2" 1076 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1077 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1078 | 1079 | which-pm-runs@^1.0.0: 1080 | version "1.0.0" 1081 | resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" 1082 | integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= 1083 | 1084 | wide-align@^1.1.0: 1085 | version "1.1.3" 1086 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1087 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1088 | dependencies: 1089 | string-width "^1.0.2 || 2" 1090 | 1091 | word-wrap@~1.2.3: 1092 | version "1.2.3" 1093 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1094 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1095 | 1096 | wrap-ansi@^7.0.0: 1097 | version "7.0.0" 1098 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1099 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1100 | dependencies: 1101 | ansi-styles "^4.0.0" 1102 | string-width "^4.1.0" 1103 | strip-ansi "^6.0.0" 1104 | 1105 | wrappy@1: 1106 | version "1.0.2" 1107 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1108 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1109 | 1110 | y18n@^5.0.5: 1111 | version "5.0.8" 1112 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1113 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1114 | 1115 | yallist@^4.0.0: 1116 | version "4.0.0" 1117 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1118 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1119 | 1120 | yargs-parser@^20.2.2: 1121 | version "20.2.9" 1122 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1123 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1124 | 1125 | yargs@^16.2.0: 1126 | version "16.2.0" 1127 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1128 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1129 | dependencies: 1130 | cliui "^7.0.2" 1131 | escalade "^3.1.1" 1132 | get-caller-file "^2.0.5" 1133 | require-directory "^2.1.1" 1134 | string-width "^4.2.0" 1135 | y18n "^5.0.5" 1136 | yargs-parser "^20.2.2" 1137 | 1138 | yn@3.1.1: 1139 | version "3.1.1" 1140 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 1141 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1142 | --------------------------------------------------------------------------------