├── .gitignore ├── test ├── .DS_Store ├── master.xls ├── master.xlsx ├── worksheet_test.js └── parse_test.js ├── .jshintrc ├── Gruntfile.js ├── LICENSE-MIT ├── package.json ├── excelParser.js ├── README.md ├── utils.js ├── convert.py └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /test/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leftshifters/excel-parser/HEAD/test/.DS_Store -------------------------------------------------------------------------------- /test/master.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leftshifters/excel-parser/HEAD/test/master.xls -------------------------------------------------------------------------------- /test/master.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leftshifters/excel-parser/HEAD/test/master.xlsx -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "curly": true, 3 | "eqeqeq": true, 4 | "immed": true, 5 | "latedef": true, 6 | "newcap": true, 7 | "noarg": true, 8 | "sub": true, 9 | "undef": true, 10 | "unused": true, 11 | "boss": true, 12 | "eqnull": true, 13 | "node": true, 14 | "es5": true 15 | } -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function(grunt) { 4 | //Project configuration 5 | grunt.initConfig({ 6 | jshint: { 7 | all: [ 8 | 'Gruntfile.js', 9 | '<%= nodeunit.tests %>' 10 | ], 11 | options: { 12 | jshintrc: '.jshintrc' 13 | } 14 | }, 15 | 16 | // Watch 17 | watch: { 18 | all: { 19 | files: ['<%= jshint.all %>'], 20 | tasks: ['jshint', 'nodeunit'] 21 | } 22 | }, 23 | 24 | // Unit test 25 | nodeunit: { 26 | tests: ['test/**/*_test.js'] 27 | } 28 | }); 29 | 30 | //These plugins provide necessary tasks. 31 | grunt.loadNpmTasks('grunt-contrib-jshint'); 32 | grunt.loadNpmTasks('grunt-contrib-nodeunit'); 33 | grunt.loadNpmTasks('grunt-contrib-internal'); 34 | 35 | // run all test 36 | grunt.registerTask('default', ['jshint', 'nodeunit']); 37 | 38 | }; -------------------------------------------------------------------------------- /test/worksheet_test.js: -------------------------------------------------------------------------------- 1 | 'user strict'; 2 | var excelParser = require('../excelParser.js'), 3 | worksheets = {}; 4 | 5 | worksheets.fromXls = function(test) { 6 | test.expect(4); 7 | excelParser.worksheets({inFile: __dirname + '/master.xls'}, function(err, worksheets){ 8 | test.ok(worksheets, "Found all the worksheets"); 9 | var s1 = worksheets[0].name; 10 | var i2 = worksheets[1].id; 11 | test.strictEqual(s1, 'Sheet1', 'string', "Should be string type."); 12 | test.strictEqual(i2, 2, 'number', "Should be number."); 13 | test.ifError(err); 14 | test.done(); 15 | }); 16 | }; 17 | 18 | worksheets.fromXlsx = function(test) { 19 | test.expect(4); 20 | excelParser.worksheets({inFile: __dirname + '/master.xlsx'}, function(err, worksheets){ 21 | test.ok(worksheets, "Found all the worksheets"); 22 | var s1 = worksheets[0].name; 23 | var i2 = worksheets[1].id; 24 | test.strictEqual(s1, 'Sheet1', 'string', "Should be string type."); 25 | test.strictEqual(i2, 2, 'number', "Should be number."); 26 | test.ifError(err); 27 | test.done(); 28 | }); 29 | }; 30 | exports.worksheets = worksheets; -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Shekhar Thawali 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "excel-parser", 3 | "version": "0.2.2", 4 | "description": "node.js excel parser. Supports xlsx, xls", 5 | "homepage": "https://github.com/vxtindia/excel-parser", 6 | "main": "excelParser.js", 7 | "scripts": { 8 | "test": "grunt nodeunit" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/vxtindia/excel-parser.git" 13 | }, 14 | "bugs": { 15 | "url": "https://github.com/vxtindia/excel-parser/issues" 16 | }, 17 | "keywords": [ 18 | "excel", 19 | "spreadsheet", 20 | "xls", 21 | "xlsx" 22 | ], 23 | "author": { 24 | "name": "Shekhar R. Thawali", 25 | "email": "shekhar.thawali@vxtindia.com" 26 | }, 27 | "licenses": [ 28 | { 29 | "type": "MIT", 30 | "url": "https://github.com/vxtindia/datlas/blob/master/LICENSE-MIT" 31 | } 32 | ], 33 | "engines": { 34 | "node": "~17.3.1" 35 | }, 36 | "dependencies": { 37 | "async": "~3.2.3", 38 | "temp": "~0.9.4", 39 | "underscore": "~1.13.2" 40 | }, 41 | "devDependencies": { 42 | "grunt": "~1.4.1", 43 | "grunt-contrib-internal": "~7.0.0", 44 | "grunt-contrib-jshint": "~3.1.1", 45 | "grunt-contrib-nodeunit": "~4.0.0", 46 | "grunt-contrib-watch": "~1.1.0" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /excelParser.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'), 2 | async = require('async'), 3 | fs = require('fs'), 4 | path = require('path'), 5 | utils = require('./utils').utils, 6 | excelParser = {}; 7 | 8 | excelParser.worksheets = function(options, cb) { 9 | var worksheets, cb = cb && typeof(cb) === "function" ? cb : null, args = []; 10 | if(!cb) throw new Error("worksheets will required two arguments. worksheets(options, callback)") 11 | else if(!options || typeof(options) !== 'object') return cb("Invalid arguments."); 12 | else if(!options.inFile) return cb("File is missing in arguments"); 13 | 14 | fs.exists(options.inFile, function(exists) { 15 | if(!exists) return cb("File not found"); 16 | args = ['-x', '"'+path.relative(__dirname, options.inFile)+'"', '-W']; 17 | utils.execute(args, function(err, stdout) { 18 | if(err) return cb(err); 19 | worksheets = _.compact(stdout.split(/\n/)); 20 | if(worksheets) return cb(null, JSON.parse(worksheets)); 21 | else return cb(new Error("Not found any worksheet in given spreadsheet")); 22 | }); 23 | }); 24 | }; 25 | 26 | excelParser.parse = function(options, cb) { 27 | var args = [], _this = this; 28 | if(!cb) throw new Error("worksheets will required two arguments. worksheets(options, callback)"); 29 | else if(!options || typeof(options) !== 'object') return cb("Invalid arguments."); 30 | else if(!options.inFile) return cb("File is missing in arguments"); 31 | fs.exists(options.inFile, function(exists) { 32 | if(!exists) return cb("File not found"); 33 | args = ['-x', '"'+path.relative(__dirname, options.inFile)+'"']; 34 | if(!options.worksheet) { 35 | var records = []; 36 | _this.worksheets(options, function(err, worksheets) { 37 | if(err) return cb(err); 38 | async.series(_.map(worksheets, function(worksheet) { 39 | return function(rcb) { 40 | args.push('-n', worksheet.id); 41 | utils.pickRecords(args, options, function(err, parsed) { 42 | if(err) return cb(err); 43 | records.push(parsed); 44 | rcb(null); 45 | }); 46 | } 47 | }), function(err, parsed) { 48 | if(err) return cb(err); 49 | cb(null, records); 50 | }); 51 | }); 52 | } else { 53 | if(typeof(options.worksheet) === 'number') { 54 | args.push('-n', options.worksheet); 55 | } else if(typeof(options.worksheet) === 'string') { 56 | args.push('-w', '"'+ options.worksheet.trim() + '"'); 57 | } else { 58 | return callback(new Error('"worksheet" should be string or intiger')); 59 | } 60 | utils.pickRecords(args, options, function(err, parsed) { 61 | if(err) return cb(err); 62 | cb(null, parsed); 63 | }); 64 | } 65 | }); 66 | }; 67 | module.exports = excelParser; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # excel-parser 2 | 3 | [node](http://nodejs.org/) wrapper for parsing spreadsheets. Supports xls, xlsx. 4 | 5 | You can install this module using [npm](http://github.com/isaacs/npm): 6 | 7 | npm install excel-parser 8 | 9 | Requires [python](http://www.python.org/) to be installed. Python modules are also required: `argparse` and `xlrd` 10 | To install them: 11 | ``` 12 | pip install argparse 13 | pip install xlrd 14 | ``` 15 | 16 | For system-specific installation view the [Wiki](https://github.com/vxtindia/excel-parser/wiki) 17 | 18 | ## API 19 | 20 | 21 | ### worksheets(options, callback(err, worksheets)) 22 | 23 | Get all the worksheets list in given spreadsheet where options are the object of arguments. The result is returned as a object. 24 | 25 | __Arguments__ 26 | 27 | * inFile - Filepath of the source speadsheet 28 | 29 | __Example__ 30 | 31 | ```js 32 | var excelParser = require('excel-parser'); 33 | excelParser.worksheets({ 34 | inFile: 'my_file.in' 35 | }, function(err, worksheets){ 36 | if(err) console.error(err); 37 | console.log(worksheets); 38 | }); 39 | ``` 40 | __Sample output__ 41 | 42 | ```json 43 | [ 44 | {'name': 'Sheet1', id: 1}, 45 | {'name': 'Sheet2', id: 2} 46 | ] 47 | ``` 48 | --------------------------------------- 49 | 50 | ### parse(options, callback(err, records)) 51 | 52 | Parse spreadsheet with given optinos as an arguments. The result is returned as an array. 53 | 54 | __Arguments__ 55 | 56 | * inFile - Filepath of the source speadsheet 57 | * worksheet - Worksheet name or Id to parse. If nothing specified then default 58 | is 0 and parsed all the worksheets. 59 | * skipEmpty - boolean `true` or `false`. Pass true if want to skip empty cells from spreadsheet. 60 | * searchFor - Object with `term` and `type` values. If you want to get limited 61 | matching rows from spreadsheet then add the matching string array and one of the following search type. 62 | ** 'strict' is for the case sensetive and exact string matched. 63 | ** 'loose' is for the case insensetive and match relatively. 64 | 65 | __Example__ 66 | 67 | ```javascript 68 | var excelParser = require('excel-parser'); 69 | 70 | excelParser.parse({ 71 | inFile: 'my_file.in', 72 | worksheet: 1, 73 | skipEmpty: true, 74 | searchFor: { 75 | term: ['my serach term'], 76 | type: 'loose' 77 | } 78 | },function(err, records){ 79 | if(err) console.error(err); 80 | console.log(records); 81 | }); 82 | ``` 83 | __Sample output__ 84 | 85 | ```json 86 | [ 87 | ['ID', 'Name', 'City'], 88 | ['1', 'joe', 'Sandy Springs'], 89 | ['1', 'cole', 'City of Industry'] 90 | ] 91 | ``` 92 | 93 | ## Running Tests 94 | 95 | There are unit tests in `test/` directory. To run test suite first run the following command to install dependencies. 96 | 97 | npm install 98 | 99 | then run the tests: 100 | 101 | grunt nodeunit 102 | 103 | NOTE: Install `npm install -g grunt-cli` for running tests. 104 | 105 | ## License 106 | 107 | Copyright (c) 2013 Shekhar R. Thawali 108 | 109 | Licensed under the MIT license. 110 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'), 2 | async = require('async'), 3 | exec = require('child_process').exec, 4 | fs = require('fs'), 5 | path = require('path'), 6 | temp = require('temp'), 7 | utils = {}, 8 | _this = this; 9 | 10 | var _CRCsv = function(args, cb) { 11 | temp.mkdir('temp', function(err, dirPath) { 12 | if(err) return cb(err); 13 | csvFile = path.join(dirPath, 'convert.csv'); 14 | args.push('-c', csvFile); 15 | utils.execute(args, function(err, stdout) { 16 | if(err) return cb(err); 17 | fs.readFile(csvFile, 'utf-8', function(err, csv_data) { 18 | if(err) return cb(err); 19 | cb(null, csv_data); 20 | }); 21 | }); 22 | }); 23 | }; 24 | 25 | var _parseCSV = function(csv_data, cb) { 26 | if(!csv_data) return cb(null, []); 27 | var pattern = /(\,|\r?\n|\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\,\r\n]*))/gi, 28 | data = [[]], 29 | matched = [], 30 | strMatchedValue; 31 | 32 | while(matched = pattern.exec(csv_data)) { 33 | var strMatchedDelimiter = matched[1]; 34 | if ( 35 | strMatchedDelimiter.length && 36 | (strMatchedDelimiter != ",") && 37 | !_.isEmpty(data[data.length-1]) 38 | ) { 39 | data.push([]); 40 | } 41 | 42 | if(matched[2]) strMatchedValue = matched[2].replace(/""/g, "\""); 43 | else strMatchedValue = matched[3]; 44 | 45 | data[data.length-1].push(strMatchedValue); 46 | } 47 | 48 | if(data[data.length-1].length === 1) 49 | data.splice(data.length-1, 1); 50 | 51 | cb(null, data); 52 | }; 53 | 54 | var _skipEmpty = function(records, options, cb) { 55 | if(_.isEmpty(records)) return cb(null, []); 56 | 57 | var skipEmpty = false; 58 | if(options.skipEmpty && typeof(options.skipEmpty) === 'boolean') 59 | skipEmpty = options.skipEmpty; 60 | 61 | if(skipEmpty) return cb(null, _.map(records, function(record){return _.compact(record)})); 62 | else return cb(null, records); 63 | }; 64 | 65 | var _searchInArray = function(records, options, cb) { 66 | if(_.isEmpty(records)) return cb(null, []); 67 | var term, s = "strict", searchType = l = "loose", searchPattern, searched=[]; 68 | if(!options.searchFor) return cb(null, records); 69 | if(!options.searchFor.term && options.searchFor.term !== 'object') 70 | return cb(null, records); 71 | term = _.map(options.searchFor.term, function(t) { 72 | return t.replace(/\//g, ''); 73 | }); 74 | 75 | if( 76 | options.searchFor.type && 77 | ( 78 | options.searchFor.type.trim() === l || 79 | options.searchFor.type.trim() === s 80 | ) 81 | ) searchType = options.searchFor.type; 82 | 83 | if(searchType === s) { 84 | searchPattern = _.map(term, function(s) { return "\\b" + s + "\\b"; }); 85 | searchPattern = new RegExp('(' + searchPattern.join('|') + ')', "g"); 86 | } else searchPattern = new RegExp('(' + term.join('|') + ')', "gi"); 87 | 88 | for(var i=0, len=records.length; i< len; ++i) { 89 | var strRow = records[i].join(' ').replace(/\//g, ''); 90 | searchPattern.lastIndex = 0; 91 | if(searchPattern.test(strRow)) searched.push(records[i]); 92 | } 93 | cb(null, searched); 94 | }; 95 | 96 | utils.execute = function(args, cb) { 97 | var cmd = ["python", __dirname + "/convert.py"]; 98 | cmd = cmd.concat(args); 99 | exec( 100 | cmd.join(' '), 101 | {cwd: __dirname}, 102 | function(err, stdout, stderr) { 103 | if(err || stderr) return cb(err.toString() + stderr.toString()); 104 | cb(null, stdout); 105 | } 106 | ); 107 | }; 108 | 109 | utils.pickRecords = function(args, options, cb) { 110 | var csvFile; 111 | async.waterfall([ 112 | function(cb){ _CRCsv(args, cb) }, 113 | function(csv_data, cb){ _parseCSV(csv_data, cb) }, 114 | function(parsedArray, cb) { _skipEmpty(parsedArray, options, cb) }, 115 | function(parsedArray, cb) { _searchInArray(parsedArray, options, cb) } 116 | ], function(err, parsed) { 117 | if(err) return cb(err); 118 | cb(null, parsed); 119 | }); 120 | }; 121 | 122 | exports.utils = utils; -------------------------------------------------------------------------------- /test/parse_test.js: -------------------------------------------------------------------------------- 1 | 'user strict'; 2 | 3 | var excelParser = require('../excelParser.js'), 4 | parser = {}; 5 | 6 | parser.parse_10000_xls = function(test) { 7 | test.expect(4); 8 | excelParser.parse({ 9 | inFile: __dirname + '/master.xls', 10 | worksheet: 1 11 | }, function(err, results) { 12 | var len = results.length, 13 | r1 = results[0][0], 14 | r10000 = results[results.length-1][0]; 15 | 16 | test.strictEqual(len, 10000, 'number', 'Should be number'); 17 | test.strictEqual(r1, 'Name', 'string', 'Should be string'); 18 | test.strictEqual(r10000, 'Airhole', 'string', 'Should be string'); 19 | test.ifError(err); 20 | test.done(); 21 | }); 22 | }; 23 | 24 | parser.parse_10000_xlsx = function(test) { 25 | test.expect(4); 26 | excelParser.parse({ 27 | inFile: __dirname + '/master.xlsx', 28 | worksheet: 1 29 | }, function(err, results) { 30 | var len = results.length, 31 | r1 = results[0][0], 32 | r10000 = results[results.length-1][0]; 33 | 34 | test.strictEqual(len, 10000, 'number', 'Should be number'); 35 | test.strictEqual(r1, 'Name', 'string', 'Should be string'); 36 | test.strictEqual(r10000, 'Airhole', 'string', 'Should be string'); 37 | test.ifError(err); 38 | test.done(); 39 | }); 40 | }; 41 | 42 | parser.searchLooseWithXls = function(test) { 43 | test.expect(4); 44 | excelParser.parse({ 45 | inFile: __dirname + '/master.xls', 46 | worksheet: 1, 47 | searchFor: { 48 | term: ["baker"], 49 | type: "loose" 50 | } 51 | }, function(err, records) { 52 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 53 | var a = records.length; 54 | var e = records[0][0]; 55 | test.strictEqual(a, 1699, 'number', "Found 3 records"); 56 | test.strictEqual(e, 'Baker', 'string', 'Found it'); 57 | test.ifError(err); 58 | test.done(); 59 | }); 60 | }; 61 | 62 | parser.searchLooseWithXlsx = function(test) { 63 | test.expect(4); 64 | excelParser.parse({ 65 | inFile: __dirname + '/master.xlsx', 66 | worksheet: 1, 67 | searchFor: { 68 | term: ["baker"], 69 | type: "loose" 70 | } 71 | }, function(err, records) { 72 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 73 | var a = records.length; 74 | var e = records[0][0]; 75 | test.strictEqual(a, 1699, 'number', "Found 3 records"); 76 | test.strictEqual(e, 'Baker', 'string', 'Found it'); 77 | test.ifError(err); 78 | test.done(); 79 | }); 80 | }; 81 | 82 | parser.searchStrictWithXls = function(test) { 83 | test.expect(4); 84 | excelParser.parse({ 85 | inFile: __dirname + '/master.xls', 86 | worksheet: 1, 87 | searchFor: { 88 | term: ["Denim"], 89 | type: "strict" 90 | } 91 | }, function(err, records) { 92 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 93 | var a = records.length; 94 | var e = records[0][0]; 95 | test.strictEqual(a, 1710, 'number', "Found 3 records"); 96 | test.strictEqual(e, 'Denim', 'string', 'Found it'); 97 | test.ifError(err); 98 | test.done(); 99 | }); 100 | }; 101 | 102 | parser.searchStrictWithXlsx = function(test) { 103 | test.expect(4); 104 | excelParser.parse({ 105 | inFile: __dirname + '/master.xlsx', 106 | worksheet: 1, 107 | searchFor: { 108 | term: ["Denim"], 109 | type: "strict" 110 | } 111 | }, function(err, records) { 112 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 113 | var a = records.length; 114 | var e = records[0][0]; 115 | test.strictEqual(a, 1710, 'number', "Found 3 records"); 116 | test.strictEqual(e, 'Denim', 'string', 'Found it'); 117 | test.ifError(err); 118 | test.done(); 119 | }); 120 | }; 121 | 122 | parser.skipEmptyForXls = function(test) { 123 | test.expect(4); 124 | excelParser.parse({ 125 | inFile: __dirname + '/master.xls', 126 | worksheet: 1, 127 | skipEmpty: true 128 | }, function(err, records) { 129 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 130 | var a = records.length; 131 | var e = records[9][1]; 132 | test.strictEqual(a, 10000, 'number', "Found 10000 records"); 133 | test.strictEqual(e, 'Test product description', 'string', 'Found it'); 134 | test.ifError(err); 135 | test.done(); 136 | }); 137 | } 138 | 139 | parser.skipEmptyForXlsx = function(test) { 140 | test.expect(4); 141 | excelParser.parse({ 142 | inFile: __dirname + '/master.xlsx', 143 | worksheet: 1, 144 | skipEmpty: true 145 | }, function(err, records) { 146 | test.ok(records, "Successfully parsed all worksheets from multi_worksheets.xls"); 147 | var a = records.length; 148 | var e = records[10][0]; 149 | test.strictEqual(a, 10000, 'number', "Found 10000 records"); 150 | test.strictEqual(e, '1803', 'string', 'Found it'); 151 | test.ifError(err); 152 | test.done(); 153 | }); 154 | } 155 | 156 | parser.emptyWorksheetForXls = function(test) { 157 | test.expect(2); 158 | excelParser.parse({ 159 | inFile: __dirname + '/master.xls', 160 | worksheet: 2 161 | }, function(err, records) { 162 | var a = records.length; 163 | test.strictEqual(a, 0, 'number', "Found 0 records"); 164 | test.ifError(err); 165 | test.done(); 166 | }); 167 | } 168 | 169 | parser.emptyWorksheetForXlsx = function(test) { 170 | test.expect(2); 171 | excelParser.parse({ 172 | inFile: __dirname + '/master.xlsx', 173 | worksheet: 2 174 | }, function(err, records) { 175 | var a = records.length; 176 | test.strictEqual(a, 0, 'number', "Found 0 records"); 177 | test.ifError(err); 178 | test.done(); 179 | }); 180 | } 181 | 182 | exports.parser = parser; -------------------------------------------------------------------------------- /convert.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # =================================================== 4 | # THIS SOFTWARE IS BUILD TO WORK BEST WITH THE 5 | # "excel-parser" NODE PACKAGE. 6 | # =================================================== 7 | 8 | __author__ = "Shekhar R. Thawali " 9 | __version__ = "0.1.2" 10 | __license__ = "GPL-2+" 11 | 12 | import csv, datetime, zipfile, sys 13 | import codecs, cStringIO, os, json 14 | import xml.parsers.expat 15 | from xml.dom import minidom 16 | 17 | try: 18 | from argparse import ArgumentParser 19 | except ImportError: 20 | print("\n******************************************************************") 21 | print(" argparse is required to run this script.") 22 | print(" It is available here: https://pypi.python.org/pypi/argparse") 23 | print("****************************************************************\n") 24 | sys.exit(1) 25 | try: 26 | import xlrd 27 | except ImportError: 28 | print("\n******************************************************************") 29 | print(" xlrd is required to run this script.") 30 | print(" It is available here: http://pypi.python.org/pypi/xlrd") 31 | print("****************************************************************\n") 32 | sys.exit(1) 33 | 34 | FORMATS = { 35 | 'general' : 'float', 36 | '0' : 'float', 37 | '0.00' : 'float', 38 | '#,##0' : 'float', 39 | '#,##0.00' : 'float', 40 | '0%' : 'percentage', 41 | '0.00%' : 'percentage', 42 | '0.00e+00' : 'float', 43 | 'mm-dd-yy' : 'date', 44 | 'd-mmm-yy' : 'date', 45 | 'd-mmm' : 'date', 46 | 'mmm-yy' : 'date', 47 | 'h:mm am/pm' : 'date', 48 | 'h:mm:ss am/pm' : 'date', 49 | 'h:mm' : 'time', 50 | 'h:mm:ss' : 'time', 51 | 'm/d/yy h:mm' : 'date', 52 | '#,##0 ;(#,##0)' : 'float', 53 | '#,##0 ;[red](#,##0)' : 'float', 54 | '#,##0.00;(#,##0.00)' : 'float', 55 | '#,##0.00;[red](#,##0.00)' : 'float', 56 | 'mm:ss' : 'time', 57 | '[h]:mm:ss' : 'time', 58 | 'mmss.0' : 'time', 59 | '##0.0e+0' : 'float', 60 | '@' : 'float', 61 | 'yyyy\\-mm\\-dd' : 'date', 62 | 'dd/mm/yy' : 'date', 63 | 'hh:mm:ss' : 'time', 64 | "dd/mm/yy\\ hh:mm" : 'date', 65 | 'dd/mm/yyyy hh:mm:ss' : 'date', 66 | 'yy-mm-dd' : 'date', 67 | 'd-mmm-yyyy' : 'date', 68 | 'm/d/yy' : 'date', 69 | 'm/d/yyyy' : 'date', 70 | 'dd-mmm-yyyy' : 'date', 71 | 'dd/mm/yyyy' : 'date', 72 | 'mm/dd/yy hh:mm am/pm' : 'date', 73 | 'mm/dd/yyyy hh:mm:ss' : 'date', 74 | 'yyyy-mm-dd hh:mm:ss' : 'date', 75 | } 76 | 77 | STANDARD_FORMATS = { 78 | 0 : 'general', 79 | 1 : '0', 80 | 2 : '0.00', 81 | 3 : '#,##0', 82 | 4 : '#,##0.00', 83 | 9 : '0%', 84 | 10 : '0.00%', 85 | 11 : '0.00e+00', 86 | 12 : '# ?/?', 87 | 13 : '# ??/??', 88 | 14 : 'mm-dd-yy', 89 | 15 : 'd-mmm-yy', 90 | 16 : 'd-mmm', 91 | 17 : 'mmm-yy', 92 | 18 : 'h:mm am/pm', 93 | 19 : 'h:mm:ss am/pm', 94 | 20 : 'h:mm', 95 | 21 : 'h:mm:ss', 96 | 22 : 'm/d/yy h:mm', 97 | 37 : '#,##0 ;(#,##0)', 98 | 38 : '#,##0 ;[red](#,##0)', 99 | 39 : '#,##0.00;(#,##0.00)', 100 | 40 : '#,##0.00;[red](#,##0.00)', 101 | 45 : 'mm:ss', 102 | 46 : '[h]:mm:ss', 103 | 47 : 'mmss.0', 104 | 48 : '##0.0e+0', 105 | 49 : '@', 106 | } 107 | 108 | def convert2csv(inFile, outFile, sheetFlag, sheetId=0, sheetName=None): 109 | fileName, fileExtension = os.path.splitext(inFile) 110 | if fileExtension == '.xls': 111 | writer = csv.writer(outFile, quoting=csv.QUOTE_MINIMAL, delimiter=',', dialect="excel") 112 | workbook = xlrd.open_workbook(filename=inFile) 113 | convertXls(workbook, sheetFlag, sheetId, sheetName, writer) 114 | elif fileExtension == '.xlsx': 115 | writer = csv.writer(outFile, quoting=csv.QUOTE_MINIMAL, delimiter=',') 116 | ziphandle = zipfile.ZipFile(inFile) 117 | convertXlsx(ziphandle, sheetFlag, sheetId, sheetName, writer) 118 | else: 119 | print Exception("Invalid file format") 120 | sys.exit(1) 121 | 122 | def convertXlsx(ziphandle, sheetFlag, sheetId, sheetName, writer): 123 | shared_strings = parse(ziphandle, SharedStrings, "xl/sharedStrings.xml") 124 | styles = parse(ziphandle, Styles, "xl/styles.xml") 125 | workbook = parse(ziphandle, Workbook, "xl/workbook.xml") 126 | 127 | try: 128 | shared_strings = parse(ziphandle, SharedStrings, "xl/sharedStrings.xml") 129 | styles = parse(ziphandle, Styles, "xl/styles.xml") 130 | workbook = parse(ziphandle, Workbook, "xl/workbook.xml") 131 | 132 | if sheetFlag: 133 | print json.JSONEncoder().encode(workbook.sheets) 134 | elif sheetId > 0 or sheetName != None: 135 | if sheetId > 0: 136 | field = 'id' 137 | value = sheetId 138 | elif sheetName != None: 139 | field = 'name' 140 | value = sheetName 141 | else: 142 | print Exception("Wrong selection") 143 | sys.exit(1) 144 | 145 | wSheet = None 146 | for sheet in workbook.sheets: 147 | if sheet[field] == value: 148 | wSheet = Sheet(workbook, shared_strings, styles, ziphandle.read("xl/worksheets/sheet%i.xml" %sheet['id'])) 149 | break 150 | if not wSheet: 151 | print Exception("Sheet %s not found" %value) 152 | sys.exit(1) 153 | wSheet.to_csv(writer) 154 | else: 155 | for sheet in workbook.sheets: 156 | wSheet = Sheet(workbook, shared_strings, styles, ziphandle.read("xl/worksheets/sheet%i.xml" %sheet['id'])) 157 | wSheet.to_csv(writer) 158 | finally: 159 | ziphandle.close() 160 | 161 | def convertXls(workbook, sheetFlag, sheetId, sheetName, writer): 162 | worksheets = [] 163 | sheetnames = workbook.sheet_names() 164 | wSheet = None 165 | 166 | if sheetFlag: 167 | for index, sheet in enumerate(sheetnames): 168 | worksheets.append({"name": sheet, "id": index+1}) 169 | print json.JSONEncoder().encode(worksheets) 170 | elif sheetId > 0 or sheetName != None: 171 | if sheetId > 0: 172 | sheetId = sheetId-1 173 | try: 174 | wSheet = workbook.sheet_by_index(sheetId) 175 | except Exception as ex: 176 | print Exception("Sheet %s not found" %sheetId) 177 | elif sheetName != None: 178 | try: 179 | wSheet = workbook.sheet_by_name(sheetName) 180 | except Exception as ex: 181 | print Exception("Sheet '%s' not found" %sheetName) 182 | 183 | if not wSheet: 184 | print Exception("Sheet %s not found" %sheetName) 185 | sys.exit(1) 186 | 187 | wSheet = XSheet(wSheet, writer) 188 | wSheet.to_csv() 189 | else: 190 | for sheet in sheetnames: 191 | wSheet = workbook.sheet_by_name(sheet) 192 | wSheet = XSheet(wSheet, writer) 193 | wSheet.to_csv() 194 | 195 | def parse(ziphandle, klass, filename): 196 | instance = klass() 197 | if filename in ziphandle.namelist(): 198 | instance.parse(ziphandle.read(filename)) 199 | return instance 200 | 201 | class Workbook: 202 | def __init__(self): 203 | self.sheets = [] 204 | self.date1904 = False 205 | 206 | def parse(self, data): 207 | workbookDoc = minidom.parseString(data) 208 | if len(workbookDoc.firstChild.getElementsByTagName("fileVersion")) == 0: 209 | self.appName = 'unknown' 210 | else: 211 | self.appName = workbookDoc.firstChild.getElementsByTagName("fileVersion")[0]._attrs['appName'].value 212 | try: 213 | self.date1904 = workbookDoc.firstChild.getElementsByTagName("workbookPr")[0]._attrs['date1904'].value.lower().strip() != "false" 214 | except Exception as ex: 215 | pass 216 | 217 | sheets = workbookDoc.firstChild.getElementsByTagName("sheets")[0] 218 | for sheetNode in sheets.getElementsByTagName("sheet"): 219 | attrs = sheetNode._attrs 220 | name = attrs["name"].value 221 | if self.appName == 'xl': 222 | if attrs.has_key('r:id'): id = int(attrs["r:id"].value[3:]) 223 | else: id = int(attrs['sheetId'].value) 224 | else: 225 | if attrs.has_key('sheetId'): id = int(attrs["sheetId"].value) 226 | else: id = int(attrs['r:id'].value[3:]) 227 | self.sheets.append({'name': name, 'id': id}) 228 | 229 | class Styles: 230 | def __init__(self): 231 | self.numFmts = {} 232 | self.cellXfs = [] 233 | 234 | def parse(self, data): 235 | styles = minidom.parseString(data).firstChild 236 | # numFmts 237 | numFmtsElement = styles.getElementsByTagName("numFmts") 238 | if len(numFmtsElement) == 1: 239 | for numFmt in numFmtsElement[0].childNodes: 240 | numFmtId = int(numFmt._attrs['numFmtId'].value) 241 | formatCode = numFmt._attrs['formatCode'].value.lower().replace('\\', '') 242 | self.numFmts[numFmtId] = formatCode 243 | # cellXfs 244 | cellXfsElement = styles.getElementsByTagName("cellXfs") 245 | if len(cellXfsElement) == 1: 246 | for cellXfs in cellXfsElement[0].childNodes: 247 | if (cellXfs.nodeName != "xf"): 248 | continue 249 | numFmtId = int(cellXfs._attrs['numFmtId'].value) 250 | self.cellXfs.append(numFmtId) 251 | 252 | class SharedStrings: 253 | def __init__(self): 254 | self.parser = None 255 | self.strings = [] 256 | self.si = False 257 | self.t = False 258 | self.rPh = False 259 | self.value = "" 260 | 261 | def parse(self, data): 262 | self.parser = xml.parsers.expat.ParserCreate() 263 | self.parser.CharacterDataHandler = self.handleCharData 264 | self.parser.StartElementHandler = self.handleStartElement 265 | self.parser.EndElementHandler = self.handleEndElement 266 | self.parser.Parse(data) 267 | 268 | def handleCharData(self, data): 269 | if self.t: 270 | self.value+= data 271 | 272 | def handleStartElement(self, name, attrs): 273 | if name == 'si': 274 | self.si = True 275 | self.value = "" 276 | elif name == 't' and self.rPh: 277 | self.t = False 278 | elif name == 't' and self.si: 279 | self.t = True 280 | elif name == 'rPh': 281 | self.rPh = True 282 | 283 | def handleEndElement(self, name): 284 | if name == 'si': 285 | self.si = False 286 | self.strings.append(self.value) 287 | elif name == 't': 288 | self.t = False 289 | elif name == 'rPh': 290 | self.rPh = False 291 | 292 | class Sheet: 293 | def __init__(self, workbook, sharedString, styles, data): 294 | self.parser = None 295 | self.writer = None 296 | self.sharedString = None 297 | self.styles = None 298 | 299 | self.in_sheet = False 300 | self.in_row = False 301 | self.in_cell = False 302 | self.in_cell_value = False 303 | self.in_cell_formula = False 304 | 305 | self.columns = {} 306 | self.rowNum = None 307 | self.colType = None 308 | self.s_attr = None 309 | self.data = None 310 | 311 | self.dateformat = None 312 | self.skip_empty_lines = True 313 | 314 | self.data = data 315 | self.workbook = workbook 316 | self.sharedStrings = sharedString.strings 317 | self.styles = styles 318 | 319 | def to_csv(self, writer): 320 | self.writer = writer 321 | self.parser = xml.parsers.expat.ParserCreate() 322 | self.parser.CharacterDataHandler = self.handleCharData 323 | self.parser.StartElementHandler = self.handleStartElement 324 | self.parser.EndElementHandler = self.handleEndElement 325 | self.parser.Parse(self.data) 326 | 327 | def handleCharData(self, data): 328 | if self.in_cell_value: 329 | self.data = data # default value 330 | if self.colType == "s": # shared string 331 | self.data = self.sharedStrings[int(data)] 332 | elif self.colType == "b": # boolean 333 | self.data = (int(data) == 1 and "TRUE") or (int(data) == 0 and "FALSE") or data 334 | elif self.s_attr: 335 | s = int(self.s_attr) 336 | 337 | # get cell format 338 | format = None 339 | xfs_numfmt = self.styles.cellXfs[s] 340 | if self.styles.numFmts.has_key(xfs_numfmt): 341 | format = self.styles.numFmts[xfs_numfmt] 342 | elif STANDARD_FORMATS.has_key(xfs_numfmt): 343 | format = STANDARD_FORMATS[xfs_numfmt] 344 | # get format type 345 | if format and FORMATS.has_key(format): 346 | format_type = FORMATS[format] 347 | 348 | if format_type == 'date': # date/time 349 | try: 350 | if self.workbook.date1904: 351 | date = datetime.datetime(1904, 01, 01) + datetime.timedelta(float(data)) 352 | else: 353 | date = datetime.datetime(1899, 12, 30) + datetime.timedelta(float(data)) 354 | if self.dateformat: 355 | # str(dateformat) - python2.5 bug, see: http://bugs.python.org/issue2782 356 | self.data = date.strftime(str(self.dateformat)) 357 | else: 358 | dateformat = format.replace("yyyy", "%Y").replace("yy", "%y"). \ 359 | replace("hh:mm", "%H:%M").replace("h", "%H").replace("%H%H", "%H").replace("ss", "%S"). \ 360 | replace("d", "%e").replace("%e%e", "%d"). \ 361 | replace("mmmm", "%B").replace("mmm", "%b").replace(":mm", ":%M").replace("m", "%m").replace("%m%m", "%m"). \ 362 | replace("am/pm", "%p") 363 | self.data = date.strftime(str(dateformat)).strip() 364 | except (ValueError, OverflowError): 365 | # invalid date format 366 | self.data = data 367 | elif format_type == 'time': # time 368 | self.data = str(float(data) * 24*60*60) 369 | 370 | def handleStartElement(self, name, attrs): 371 | if self.in_row and name == 'c': 372 | self.colType = attrs.get("t") 373 | self.s_attr = attrs.get("s") 374 | cellId = attrs.get("r") 375 | if cellId: 376 | self.colNum = cellId[:len(cellId)-len(self.rowNum)] 377 | self.colIndex = 0 378 | else: 379 | self.colIndex+= 1 380 | #self.formula = None 381 | self.data = "" 382 | self.in_cell = True 383 | elif self.in_cell and name == 'v': 384 | self.in_cell_value = True 385 | #elif self.in_cell and name == 'f': 386 | # self.in_cell_formula = True 387 | elif self.in_sheet and name == 'row' and attrs.has_key('r'): 388 | self.rowNum = attrs['r'] 389 | self.in_row = True 390 | self.columns = {} 391 | self.spans = None 392 | if attrs.has_key('spans'): 393 | self.spans = [int(i) for i in attrs['spans'].split(":")] 394 | elif name == 'sheetData': 395 | self.in_sheet = True 396 | 397 | def handleEndElement(self, name): 398 | if self.in_cell and name == 'v': 399 | self.in_cell_value = False 400 | #elif self.in_cell and name == 'f': 401 | # self.in_cell_formula = False 402 | elif self.in_cell and name == 'c': 403 | t = 0 404 | for i in self.colNum: t = t*26 + ord(i) - 64 405 | self.columns[t - 1 + self.colIndex] = self.data 406 | self.in_cell = False 407 | if self.in_row and name == 'row': 408 | if len(self.columns.keys()) > 0: 409 | d = [""] * (max(self.columns.keys()) + 1) 410 | for k in self.columns.keys(): 411 | d[k] = self.columns[k].encode("utf-8") 412 | if self.spans: 413 | l = self.spans[0] + self.spans[1] - 1 414 | if len(d) < l: 415 | d+= (l - len(d)) * [''] 416 | # write line to csv 417 | if not self.skip_empty_lines or d.count('') != len(d): 418 | self.writer.writerow(d) 419 | self.in_row = False 420 | elif self.in_sheet and name == 'sheetData': 421 | self.in_sheet = False 422 | 423 | class XSheet: 424 | def __init__(self, wSheet, writer): 425 | self.wSheet = None 426 | self.writer = None 427 | self.rows = [] 428 | self.queue = cStringIO.StringIO() 429 | 430 | self.wSheet = wSheet 431 | self.writer = writer 432 | self.convert() 433 | 434 | def convert(self): 435 | if self.wSheet: 436 | num_rows = self.wSheet.nrows - 1 437 | num_cells = self.wSheet.ncols - 1 438 | emptyType = set([xlrd.XL_CELL_BLANK, xlrd.XL_CELL_EMPTY]); 439 | curr_row = -1 440 | while curr_row < num_rows: 441 | curr_row += 1 442 | liste = [] 443 | row = self.wSheet.row(curr_row) 444 | if not all(x in emptyType for x in row): 445 | curr_cell = -1 446 | while curr_cell < num_cells: 447 | curr_cell += 1 448 | cell_type = self.wSheet.cell_type(curr_row, curr_cell) 449 | cell_value = self.wSheet.cell_value(curr_row, curr_cell) 450 | 451 | if cell_type == xlrd.XL_CELL_BOOLEAN: 452 | try: 453 | liste.append(str(int(cell_value))) 454 | except (ValueError, OverflowError): 455 | liste.append(cell_value) 456 | elif cell_type == xlrd.XL_CELL_NUMBER: 457 | liste.append(str(cell_value)) 458 | elif cell_type == xlrd.XL_CELL_DATE: 459 | try: 460 | cell_value = datetime.datetime(1899, 12, 30) + datetime.timedelta(float(cell_value)) 461 | format = "d-mmm-yy"; 462 | dateformat = format.replace("yyyy", "%Y").replace("yy", "%y"). \ 463 | replace("hh:mm", "%H:%M").replace("h", "%H").replace("%H%H", "%H").replace("ss", "%S"). \ 464 | replace("d", "%e").replace("%e%e", "%d"). \ 465 | replace("mmmm", "%B").replace("mmm", "%b").replace(":mm", ":%M").replace("m", "%m").replace("%m%m", "%m"). \ 466 | replace("am/pm", "%p") 467 | cell_value = cell_value.strftime(str(dateformat)).strip() 468 | except (ValueError, OverflowError): 469 | cell_value = cell_value 470 | liste.append(str(cell_value)); 471 | elif cell_type == xlrd.XL_CELL_TEXT: 472 | cell_value = cell_value.encode("UTF-8", "strict") 473 | liste.append(cell_value) 474 | else: 475 | liste.append(cell_value) 476 | self.rows.append(liste) 477 | 478 | def to_csv(self): 479 | if self.rows: 480 | for row in self.rows: 481 | self.writer.writerow(row) 482 | 483 | if __name__ == "__main__": 484 | parser = ArgumentParser(usage = "%%prog [options] infile [outfile]") 485 | parser.add_argument('-x', "--infile", dest="inFile", required = True, help="filename of the source spreadsheet"); 486 | parser.add_argument('-c', "--outfile", dest="outFile", help="filename to save the generated csv file") 487 | parser.add_argument('-n', "--sheetnumber", dest="sheetId", default=0, type=int, help="sheet no to convert (0 for all sheets)") 488 | parser.add_argument("-w", "--sheetname", dest="sheetName", type=str, help="sheet name to convert", default=None); 489 | parser.add_argument("-W", "--worksheets", dest="sheetFlag", help="list all worksheets inside specified spreadsheet", action="store_true"); 490 | 491 | args = parser.parse_args() 492 | if not len(sys.argv) > 1: 493 | parser.print_help() 494 | else: 495 | if args.sheetFlag: 496 | convert2csv(args.inFile, sys.stdout, args.sheetFlag) 497 | else: 498 | if args.inFile: 499 | if args.outFile: 500 | outfile = open(args.outFile, 'w+b'); 501 | else: 502 | outfile = open('convert.csv', 'w+b'); 503 | 504 | convert2csv(args.inFile, outfile, args.sheetFlag, args.sheetId, args.sheetName) 505 | outfile.close() 506 | else: 507 | parser.error("File is required") 508 | -------------------------------------------------------------------------------- /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.16.7": 6 | version "7.16.7" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/compat-data@^7.16.4": 13 | version "7.16.8" 14 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" 15 | integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== 16 | 17 | "@babel/core@^7.5.5", "@babel/core@^7.7.5": 18 | version "7.16.7" 19 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" 20 | integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== 21 | dependencies: 22 | "@babel/code-frame" "^7.16.7" 23 | "@babel/generator" "^7.16.7" 24 | "@babel/helper-compilation-targets" "^7.16.7" 25 | "@babel/helper-module-transforms" "^7.16.7" 26 | "@babel/helpers" "^7.16.7" 27 | "@babel/parser" "^7.16.7" 28 | "@babel/template" "^7.16.7" 29 | "@babel/traverse" "^7.16.7" 30 | "@babel/types" "^7.16.7" 31 | convert-source-map "^1.7.0" 32 | debug "^4.1.0" 33 | gensync "^1.0.0-beta.2" 34 | json5 "^2.1.2" 35 | semver "^6.3.0" 36 | source-map "^0.5.0" 37 | 38 | "@babel/generator@^7.16.7", "@babel/generator@^7.16.8": 39 | version "7.16.8" 40 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" 41 | integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== 42 | dependencies: 43 | "@babel/types" "^7.16.8" 44 | jsesc "^2.5.1" 45 | source-map "^0.5.0" 46 | 47 | "@babel/helper-annotate-as-pure@^7.16.7": 48 | version "7.16.7" 49 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" 50 | integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== 51 | dependencies: 52 | "@babel/types" "^7.16.7" 53 | 54 | "@babel/helper-compilation-targets@^7.16.7": 55 | version "7.16.7" 56 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" 57 | integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== 58 | dependencies: 59 | "@babel/compat-data" "^7.16.4" 60 | "@babel/helper-validator-option" "^7.16.7" 61 | browserslist "^4.17.5" 62 | semver "^6.3.0" 63 | 64 | "@babel/helper-environment-visitor@^7.16.7": 65 | version "7.16.7" 66 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" 67 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== 68 | dependencies: 69 | "@babel/types" "^7.16.7" 70 | 71 | "@babel/helper-function-name@^7.16.7": 72 | version "7.16.7" 73 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" 74 | integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== 75 | dependencies: 76 | "@babel/helper-get-function-arity" "^7.16.7" 77 | "@babel/template" "^7.16.7" 78 | "@babel/types" "^7.16.7" 79 | 80 | "@babel/helper-get-function-arity@^7.16.7": 81 | version "7.16.7" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" 83 | integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== 84 | dependencies: 85 | "@babel/types" "^7.16.7" 86 | 87 | "@babel/helper-hoist-variables@^7.16.7": 88 | version "7.16.7" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" 90 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== 91 | dependencies: 92 | "@babel/types" "^7.16.7" 93 | 94 | "@babel/helper-module-imports@^7.16.7": 95 | version "7.16.7" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" 97 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== 98 | dependencies: 99 | "@babel/types" "^7.16.7" 100 | 101 | "@babel/helper-module-transforms@^7.16.7": 102 | version "7.16.7" 103 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" 104 | integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== 105 | dependencies: 106 | "@babel/helper-environment-visitor" "^7.16.7" 107 | "@babel/helper-module-imports" "^7.16.7" 108 | "@babel/helper-simple-access" "^7.16.7" 109 | "@babel/helper-split-export-declaration" "^7.16.7" 110 | "@babel/helper-validator-identifier" "^7.16.7" 111 | "@babel/template" "^7.16.7" 112 | "@babel/traverse" "^7.16.7" 113 | "@babel/types" "^7.16.7" 114 | 115 | "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0": 116 | version "7.16.7" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" 118 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== 119 | 120 | "@babel/helper-simple-access@^7.16.7": 121 | version "7.16.7" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" 123 | integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== 124 | dependencies: 125 | "@babel/types" "^7.16.7" 126 | 127 | "@babel/helper-split-export-declaration@^7.16.7": 128 | version "7.16.7" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" 130 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== 131 | dependencies: 132 | "@babel/types" "^7.16.7" 133 | 134 | "@babel/helper-validator-identifier@^7.16.7": 135 | version "7.16.7" 136 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 137 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 138 | 139 | "@babel/helper-validator-option@^7.16.7": 140 | version "7.16.7" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" 142 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== 143 | 144 | "@babel/helpers@^7.16.7": 145 | version "7.16.7" 146 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" 147 | integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== 148 | dependencies: 149 | "@babel/template" "^7.16.7" 150 | "@babel/traverse" "^7.16.7" 151 | "@babel/types" "^7.16.7" 152 | 153 | "@babel/highlight@^7.16.7": 154 | version "7.16.7" 155 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" 156 | integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== 157 | dependencies: 158 | "@babel/helper-validator-identifier" "^7.16.7" 159 | chalk "^2.0.0" 160 | js-tokens "^4.0.0" 161 | 162 | "@babel/parser@^7.16.7", "@babel/parser@^7.16.8": 163 | version "7.16.8" 164 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" 165 | integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== 166 | 167 | "@babel/plugin-proposal-object-rest-spread@^7.5.5": 168 | version "7.16.7" 169 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" 170 | integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== 171 | dependencies: 172 | "@babel/compat-data" "^7.16.4" 173 | "@babel/helper-compilation-targets" "^7.16.7" 174 | "@babel/helper-plugin-utils" "^7.16.7" 175 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 176 | "@babel/plugin-transform-parameters" "^7.16.7" 177 | 178 | "@babel/plugin-syntax-jsx@^7.16.7": 179 | version "7.16.7" 180 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" 181 | integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== 182 | dependencies: 183 | "@babel/helper-plugin-utils" "^7.16.7" 184 | 185 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 186 | version "7.8.3" 187 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 188 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 189 | dependencies: 190 | "@babel/helper-plugin-utils" "^7.8.0" 191 | 192 | "@babel/plugin-transform-destructuring@^7.5.0": 193 | version "7.16.7" 194 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" 195 | integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== 196 | dependencies: 197 | "@babel/helper-plugin-utils" "^7.16.7" 198 | 199 | "@babel/plugin-transform-parameters@^7.16.7": 200 | version "7.16.7" 201 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" 202 | integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== 203 | dependencies: 204 | "@babel/helper-plugin-utils" "^7.16.7" 205 | 206 | "@babel/plugin-transform-react-jsx@^7.3.0": 207 | version "7.16.7" 208 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" 209 | integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== 210 | dependencies: 211 | "@babel/helper-annotate-as-pure" "^7.16.7" 212 | "@babel/helper-module-imports" "^7.16.7" 213 | "@babel/helper-plugin-utils" "^7.16.7" 214 | "@babel/plugin-syntax-jsx" "^7.16.7" 215 | "@babel/types" "^7.16.7" 216 | 217 | "@babel/template@^7.16.7": 218 | version "7.16.7" 219 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" 220 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== 221 | dependencies: 222 | "@babel/code-frame" "^7.16.7" 223 | "@babel/parser" "^7.16.7" 224 | "@babel/types" "^7.16.7" 225 | 226 | "@babel/traverse@^7.16.7": 227 | version "7.16.8" 228 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" 229 | integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== 230 | dependencies: 231 | "@babel/code-frame" "^7.16.7" 232 | "@babel/generator" "^7.16.8" 233 | "@babel/helper-environment-visitor" "^7.16.7" 234 | "@babel/helper-function-name" "^7.16.7" 235 | "@babel/helper-hoist-variables" "^7.16.7" 236 | "@babel/helper-split-export-declaration" "^7.16.7" 237 | "@babel/parser" "^7.16.8" 238 | "@babel/types" "^7.16.8" 239 | debug "^4.1.0" 240 | globals "^11.1.0" 241 | 242 | "@babel/types@^7.16.7", "@babel/types@^7.16.8": 243 | version "7.16.8" 244 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" 245 | integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== 246 | dependencies: 247 | "@babel/helper-validator-identifier" "^7.16.7" 248 | to-fast-properties "^2.0.0" 249 | 250 | "@isaacs/import-jsx@*", "@isaacs/import-jsx@^4.0.1": 251 | version "4.0.1" 252 | resolved "https://registry.yarnpkg.com/@isaacs/import-jsx/-/import-jsx-4.0.1.tgz#493cab5fc543a0703dba7c3f5947d6499028a169" 253 | integrity sha512-l34FEsEqpdYdGcQjRCxWy+7rHY6euUbOBz9FI+Mq6oQeVhNegHcXFSJxVxrJvOpO31NbnDjS74quKXDlPDearA== 254 | dependencies: 255 | "@babel/core" "^7.5.5" 256 | "@babel/plugin-proposal-object-rest-spread" "^7.5.5" 257 | "@babel/plugin-transform-destructuring" "^7.5.0" 258 | "@babel/plugin-transform-react-jsx" "^7.3.0" 259 | caller-path "^3.0.1" 260 | find-cache-dir "^3.2.0" 261 | make-dir "^3.0.2" 262 | resolve-from "^3.0.0" 263 | rimraf "^3.0.0" 264 | 265 | "@istanbuljs/load-nyc-config@^1.0.0": 266 | version "1.1.0" 267 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 268 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 269 | dependencies: 270 | camelcase "^5.3.1" 271 | find-up "^4.1.0" 272 | get-package-type "^0.1.0" 273 | js-yaml "^3.13.1" 274 | resolve-from "^5.0.0" 275 | 276 | "@istanbuljs/schema@^0.1.2": 277 | version "0.1.3" 278 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 279 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 280 | 281 | "@types/prop-types@*": 282 | version "15.7.4" 283 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 284 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== 285 | 286 | "@types/react@*": 287 | version "17.0.38" 288 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" 289 | integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== 290 | dependencies: 291 | "@types/prop-types" "*" 292 | "@types/scheduler" "*" 293 | csstype "^3.0.2" 294 | 295 | "@types/scheduler@*": 296 | version "0.16.2" 297 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 298 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 299 | 300 | "@types/yoga-layout@1.9.2": 301 | version "1.9.2" 302 | resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a" 303 | integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== 304 | 305 | abbrev@1: 306 | version "1.1.1" 307 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 308 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 309 | 310 | aggregate-error@^3.0.0: 311 | version "3.1.0" 312 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 313 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 314 | dependencies: 315 | clean-stack "^2.0.0" 316 | indent-string "^4.0.0" 317 | 318 | ajv@^6.12.3: 319 | version "6.12.6" 320 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 321 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 322 | dependencies: 323 | fast-deep-equal "^3.1.1" 324 | fast-json-stable-stringify "^2.0.0" 325 | json-schema-traverse "^0.4.1" 326 | uri-js "^4.2.2" 327 | 328 | ansi-escapes@^4.2.1: 329 | version "4.3.2" 330 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 331 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 332 | dependencies: 333 | type-fest "^0.21.3" 334 | 335 | ansi-regex@^2.0.0: 336 | version "2.1.1" 337 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 338 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 339 | 340 | ansi-regex@^5.0.1: 341 | version "5.0.1" 342 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 343 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 344 | 345 | ansi-styles@^3.2.1: 346 | version "3.2.1" 347 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 348 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 349 | dependencies: 350 | color-convert "^1.9.0" 351 | 352 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 353 | version "4.3.0" 354 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 355 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 356 | dependencies: 357 | color-convert "^2.0.1" 358 | 359 | ansicolors@~0.3.2: 360 | version "0.3.2" 361 | resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" 362 | integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= 363 | 364 | anymatch@~3.1.2: 365 | version "3.1.2" 366 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 367 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 368 | dependencies: 369 | normalize-path "^3.0.0" 370 | picomatch "^2.0.4" 371 | 372 | append-transform@^2.0.0: 373 | version "2.0.0" 374 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" 375 | integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== 376 | dependencies: 377 | default-require-extensions "^3.0.0" 378 | 379 | archy@^1.0.0: 380 | version "1.0.0" 381 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 382 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= 383 | 384 | argparse@^1.0.7: 385 | version "1.0.10" 386 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 387 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 388 | dependencies: 389 | sprintf-js "~1.0.2" 390 | 391 | array-each@^1.0.1: 392 | version "1.0.1" 393 | resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" 394 | integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= 395 | 396 | array-slice@^1.0.0: 397 | version "1.1.0" 398 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" 399 | integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== 400 | 401 | asn1@~0.2.3: 402 | version "0.2.6" 403 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" 404 | integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== 405 | dependencies: 406 | safer-buffer "~2.1.0" 407 | 408 | assert-plus@1.0.0, assert-plus@^1.0.0: 409 | version "1.0.0" 410 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 411 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 412 | 413 | astral-regex@^2.0.0: 414 | version "2.0.0" 415 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 416 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 417 | 418 | async-hook-domain@^2.0.4: 419 | version "2.0.4" 420 | resolved "https://registry.yarnpkg.com/async-hook-domain/-/async-hook-domain-2.0.4.tgz#5a24910982c04394ea33dd442860f80cce2d972c" 421 | integrity sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw== 422 | 423 | async@0.9.x: 424 | version "0.9.2" 425 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 426 | integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= 427 | 428 | async@^2.6.0: 429 | version "2.6.3" 430 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" 431 | integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== 432 | dependencies: 433 | lodash "^4.17.14" 434 | 435 | async@~3.2.0, async@~3.2.3: 436 | version "3.2.3" 437 | resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" 438 | integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== 439 | 440 | asynckit@^0.4.0: 441 | version "0.4.0" 442 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 443 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 444 | 445 | auto-bind@4.0.0: 446 | version "4.0.0" 447 | resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" 448 | integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== 449 | 450 | aws-sign2@~0.7.0: 451 | version "0.7.0" 452 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 453 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 454 | 455 | aws4@^1.8.0: 456 | version "1.11.0" 457 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" 458 | integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== 459 | 460 | balanced-match@^1.0.0: 461 | version "1.0.2" 462 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 463 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 464 | 465 | bcrypt-pbkdf@^1.0.0: 466 | version "1.0.2" 467 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 468 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 469 | dependencies: 470 | tweetnacl "^0.14.3" 471 | 472 | binary-extensions@^2.0.0: 473 | version "2.2.0" 474 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 475 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 476 | 477 | bind-obj-methods@^3.0.0: 478 | version "3.0.0" 479 | resolved "https://registry.yarnpkg.com/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz#65b66544d9d668d80dfefe2089dd347ad1dbcaed" 480 | integrity sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw== 481 | 482 | body@^5.1.0: 483 | version "5.1.0" 484 | resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" 485 | integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk= 486 | dependencies: 487 | continuable-cache "^0.3.1" 488 | error "^7.0.0" 489 | raw-body "~1.1.0" 490 | safe-json-parse "~1.0.1" 491 | 492 | brace-expansion@^1.1.7: 493 | version "1.1.11" 494 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 495 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 496 | dependencies: 497 | balanced-match "^1.0.0" 498 | concat-map "0.0.1" 499 | 500 | braces@^3.0.1, braces@~3.0.2: 501 | version "3.0.2" 502 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 503 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 504 | dependencies: 505 | fill-range "^7.0.1" 506 | 507 | browserslist@^4.17.5: 508 | version "4.19.1" 509 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" 510 | integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== 511 | dependencies: 512 | caniuse-lite "^1.0.30001286" 513 | electron-to-chromium "^1.4.17" 514 | escalade "^3.1.1" 515 | node-releases "^2.0.1" 516 | picocolors "^1.0.0" 517 | 518 | buffer-from@^1.0.0: 519 | version "1.1.2" 520 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 521 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 522 | 523 | bytes@1: 524 | version "1.0.0" 525 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" 526 | integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= 527 | 528 | caching-transform@^4.0.0: 529 | version "4.0.0" 530 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" 531 | integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== 532 | dependencies: 533 | hasha "^5.0.0" 534 | make-dir "^3.0.0" 535 | package-hash "^4.0.0" 536 | write-file-atomic "^3.0.0" 537 | 538 | call-bind@^1.0.0: 539 | version "1.0.2" 540 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 541 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 542 | dependencies: 543 | function-bind "^1.1.1" 544 | get-intrinsic "^1.0.2" 545 | 546 | caller-callsite@^4.1.0: 547 | version "4.1.0" 548 | resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-4.1.0.tgz#3e33cb1d910e7b09332d59a3503b9af7462f7295" 549 | integrity sha512-99nnnGlJexTc41xwQTr+mWl15OI5PPczUJzM4YRE7QjkefMKCXGa5gfQjCOuVrD+1TjI/fevIDHg2nz3iYN5Ig== 550 | dependencies: 551 | callsites "^3.1.0" 552 | 553 | caller-path@^3.0.1: 554 | version "3.0.1" 555 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-3.0.1.tgz#bc932ecec3f943e10c2f8922146e23b132f932e4" 556 | integrity sha512-fhmztL4wURO/BzwJUJ4aVRdnKEFskPBbrJ8fNgl7XdUiD1ygzzlt+nhPgUBSRq2ciEVubo6x+W8vJQzm55QLLQ== 557 | dependencies: 558 | caller-callsite "^4.1.0" 559 | 560 | callsites@^3.1.0: 561 | version "3.1.0" 562 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 563 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 564 | 565 | camelcase@^5.0.0, camelcase@^5.3.1: 566 | version "5.3.1" 567 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 568 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 569 | 570 | caniuse-lite@^1.0.30001286: 571 | version "1.0.30001300" 572 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz#11ab6c57d3eb6f964cba950401fd00a146786468" 573 | integrity sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA== 574 | 575 | cardinal@^2.1.1: 576 | version "2.1.1" 577 | resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" 578 | integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= 579 | dependencies: 580 | ansicolors "~0.3.2" 581 | redeyed "~2.1.0" 582 | 583 | caseless@~0.12.0: 584 | version "0.12.0" 585 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 586 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 587 | 588 | chalk@^2.0.0, chalk@^2.4.2: 589 | version "2.4.2" 590 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 591 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 592 | dependencies: 593 | ansi-styles "^3.2.1" 594 | escape-string-regexp "^1.0.5" 595 | supports-color "^5.3.0" 596 | 597 | chalk@^3.0.0: 598 | version "3.0.0" 599 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 600 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 601 | dependencies: 602 | ansi-styles "^4.1.0" 603 | supports-color "^7.1.0" 604 | 605 | chalk@^4.1.0, chalk@~4.1.0: 606 | version "4.1.2" 607 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 608 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 609 | dependencies: 610 | ansi-styles "^4.1.0" 611 | supports-color "^7.1.0" 612 | 613 | chokidar@^3.3.0: 614 | version "3.5.3" 615 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 616 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 617 | dependencies: 618 | anymatch "~3.1.2" 619 | braces "~3.0.2" 620 | glob-parent "~5.1.2" 621 | is-binary-path "~2.1.0" 622 | is-glob "~4.0.1" 623 | normalize-path "~3.0.0" 624 | readdirp "~3.6.0" 625 | optionalDependencies: 626 | fsevents "~2.3.2" 627 | 628 | ci-info@^2.0.0: 629 | version "2.0.0" 630 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 631 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 632 | 633 | clean-stack@^2.0.0: 634 | version "2.2.0" 635 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 636 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 637 | 638 | cli-boxes@^2.2.0: 639 | version "2.2.1" 640 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" 641 | integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== 642 | 643 | cli-cursor@^3.1.0: 644 | version "3.1.0" 645 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 646 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 647 | dependencies: 648 | restore-cursor "^3.1.0" 649 | 650 | cli-truncate@^2.1.0: 651 | version "2.1.0" 652 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 653 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 654 | dependencies: 655 | slice-ansi "^3.0.0" 656 | string-width "^4.2.0" 657 | 658 | cli@~1.0.0: 659 | version "1.0.1" 660 | resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.1.tgz#22817534f24bfa4950c34d532d48ecbc621b8c14" 661 | integrity sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ= 662 | dependencies: 663 | exit "0.1.2" 664 | glob "^7.1.1" 665 | 666 | cliui@^6.0.0: 667 | version "6.0.0" 668 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" 669 | integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== 670 | dependencies: 671 | string-width "^4.2.0" 672 | strip-ansi "^6.0.0" 673 | wrap-ansi "^6.2.0" 674 | 675 | cliui@^7.0.4: 676 | version "7.0.4" 677 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 678 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 679 | dependencies: 680 | string-width "^4.2.0" 681 | strip-ansi "^6.0.0" 682 | wrap-ansi "^7.0.0" 683 | 684 | code-excerpt@^3.0.0: 685 | version "3.0.0" 686 | resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-3.0.0.tgz#fcfb6748c03dba8431c19f5474747fad3f250f10" 687 | integrity sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== 688 | dependencies: 689 | convert-to-spaces "^1.0.1" 690 | 691 | color-convert@^1.9.0: 692 | version "1.9.3" 693 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 694 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 695 | dependencies: 696 | color-name "1.1.3" 697 | 698 | color-convert@^2.0.1: 699 | version "2.0.1" 700 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 701 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 702 | dependencies: 703 | color-name "~1.1.4" 704 | 705 | color-name@1.1.3: 706 | version "1.1.3" 707 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 708 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 709 | 710 | color-name@~1.1.4: 711 | version "1.1.4" 712 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 713 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 714 | 715 | color-support@^1.1.0: 716 | version "1.1.3" 717 | resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" 718 | integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== 719 | 720 | colors@~1.1.2: 721 | version "1.1.2" 722 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 723 | integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= 724 | 725 | combined-stream@^1.0.6, combined-stream@~1.0.6: 726 | version "1.0.8" 727 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 728 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 729 | dependencies: 730 | delayed-stream "~1.0.0" 731 | 732 | commondir@^1.0.1: 733 | version "1.0.1" 734 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 735 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 736 | 737 | concat-map@0.0.1: 738 | version "0.0.1" 739 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 740 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 741 | 742 | console-browserify@1.1.x: 743 | version "1.1.0" 744 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 745 | integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= 746 | dependencies: 747 | date-now "^0.1.4" 748 | 749 | continuable-cache@^0.3.1: 750 | version "0.3.1" 751 | resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" 752 | integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8= 753 | 754 | convert-source-map@^1.7.0: 755 | version "1.8.0" 756 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 757 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 758 | dependencies: 759 | safe-buffer "~5.1.1" 760 | 761 | convert-to-spaces@^1.0.1: 762 | version "1.0.2" 763 | resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" 764 | integrity sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU= 765 | 766 | core-util-is@1.0.2: 767 | version "1.0.2" 768 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 769 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 770 | 771 | core-util-is@~1.0.0: 772 | version "1.0.3" 773 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 774 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 775 | 776 | coveralls@^3.0.11: 777 | version "3.1.1" 778 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.1.tgz#f5d4431d8b5ae69c5079c8f8ca00d64ac77cf081" 779 | integrity sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww== 780 | dependencies: 781 | js-yaml "^3.13.1" 782 | lcov-parse "^1.0.0" 783 | log-driver "^1.2.7" 784 | minimist "^1.2.5" 785 | request "^2.88.2" 786 | 787 | cross-spawn@^7.0.0: 788 | version "7.0.3" 789 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 790 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 791 | dependencies: 792 | path-key "^3.1.0" 793 | shebang-command "^2.0.0" 794 | which "^2.0.1" 795 | 796 | csstype@^3.0.2: 797 | version "3.0.10" 798 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" 799 | integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== 800 | 801 | dashdash@^1.12.0: 802 | version "1.14.1" 803 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 804 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 805 | dependencies: 806 | assert-plus "^1.0.0" 807 | 808 | date-now@^0.1.4: 809 | version "0.1.4" 810 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 811 | integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= 812 | 813 | dateformat@~3.0.3: 814 | version "3.0.3" 815 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" 816 | integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== 817 | 818 | debug@^3.1.0: 819 | version "3.2.7" 820 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 821 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 822 | dependencies: 823 | ms "^2.1.1" 824 | 825 | debug@^4.1.0, debug@^4.1.1: 826 | version "4.3.3" 827 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 828 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 829 | dependencies: 830 | ms "2.1.2" 831 | 832 | decamelize@^1.2.0: 833 | version "1.2.0" 834 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 835 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 836 | 837 | default-require-extensions@^3.0.0: 838 | version "3.0.0" 839 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" 840 | integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== 841 | dependencies: 842 | strip-bom "^4.0.0" 843 | 844 | delayed-stream@~1.0.0: 845 | version "1.0.0" 846 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 847 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 848 | 849 | detect-file@^1.0.0: 850 | version "1.0.0" 851 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" 852 | integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= 853 | 854 | diff@^4.0.1, diff@^4.0.2: 855 | version "4.0.2" 856 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 857 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 858 | 859 | dom-serializer@0: 860 | version "0.2.2" 861 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" 862 | integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== 863 | dependencies: 864 | domelementtype "^2.0.1" 865 | entities "^2.0.0" 866 | 867 | domelementtype@1: 868 | version "1.3.1" 869 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" 870 | integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== 871 | 872 | domelementtype@^2.0.1: 873 | version "2.2.0" 874 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" 875 | integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== 876 | 877 | domhandler@2.3: 878 | version "2.3.0" 879 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" 880 | integrity sha1-LeWaCCLVAn+r/28DLCsloqir5zg= 881 | dependencies: 882 | domelementtype "1" 883 | 884 | domutils@1.5: 885 | version "1.5.1" 886 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" 887 | integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= 888 | dependencies: 889 | dom-serializer "0" 890 | domelementtype "1" 891 | 892 | ecc-jsbn@~0.1.1: 893 | version "0.1.2" 894 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 895 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 896 | dependencies: 897 | jsbn "~0.1.0" 898 | safer-buffer "^2.1.0" 899 | 900 | ejs@^3.1.6: 901 | version "3.1.6" 902 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" 903 | integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== 904 | dependencies: 905 | jake "^10.6.1" 906 | 907 | electron-to-chromium@^1.4.17: 908 | version "1.4.47" 909 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.47.tgz#5d5535cdbca2b9264abee4d6ea121995e9554bbe" 910 | integrity sha512-ZHc8i3/cgeCRK/vC7W2htAG6JqUmOUgDNn/f9yY9J8UjfLjwzwOVEt4MWmgJAdvmxyrsR5KIFA/6+kUHGY0eUA== 911 | 912 | emoji-regex@^8.0.0: 913 | version "8.0.0" 914 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 915 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 916 | 917 | entities@1.0: 918 | version "1.0.0" 919 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" 920 | integrity sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY= 921 | 922 | entities@^2.0.0: 923 | version "2.2.0" 924 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" 925 | integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 926 | 927 | error@^7.0.0: 928 | version "7.2.1" 929 | resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" 930 | integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== 931 | dependencies: 932 | string-template "~0.2.1" 933 | 934 | es6-error@^4.0.1: 935 | version "4.1.1" 936 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" 937 | integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== 938 | 939 | escalade@^3.1.1: 940 | version "3.1.1" 941 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 942 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 943 | 944 | escape-string-regexp@^1.0.5: 945 | version "1.0.5" 946 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 947 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 948 | 949 | escape-string-regexp@^2.0.0: 950 | version "2.0.0" 951 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 952 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 953 | 954 | esprima@^4.0.0, esprima@~4.0.0: 955 | version "4.0.1" 956 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 957 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 958 | 959 | eventemitter2@~0.4.13: 960 | version "0.4.14" 961 | resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" 962 | integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas= 963 | 964 | events-to-array@^1.0.1: 965 | version "1.1.2" 966 | resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6" 967 | integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y= 968 | 969 | exit@0.1.2, exit@0.1.x, exit@~0.1.2: 970 | version "0.1.2" 971 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 972 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 973 | 974 | expand-tilde@^2.0.0, expand-tilde@^2.0.2: 975 | version "2.0.2" 976 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 977 | integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= 978 | dependencies: 979 | homedir-polyfill "^1.0.1" 980 | 981 | extend@^3.0.2, extend@~3.0.2: 982 | version "3.0.2" 983 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 984 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 985 | 986 | extsprintf@1.3.0: 987 | version "1.3.0" 988 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 989 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 990 | 991 | extsprintf@^1.2.0: 992 | version "1.4.1" 993 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" 994 | integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== 995 | 996 | fast-deep-equal@^3.1.1: 997 | version "3.1.3" 998 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 999 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1000 | 1001 | fast-json-stable-stringify@^2.0.0: 1002 | version "2.1.0" 1003 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1004 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1005 | 1006 | faye-websocket@~0.10.0: 1007 | version "0.10.0" 1008 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 1009 | integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= 1010 | dependencies: 1011 | websocket-driver ">=0.5.1" 1012 | 1013 | filelist@^1.0.1: 1014 | version "1.0.2" 1015 | resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" 1016 | integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== 1017 | dependencies: 1018 | minimatch "^3.0.4" 1019 | 1020 | fill-range@^7.0.1: 1021 | version "7.0.1" 1022 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1023 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1024 | dependencies: 1025 | to-regex-range "^5.0.1" 1026 | 1027 | find-cache-dir@^3.2.0: 1028 | version "3.3.2" 1029 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" 1030 | integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== 1031 | dependencies: 1032 | commondir "^1.0.1" 1033 | make-dir "^3.0.2" 1034 | pkg-dir "^4.1.0" 1035 | 1036 | find-up@^4.0.0, find-up@^4.1.0: 1037 | version "4.1.0" 1038 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1039 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1040 | dependencies: 1041 | locate-path "^5.0.0" 1042 | path-exists "^4.0.0" 1043 | 1044 | findit@^2.0.0: 1045 | version "2.0.0" 1046 | resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" 1047 | integrity sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4= 1048 | 1049 | findup-sync@^4.0.0: 1050 | version "4.0.0" 1051 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" 1052 | integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== 1053 | dependencies: 1054 | detect-file "^1.0.0" 1055 | is-glob "^4.0.0" 1056 | micromatch "^4.0.2" 1057 | resolve-dir "^1.0.1" 1058 | 1059 | findup-sync@~0.3.0: 1060 | version "0.3.0" 1061 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" 1062 | integrity sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY= 1063 | dependencies: 1064 | glob "~5.0.0" 1065 | 1066 | fined@^1.2.0: 1067 | version "1.2.0" 1068 | resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" 1069 | integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== 1070 | dependencies: 1071 | expand-tilde "^2.0.2" 1072 | is-plain-object "^2.0.3" 1073 | object.defaults "^1.1.0" 1074 | object.pick "^1.2.0" 1075 | parse-filepath "^1.0.1" 1076 | 1077 | flagged-respawn@^1.0.1: 1078 | version "1.0.1" 1079 | resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" 1080 | integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== 1081 | 1082 | for-in@^1.0.1: 1083 | version "1.0.2" 1084 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1085 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1086 | 1087 | for-own@^1.0.0: 1088 | version "1.0.0" 1089 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" 1090 | integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= 1091 | dependencies: 1092 | for-in "^1.0.1" 1093 | 1094 | foreground-child@^2.0.0: 1095 | version "2.0.0" 1096 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" 1097 | integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== 1098 | dependencies: 1099 | cross-spawn "^7.0.0" 1100 | signal-exit "^3.0.2" 1101 | 1102 | forever-agent@~0.6.1: 1103 | version "0.6.1" 1104 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1105 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 1106 | 1107 | form-data@~2.3.2: 1108 | version "2.3.3" 1109 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1110 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1111 | dependencies: 1112 | asynckit "^0.4.0" 1113 | combined-stream "^1.0.6" 1114 | mime-types "^2.1.12" 1115 | 1116 | fromentries@^1.2.0: 1117 | version "1.3.2" 1118 | resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" 1119 | integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== 1120 | 1121 | fs-exists-cached@^1.0.0: 1122 | version "1.0.0" 1123 | resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce" 1124 | integrity sha1-zyVVTKBQ3EmuZla0HeQiWJidy84= 1125 | 1126 | fs.realpath@^1.0.0: 1127 | version "1.0.0" 1128 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1129 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1130 | 1131 | fsevents@~2.3.2: 1132 | version "2.3.2" 1133 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1134 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1135 | 1136 | function-bind@^1.1.1: 1137 | version "1.1.1" 1138 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1139 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1140 | 1141 | function-loop@^2.0.1: 1142 | version "2.0.1" 1143 | resolved "https://registry.yarnpkg.com/function-loop/-/function-loop-2.0.1.tgz#799c56ced01698cf12a1b80e4802e9dafc2ebada" 1144 | integrity sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ== 1145 | 1146 | gaze@^1.1.0: 1147 | version "1.1.3" 1148 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" 1149 | integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== 1150 | dependencies: 1151 | globule "^1.0.0" 1152 | 1153 | gensync@^1.0.0-beta.2: 1154 | version "1.0.0-beta.2" 1155 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1156 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1157 | 1158 | get-caller-file@^2.0.1: 1159 | version "2.0.5" 1160 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1161 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1162 | 1163 | get-intrinsic@^1.0.2: 1164 | version "1.1.1" 1165 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1166 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1167 | dependencies: 1168 | function-bind "^1.1.1" 1169 | has "^1.0.3" 1170 | has-symbols "^1.0.1" 1171 | 1172 | get-package-type@^0.1.0: 1173 | version "0.1.0" 1174 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1175 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1176 | 1177 | getobject@~1.0.0: 1178 | version "1.0.2" 1179 | resolved "https://registry.yarnpkg.com/getobject/-/getobject-1.0.2.tgz#25ec87a50370f6dcc3c6ba7ef43c4c16215c4c89" 1180 | integrity sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg== 1181 | 1182 | getpass@^0.1.1: 1183 | version "0.1.7" 1184 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1185 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 1186 | dependencies: 1187 | assert-plus "^1.0.0" 1188 | 1189 | glob-parent@~5.1.2: 1190 | version "5.1.2" 1191 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1192 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1193 | dependencies: 1194 | is-glob "^4.0.1" 1195 | 1196 | glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: 1197 | version "7.2.0" 1198 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1199 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1200 | dependencies: 1201 | fs.realpath "^1.0.0" 1202 | inflight "^1.0.4" 1203 | inherits "2" 1204 | minimatch "^3.0.4" 1205 | once "^1.3.0" 1206 | path-is-absolute "^1.0.0" 1207 | 1208 | glob@~5.0.0: 1209 | version "5.0.15" 1210 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 1211 | integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= 1212 | dependencies: 1213 | inflight "^1.0.4" 1214 | inherits "2" 1215 | minimatch "2 || 3" 1216 | once "^1.3.0" 1217 | path-is-absolute "^1.0.0" 1218 | 1219 | glob@~7.1.1, glob@~7.1.6: 1220 | version "7.1.7" 1221 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1222 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1223 | dependencies: 1224 | fs.realpath "^1.0.0" 1225 | inflight "^1.0.4" 1226 | inherits "2" 1227 | minimatch "^3.0.4" 1228 | once "^1.3.0" 1229 | path-is-absolute "^1.0.0" 1230 | 1231 | global-modules@^1.0.0: 1232 | version "1.0.0" 1233 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" 1234 | integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== 1235 | dependencies: 1236 | global-prefix "^1.0.1" 1237 | is-windows "^1.0.1" 1238 | resolve-dir "^1.0.0" 1239 | 1240 | global-prefix@^1.0.1: 1241 | version "1.0.2" 1242 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" 1243 | integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= 1244 | dependencies: 1245 | expand-tilde "^2.0.2" 1246 | homedir-polyfill "^1.0.1" 1247 | ini "^1.3.4" 1248 | is-windows "^1.0.1" 1249 | which "^1.2.14" 1250 | 1251 | globals@^11.1.0: 1252 | version "11.12.0" 1253 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1254 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1255 | 1256 | globule@^1.0.0: 1257 | version "1.3.3" 1258 | resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" 1259 | integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== 1260 | dependencies: 1261 | glob "~7.1.1" 1262 | lodash "~4.17.10" 1263 | minimatch "~3.0.2" 1264 | 1265 | graceful-fs@^4.1.15: 1266 | version "4.2.9" 1267 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" 1268 | integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== 1269 | 1270 | grunt-cli@~1.4.2: 1271 | version "1.4.3" 1272 | resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz#22c9f1a3d2780bf9b0d206e832e40f8f499175ff" 1273 | integrity sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ== 1274 | dependencies: 1275 | grunt-known-options "~2.0.0" 1276 | interpret "~1.1.0" 1277 | liftup "~3.0.1" 1278 | nopt "~4.0.1" 1279 | v8flags "~3.2.0" 1280 | 1281 | grunt-contrib-internal@~7.0.0: 1282 | version "7.0.0" 1283 | resolved "https://registry.yarnpkg.com/grunt-contrib-internal/-/grunt-contrib-internal-7.0.0.tgz#7699762dd1f821e75a2967bdd1a261791e67d929" 1284 | integrity sha512-7zr2vI44yOPOo33u5LCEv+YTjDc4oWcAlFaSpCk4qPPmOuQKjfOvKPMCGbm3lY0IxUnrUpwVUJ6HxE1mocX3ng== 1285 | dependencies: 1286 | read-package-json "^3.0.1" 1287 | 1288 | grunt-contrib-jshint@~3.1.1: 1289 | version "3.1.1" 1290 | resolved "https://registry.yarnpkg.com/grunt-contrib-jshint/-/grunt-contrib-jshint-3.1.1.tgz#8e79ca5cd9b62d5771328b2d7dc0b75a2b76eb59" 1291 | integrity sha512-EwMY6L91FqTcMlZTVoDeeq/EZL+7MoFyo1rxIea9sxyv73geVggeE37jcUhNbu5hLbxHE82CGIUqitHuR2/q+g== 1292 | dependencies: 1293 | chalk "^4.1.0" 1294 | hooker "^0.2.3" 1295 | jshint "~2.13.0" 1296 | 1297 | grunt-contrib-nodeunit@~4.0.0: 1298 | version "4.0.0" 1299 | resolved "https://registry.yarnpkg.com/grunt-contrib-nodeunit/-/grunt-contrib-nodeunit-4.0.0.tgz#b5ada548fd690746247591e20eb06b10c14f0667" 1300 | integrity sha512-pLLDrTKfitBn2b1U9ecX+nkECcQ12tsiW58Y0SaZcsQgjljthPs78N5D24Y3b34dD8QKBAEW1J0VgO7cW0QcVQ== 1301 | dependencies: 1302 | nodeunit-x "^0.15.0" 1303 | 1304 | grunt-contrib-watch@~1.1.0: 1305 | version "1.1.0" 1306 | resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz#c143ca5b824b288a024b856639a5345aedb78ed4" 1307 | integrity sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg== 1308 | dependencies: 1309 | async "^2.6.0" 1310 | gaze "^1.1.0" 1311 | lodash "^4.17.10" 1312 | tiny-lr "^1.1.1" 1313 | 1314 | grunt-known-options@~2.0.0: 1315 | version "2.0.0" 1316 | resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-2.0.0.tgz#cac641e897f9a0a680b8c9839803d35f3325103c" 1317 | integrity sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA== 1318 | 1319 | grunt-legacy-log-utils@~2.1.0: 1320 | version "2.1.0" 1321 | resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz#49a8c7dc74051476dcc116c32faf9db8646856ef" 1322 | integrity sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw== 1323 | dependencies: 1324 | chalk "~4.1.0" 1325 | lodash "~4.17.19" 1326 | 1327 | grunt-legacy-log@~3.0.0: 1328 | version "3.0.0" 1329 | resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz#1c6eaf92371ea415af31ea84ce50d434ef6d39c4" 1330 | integrity sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA== 1331 | dependencies: 1332 | colors "~1.1.2" 1333 | grunt-legacy-log-utils "~2.1.0" 1334 | hooker "~0.2.3" 1335 | lodash "~4.17.19" 1336 | 1337 | grunt-legacy-util@~2.0.1: 1338 | version "2.0.1" 1339 | resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz#0f929d13a2faf9988c9917c82bff609e2d9ba255" 1340 | integrity sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w== 1341 | dependencies: 1342 | async "~3.2.0" 1343 | exit "~0.1.2" 1344 | getobject "~1.0.0" 1345 | hooker "~0.2.3" 1346 | lodash "~4.17.21" 1347 | underscore.string "~3.3.5" 1348 | which "~2.0.2" 1349 | 1350 | grunt@~1.4.1: 1351 | version "1.4.1" 1352 | resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz#7d1e17db1f9c8108777f7273d6b9359755576f50" 1353 | integrity sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA== 1354 | dependencies: 1355 | dateformat "~3.0.3" 1356 | eventemitter2 "~0.4.13" 1357 | exit "~0.1.2" 1358 | findup-sync "~0.3.0" 1359 | glob "~7.1.6" 1360 | grunt-cli "~1.4.2" 1361 | grunt-known-options "~2.0.0" 1362 | grunt-legacy-log "~3.0.0" 1363 | grunt-legacy-util "~2.0.1" 1364 | iconv-lite "~0.4.13" 1365 | js-yaml "~3.14.0" 1366 | minimatch "~3.0.4" 1367 | mkdirp "~1.0.4" 1368 | nopt "~3.0.6" 1369 | rimraf "~3.0.2" 1370 | 1371 | har-schema@^2.0.0: 1372 | version "2.0.0" 1373 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1374 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1375 | 1376 | har-validator@~5.1.3: 1377 | version "5.1.5" 1378 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" 1379 | integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== 1380 | dependencies: 1381 | ajv "^6.12.3" 1382 | har-schema "^2.0.0" 1383 | 1384 | has-flag@^3.0.0: 1385 | version "3.0.0" 1386 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1387 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1388 | 1389 | has-flag@^4.0.0: 1390 | version "4.0.0" 1391 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1392 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1393 | 1394 | has-symbols@^1.0.1: 1395 | version "1.0.2" 1396 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 1397 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 1398 | 1399 | has@^1.0.3: 1400 | version "1.0.3" 1401 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1402 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1403 | dependencies: 1404 | function-bind "^1.1.1" 1405 | 1406 | hasha@^5.0.0: 1407 | version "5.2.2" 1408 | resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" 1409 | integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== 1410 | dependencies: 1411 | is-stream "^2.0.0" 1412 | type-fest "^0.8.0" 1413 | 1414 | homedir-polyfill@^1.0.1: 1415 | version "1.0.3" 1416 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" 1417 | integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== 1418 | dependencies: 1419 | parse-passwd "^1.0.0" 1420 | 1421 | hooker@^0.2.3, hooker@~0.2.3: 1422 | version "0.2.3" 1423 | resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" 1424 | integrity sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk= 1425 | 1426 | hosted-git-info@^4.0.1: 1427 | version "4.1.0" 1428 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" 1429 | integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== 1430 | dependencies: 1431 | lru-cache "^6.0.0" 1432 | 1433 | html-escaper@^2.0.0: 1434 | version "2.0.2" 1435 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1436 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1437 | 1438 | htmlparser2@3.8.x: 1439 | version "3.8.3" 1440 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" 1441 | integrity sha1-mWwosZFRaovoZQGn15dX5ccMEGg= 1442 | dependencies: 1443 | domelementtype "1" 1444 | domhandler "2.3" 1445 | domutils "1.5" 1446 | entities "1.0" 1447 | readable-stream "1.1" 1448 | 1449 | http-parser-js@>=0.5.1: 1450 | version "0.5.5" 1451 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" 1452 | integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== 1453 | 1454 | http-signature@~1.2.0: 1455 | version "1.2.0" 1456 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1457 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1458 | dependencies: 1459 | assert-plus "^1.0.0" 1460 | jsprim "^1.2.2" 1461 | sshpk "^1.7.0" 1462 | 1463 | iconv-lite@~0.4.13: 1464 | version "0.4.24" 1465 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1466 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1467 | dependencies: 1468 | safer-buffer ">= 2.1.2 < 3" 1469 | 1470 | imurmurhash@^0.1.4: 1471 | version "0.1.4" 1472 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1473 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1474 | 1475 | indent-string@^4.0.0: 1476 | version "4.0.0" 1477 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1478 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1479 | 1480 | inflight@^1.0.4: 1481 | version "1.0.6" 1482 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1483 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1484 | dependencies: 1485 | once "^1.3.0" 1486 | wrappy "1" 1487 | 1488 | inherits@2, inherits@~2.0.1: 1489 | version "2.0.4" 1490 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1491 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1492 | 1493 | ini@^1.3.4: 1494 | version "1.3.8" 1495 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 1496 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 1497 | 1498 | ink@*, ink@^3.2.0: 1499 | version "3.2.0" 1500 | resolved "https://registry.yarnpkg.com/ink/-/ink-3.2.0.tgz#434793630dc57d611c8fe8fffa1db6b56f1a16bb" 1501 | integrity sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== 1502 | dependencies: 1503 | ansi-escapes "^4.2.1" 1504 | auto-bind "4.0.0" 1505 | chalk "^4.1.0" 1506 | cli-boxes "^2.2.0" 1507 | cli-cursor "^3.1.0" 1508 | cli-truncate "^2.1.0" 1509 | code-excerpt "^3.0.0" 1510 | indent-string "^4.0.0" 1511 | is-ci "^2.0.0" 1512 | lodash "^4.17.20" 1513 | patch-console "^1.0.0" 1514 | react-devtools-core "^4.19.1" 1515 | react-reconciler "^0.26.2" 1516 | scheduler "^0.20.2" 1517 | signal-exit "^3.0.2" 1518 | slice-ansi "^3.0.0" 1519 | stack-utils "^2.0.2" 1520 | string-width "^4.2.2" 1521 | type-fest "^0.12.0" 1522 | widest-line "^3.1.0" 1523 | wrap-ansi "^6.2.0" 1524 | ws "^7.5.5" 1525 | yoga-layout-prebuilt "^1.9.6" 1526 | 1527 | interpret@~1.1.0: 1528 | version "1.1.0" 1529 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1530 | integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= 1531 | 1532 | is-absolute@^1.0.0: 1533 | version "1.0.0" 1534 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 1535 | integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== 1536 | dependencies: 1537 | is-relative "^1.0.0" 1538 | is-windows "^1.0.1" 1539 | 1540 | is-binary-path@~2.1.0: 1541 | version "2.1.0" 1542 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1543 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1544 | dependencies: 1545 | binary-extensions "^2.0.0" 1546 | 1547 | is-ci@^2.0.0: 1548 | version "2.0.0" 1549 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1550 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1551 | dependencies: 1552 | ci-info "^2.0.0" 1553 | 1554 | is-core-module@^2.5.0, is-core-module@^2.8.0: 1555 | version "2.8.1" 1556 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 1557 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 1558 | dependencies: 1559 | has "^1.0.3" 1560 | 1561 | is-extglob@^2.1.1: 1562 | version "2.1.1" 1563 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1564 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1565 | 1566 | is-fullwidth-code-point@^3.0.0: 1567 | version "3.0.0" 1568 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1569 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1570 | 1571 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1572 | version "4.0.3" 1573 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1574 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1575 | dependencies: 1576 | is-extglob "^2.1.1" 1577 | 1578 | is-number@^7.0.0: 1579 | version "7.0.0" 1580 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1581 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1582 | 1583 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1584 | version "2.0.4" 1585 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1586 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1587 | dependencies: 1588 | isobject "^3.0.1" 1589 | 1590 | is-relative@^1.0.0: 1591 | version "1.0.0" 1592 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 1593 | integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== 1594 | dependencies: 1595 | is-unc-path "^1.0.0" 1596 | 1597 | is-stream@^2.0.0: 1598 | version "2.0.1" 1599 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 1600 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 1601 | 1602 | is-typedarray@^1.0.0, is-typedarray@~1.0.0: 1603 | version "1.0.0" 1604 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1605 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1606 | 1607 | is-unc-path@^1.0.0: 1608 | version "1.0.0" 1609 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 1610 | integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== 1611 | dependencies: 1612 | unc-path-regex "^0.1.2" 1613 | 1614 | is-windows@^1.0.1, is-windows@^1.0.2: 1615 | version "1.0.2" 1616 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1617 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1618 | 1619 | isarray@0.0.1: 1620 | version "0.0.1" 1621 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1622 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= 1623 | 1624 | isexe@^2.0.0: 1625 | version "2.0.0" 1626 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1627 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1628 | 1629 | isobject@^3.0.0, isobject@^3.0.1: 1630 | version "3.0.1" 1631 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1632 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1633 | 1634 | isstream@~0.1.2: 1635 | version "0.1.2" 1636 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1637 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 1638 | 1639 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: 1640 | version "3.2.0" 1641 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1642 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1643 | 1644 | istanbul-lib-hook@^3.0.0: 1645 | version "3.0.0" 1646 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" 1647 | integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== 1648 | dependencies: 1649 | append-transform "^2.0.0" 1650 | 1651 | istanbul-lib-instrument@^4.0.0: 1652 | version "4.0.3" 1653 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" 1654 | integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== 1655 | dependencies: 1656 | "@babel/core" "^7.7.5" 1657 | "@istanbuljs/schema" "^0.1.2" 1658 | istanbul-lib-coverage "^3.0.0" 1659 | semver "^6.3.0" 1660 | 1661 | istanbul-lib-processinfo@^2.0.2: 1662 | version "2.0.2" 1663 | resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" 1664 | integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== 1665 | dependencies: 1666 | archy "^1.0.0" 1667 | cross-spawn "^7.0.0" 1668 | istanbul-lib-coverage "^3.0.0-alpha.1" 1669 | make-dir "^3.0.0" 1670 | p-map "^3.0.0" 1671 | rimraf "^3.0.0" 1672 | uuid "^3.3.3" 1673 | 1674 | istanbul-lib-report@^3.0.0: 1675 | version "3.0.0" 1676 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1677 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1678 | dependencies: 1679 | istanbul-lib-coverage "^3.0.0" 1680 | make-dir "^3.0.0" 1681 | supports-color "^7.1.0" 1682 | 1683 | istanbul-lib-source-maps@^4.0.0: 1684 | version "4.0.1" 1685 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" 1686 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 1687 | dependencies: 1688 | debug "^4.1.1" 1689 | istanbul-lib-coverage "^3.0.0" 1690 | source-map "^0.6.1" 1691 | 1692 | istanbul-reports@^3.0.2: 1693 | version "3.1.3" 1694 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.3.tgz#4bcae3103b94518117930d51283690960b50d3c2" 1695 | integrity sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg== 1696 | dependencies: 1697 | html-escaper "^2.0.0" 1698 | istanbul-lib-report "^3.0.0" 1699 | 1700 | jackspeak@^1.4.1: 1701 | version "1.4.1" 1702 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-1.4.1.tgz#835b29e3c6263fdc199082071f502674c3d05906" 1703 | integrity sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg== 1704 | dependencies: 1705 | cliui "^7.0.4" 1706 | 1707 | jake@^10.6.1: 1708 | version "10.8.2" 1709 | resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" 1710 | integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== 1711 | dependencies: 1712 | async "0.9.x" 1713 | chalk "^2.4.2" 1714 | filelist "^1.0.1" 1715 | minimatch "^3.0.4" 1716 | 1717 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1718 | version "4.0.0" 1719 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1720 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1721 | 1722 | js-yaml@^3.13.1, js-yaml@~3.14.0: 1723 | version "3.14.1" 1724 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1725 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1726 | dependencies: 1727 | argparse "^1.0.7" 1728 | esprima "^4.0.0" 1729 | 1730 | jsbn@~0.1.0: 1731 | version "0.1.1" 1732 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1733 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 1734 | 1735 | jsesc@^2.5.1: 1736 | version "2.5.2" 1737 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1738 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1739 | 1740 | jshint@~2.13.0: 1741 | version "2.13.3" 1742 | resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.13.3.tgz#283b8b3f3601f20fe668c63c0347db664fa1f1a5" 1743 | integrity sha512-zlVQz8XAl1ODXEOVMPkDNuntPebPIE39Xn7ex/JAI9+TmBIf/fcUuj58FaLCC88rOHy8leq0N5ChBB+V5fmpzA== 1744 | dependencies: 1745 | cli "~1.0.0" 1746 | console-browserify "1.1.x" 1747 | exit "0.1.x" 1748 | htmlparser2 "3.8.x" 1749 | lodash "~4.17.21" 1750 | minimatch "~3.0.2" 1751 | shelljs "0.3.x" 1752 | strip-json-comments "1.0.x" 1753 | 1754 | json-parse-even-better-errors@^2.3.0: 1755 | version "2.3.1" 1756 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1757 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1758 | 1759 | json-schema-traverse@^0.4.1: 1760 | version "0.4.1" 1761 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1762 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1763 | 1764 | json-schema@0.4.0: 1765 | version "0.4.0" 1766 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" 1767 | integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== 1768 | 1769 | json-stringify-safe@~5.0.1: 1770 | version "5.0.1" 1771 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1772 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1773 | 1774 | json5@^2.1.2: 1775 | version "2.2.0" 1776 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1777 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1778 | dependencies: 1779 | minimist "^1.2.5" 1780 | 1781 | jsprim@^1.2.2: 1782 | version "1.4.2" 1783 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" 1784 | integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== 1785 | dependencies: 1786 | assert-plus "1.0.0" 1787 | extsprintf "1.3.0" 1788 | json-schema "0.4.0" 1789 | verror "1.10.0" 1790 | 1791 | kind-of@^6.0.2: 1792 | version "6.0.3" 1793 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1794 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1795 | 1796 | lcov-parse@^1.0.0: 1797 | version "1.0.0" 1798 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" 1799 | integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= 1800 | 1801 | libtap@^1.1.4: 1802 | version "1.1.4" 1803 | resolved "https://registry.yarnpkg.com/libtap/-/libtap-1.1.4.tgz#b329a49733f71f6193358664b608f301d096bf62" 1804 | integrity sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA== 1805 | dependencies: 1806 | async-hook-domain "^2.0.4" 1807 | bind-obj-methods "^3.0.0" 1808 | diff "^4.0.2" 1809 | function-loop "^2.0.1" 1810 | minipass "^3.1.5" 1811 | own-or "^1.0.0" 1812 | own-or-env "^1.0.2" 1813 | signal-exit "^3.0.4" 1814 | stack-utils "^2.0.4" 1815 | tap-parser "^10.0.1" 1816 | tap-yaml "^1.0.0" 1817 | tcompare "^5.0.6" 1818 | trivial-deferred "^1.0.1" 1819 | yapool "^1.0.0" 1820 | 1821 | liftup@~3.0.1: 1822 | version "3.0.1" 1823 | resolved "https://registry.yarnpkg.com/liftup/-/liftup-3.0.1.tgz#1cb81aff0f368464ed3a5f1a7286372d6b1a60ce" 1824 | integrity sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw== 1825 | dependencies: 1826 | extend "^3.0.2" 1827 | findup-sync "^4.0.0" 1828 | fined "^1.2.0" 1829 | flagged-respawn "^1.0.1" 1830 | is-plain-object "^2.0.4" 1831 | object.map "^1.0.1" 1832 | rechoir "^0.7.0" 1833 | resolve "^1.19.0" 1834 | 1835 | livereload-js@^2.3.0: 1836 | version "2.4.0" 1837 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" 1838 | integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== 1839 | 1840 | locate-path@^5.0.0: 1841 | version "5.0.0" 1842 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1843 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1844 | dependencies: 1845 | p-locate "^4.1.0" 1846 | 1847 | lodash.flattendeep@^4.4.0: 1848 | version "4.4.0" 1849 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" 1850 | integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= 1851 | 1852 | lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.20, lodash@~4.17.10, lodash@~4.17.19, lodash@~4.17.21: 1853 | version "4.17.21" 1854 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1855 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1856 | 1857 | log-driver@^1.2.7: 1858 | version "1.2.7" 1859 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" 1860 | integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== 1861 | 1862 | loose-envify@^1.1.0: 1863 | version "1.4.0" 1864 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1865 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1866 | dependencies: 1867 | js-tokens "^3.0.0 || ^4.0.0" 1868 | 1869 | lru-cache@^6.0.0: 1870 | version "6.0.0" 1871 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1872 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1873 | dependencies: 1874 | yallist "^4.0.0" 1875 | 1876 | make-dir@^3.0.0, make-dir@^3.0.2: 1877 | version "3.1.0" 1878 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1879 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1880 | dependencies: 1881 | semver "^6.0.0" 1882 | 1883 | make-iterator@^1.0.0: 1884 | version "1.0.1" 1885 | resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" 1886 | integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== 1887 | dependencies: 1888 | kind-of "^6.0.2" 1889 | 1890 | map-cache@^0.2.0: 1891 | version "0.2.2" 1892 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1893 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 1894 | 1895 | micromatch@^4.0.2: 1896 | version "4.0.4" 1897 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 1898 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1899 | dependencies: 1900 | braces "^3.0.1" 1901 | picomatch "^2.2.3" 1902 | 1903 | mime-db@1.51.0: 1904 | version "1.51.0" 1905 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" 1906 | integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== 1907 | 1908 | mime-types@^2.1.12, mime-types@~2.1.19: 1909 | version "2.1.34" 1910 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" 1911 | integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== 1912 | dependencies: 1913 | mime-db "1.51.0" 1914 | 1915 | mimic-fn@^2.1.0: 1916 | version "2.1.0" 1917 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1918 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1919 | 1920 | "minimatch@2 || 3", minimatch@^3.0.4, minimatch@~3.0.2, minimatch@~3.0.4: 1921 | version "3.0.4" 1922 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1923 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1924 | dependencies: 1925 | brace-expansion "^1.1.7" 1926 | 1927 | minimist@^1.2.5: 1928 | version "1.2.5" 1929 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1930 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1931 | 1932 | minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.5: 1933 | version "3.1.6" 1934 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" 1935 | integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== 1936 | dependencies: 1937 | yallist "^4.0.0" 1938 | 1939 | mkdirp@^0.5.1: 1940 | version "0.5.5" 1941 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 1942 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 1943 | dependencies: 1944 | minimist "^1.2.5" 1945 | 1946 | mkdirp@^1.0.4, mkdirp@~1.0.4: 1947 | version "1.0.4" 1948 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 1949 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1950 | 1951 | ms@2.1.2: 1952 | version "2.1.2" 1953 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1954 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1955 | 1956 | ms@^2.1.1, ms@^2.1.2: 1957 | version "2.1.3" 1958 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1959 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1960 | 1961 | node-preload@^0.2.1: 1962 | version "0.2.1" 1963 | resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" 1964 | integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== 1965 | dependencies: 1966 | process-on-spawn "^1.0.0" 1967 | 1968 | node-releases@^2.0.1: 1969 | version "2.0.1" 1970 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" 1971 | integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== 1972 | 1973 | nodeunit-x@^0.15.0: 1974 | version "0.15.0" 1975 | resolved "https://registry.yarnpkg.com/nodeunit-x/-/nodeunit-x-0.15.0.tgz#7c5e066b35ef08615089459ea579fa020172aa80" 1976 | integrity sha512-g3XCZ3Gh1Fxr9NPPo0PtmEooZ2jSJF+tP0DPtqCZmFA22uQ0N2clAew6+GIAIMnjH4eX9BS0ixxpb45IAYHnVA== 1977 | dependencies: 1978 | ejs "^3.1.6" 1979 | tap "^15.0.10" 1980 | 1981 | nopt@~3.0.6: 1982 | version "3.0.6" 1983 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 1984 | integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= 1985 | dependencies: 1986 | abbrev "1" 1987 | 1988 | nopt@~4.0.1: 1989 | version "4.0.3" 1990 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" 1991 | integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== 1992 | dependencies: 1993 | abbrev "1" 1994 | osenv "^0.1.4" 1995 | 1996 | normalize-package-data@^3.0.0: 1997 | version "3.0.3" 1998 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" 1999 | integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== 2000 | dependencies: 2001 | hosted-git-info "^4.0.1" 2002 | is-core-module "^2.5.0" 2003 | semver "^7.3.4" 2004 | validate-npm-package-license "^3.0.1" 2005 | 2006 | normalize-path@^3.0.0, normalize-path@~3.0.0: 2007 | version "3.0.0" 2008 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2009 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2010 | 2011 | npm-normalize-package-bin@^1.0.0: 2012 | version "1.0.1" 2013 | resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" 2014 | integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== 2015 | 2016 | nyc@^15.1.0: 2017 | version "15.1.0" 2018 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" 2019 | integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== 2020 | dependencies: 2021 | "@istanbuljs/load-nyc-config" "^1.0.0" 2022 | "@istanbuljs/schema" "^0.1.2" 2023 | caching-transform "^4.0.0" 2024 | convert-source-map "^1.7.0" 2025 | decamelize "^1.2.0" 2026 | find-cache-dir "^3.2.0" 2027 | find-up "^4.1.0" 2028 | foreground-child "^2.0.0" 2029 | get-package-type "^0.1.0" 2030 | glob "^7.1.6" 2031 | istanbul-lib-coverage "^3.0.0" 2032 | istanbul-lib-hook "^3.0.0" 2033 | istanbul-lib-instrument "^4.0.0" 2034 | istanbul-lib-processinfo "^2.0.2" 2035 | istanbul-lib-report "^3.0.0" 2036 | istanbul-lib-source-maps "^4.0.0" 2037 | istanbul-reports "^3.0.2" 2038 | make-dir "^3.0.0" 2039 | node-preload "^0.2.1" 2040 | p-map "^3.0.0" 2041 | process-on-spawn "^1.0.0" 2042 | resolve-from "^5.0.0" 2043 | rimraf "^3.0.0" 2044 | signal-exit "^3.0.2" 2045 | spawn-wrap "^2.0.0" 2046 | test-exclude "^6.0.0" 2047 | yargs "^15.0.2" 2048 | 2049 | oauth-sign@~0.9.0: 2050 | version "0.9.0" 2051 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 2052 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 2053 | 2054 | object-assign@^4.1.0, object-assign@^4.1.1: 2055 | version "4.1.1" 2056 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2057 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2058 | 2059 | object-inspect@^1.9.0: 2060 | version "1.12.0" 2061 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" 2062 | integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== 2063 | 2064 | object.defaults@^1.1.0: 2065 | version "1.1.0" 2066 | resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" 2067 | integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= 2068 | dependencies: 2069 | array-each "^1.0.1" 2070 | array-slice "^1.0.0" 2071 | for-own "^1.0.0" 2072 | isobject "^3.0.0" 2073 | 2074 | object.map@^1.0.1: 2075 | version "1.0.1" 2076 | resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" 2077 | integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= 2078 | dependencies: 2079 | for-own "^1.0.0" 2080 | make-iterator "^1.0.0" 2081 | 2082 | object.pick@^1.2.0: 2083 | version "1.3.0" 2084 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2085 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2086 | dependencies: 2087 | isobject "^3.0.1" 2088 | 2089 | once@^1.3.0: 2090 | version "1.4.0" 2091 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2092 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2093 | dependencies: 2094 | wrappy "1" 2095 | 2096 | onetime@^5.1.0: 2097 | version "5.1.2" 2098 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2099 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2100 | dependencies: 2101 | mimic-fn "^2.1.0" 2102 | 2103 | opener@^1.5.1: 2104 | version "1.5.2" 2105 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" 2106 | integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== 2107 | 2108 | os-homedir@^1.0.0: 2109 | version "1.0.2" 2110 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2111 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2112 | 2113 | os-tmpdir@^1.0.0: 2114 | version "1.0.2" 2115 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2116 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2117 | 2118 | osenv@^0.1.4: 2119 | version "0.1.5" 2120 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2121 | integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== 2122 | dependencies: 2123 | os-homedir "^1.0.0" 2124 | os-tmpdir "^1.0.0" 2125 | 2126 | own-or-env@^1.0.2: 2127 | version "1.0.2" 2128 | resolved "https://registry.yarnpkg.com/own-or-env/-/own-or-env-1.0.2.tgz#84e78d2d5128f7ee8a59f741ad5aafb4256a7c89" 2129 | integrity sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw== 2130 | dependencies: 2131 | own-or "^1.0.0" 2132 | 2133 | own-or@^1.0.0: 2134 | version "1.0.0" 2135 | resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc" 2136 | integrity sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw= 2137 | 2138 | p-limit@^2.2.0: 2139 | version "2.3.0" 2140 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2141 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2142 | dependencies: 2143 | p-try "^2.0.0" 2144 | 2145 | p-locate@^4.1.0: 2146 | version "4.1.0" 2147 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2148 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2149 | dependencies: 2150 | p-limit "^2.2.0" 2151 | 2152 | p-map@^3.0.0: 2153 | version "3.0.0" 2154 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" 2155 | integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== 2156 | dependencies: 2157 | aggregate-error "^3.0.0" 2158 | 2159 | p-try@^2.0.0: 2160 | version "2.2.0" 2161 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2162 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2163 | 2164 | package-hash@^4.0.0: 2165 | version "4.0.0" 2166 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" 2167 | integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== 2168 | dependencies: 2169 | graceful-fs "^4.1.15" 2170 | hasha "^5.0.0" 2171 | lodash.flattendeep "^4.4.0" 2172 | release-zalgo "^1.0.0" 2173 | 2174 | parse-filepath@^1.0.1: 2175 | version "1.0.2" 2176 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" 2177 | integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= 2178 | dependencies: 2179 | is-absolute "^1.0.0" 2180 | map-cache "^0.2.0" 2181 | path-root "^0.1.1" 2182 | 2183 | parse-passwd@^1.0.0: 2184 | version "1.0.0" 2185 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 2186 | integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= 2187 | 2188 | patch-console@^1.0.0: 2189 | version "1.0.0" 2190 | resolved "https://registry.yarnpkg.com/patch-console/-/patch-console-1.0.0.tgz#19b9f028713feb8a3c023702a8cc8cb9f7466f9d" 2191 | integrity sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== 2192 | 2193 | path-exists@^4.0.0: 2194 | version "4.0.0" 2195 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2196 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2197 | 2198 | path-is-absolute@^1.0.0: 2199 | version "1.0.1" 2200 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2201 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2202 | 2203 | path-key@^3.1.0: 2204 | version "3.1.1" 2205 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2206 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2207 | 2208 | path-parse@^1.0.7: 2209 | version "1.0.7" 2210 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2211 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2212 | 2213 | path-root-regex@^0.1.0: 2214 | version "0.1.2" 2215 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 2216 | integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= 2217 | 2218 | path-root@^0.1.1: 2219 | version "0.1.1" 2220 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 2221 | integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= 2222 | dependencies: 2223 | path-root-regex "^0.1.0" 2224 | 2225 | performance-now@^2.1.0: 2226 | version "2.1.0" 2227 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2228 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 2229 | 2230 | picocolors@^1.0.0: 2231 | version "1.0.0" 2232 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2233 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2234 | 2235 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 2236 | version "2.3.1" 2237 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2238 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2239 | 2240 | pkg-dir@^4.1.0: 2241 | version "4.2.0" 2242 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2243 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2244 | dependencies: 2245 | find-up "^4.0.0" 2246 | 2247 | process-on-spawn@^1.0.0: 2248 | version "1.0.0" 2249 | resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" 2250 | integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== 2251 | dependencies: 2252 | fromentries "^1.2.0" 2253 | 2254 | psl@^1.1.28: 2255 | version "1.8.0" 2256 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 2257 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 2258 | 2259 | punycode@^2.0.0, punycode@^2.1.0, punycode@^2.1.1: 2260 | version "2.1.1" 2261 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2262 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2263 | 2264 | qs@^6.4.0: 2265 | version "6.10.3" 2266 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" 2267 | integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== 2268 | dependencies: 2269 | side-channel "^1.0.4" 2270 | 2271 | qs@~6.5.2: 2272 | version "6.5.3" 2273 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" 2274 | integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== 2275 | 2276 | raw-body@~1.1.0: 2277 | version "1.1.7" 2278 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" 2279 | integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU= 2280 | dependencies: 2281 | bytes "1" 2282 | string_decoder "0.10" 2283 | 2284 | react-devtools-core@^4.19.1: 2285 | version "4.22.1" 2286 | resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.22.1.tgz#b276d42f860bedc373c9b3c0f5f96734318dd453" 2287 | integrity sha512-pvpNDHE7p0FtcCmIWGazoY8LLVfBI9sw0Kf10kdHhPI9Tzt3OG/qEt16GrAbE0keuna5WzX3r1qPKVjqOqsuUg== 2288 | dependencies: 2289 | shell-quote "^1.6.1" 2290 | ws "^7" 2291 | 2292 | react-reconciler@^0.26.2: 2293 | version "0.26.2" 2294 | resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.26.2.tgz#bbad0e2d1309423f76cf3c3309ac6c96e05e9d91" 2295 | integrity sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== 2296 | dependencies: 2297 | loose-envify "^1.1.0" 2298 | object-assign "^4.1.1" 2299 | scheduler "^0.20.2" 2300 | 2301 | react@*: 2302 | version "17.0.2" 2303 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 2304 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 2305 | dependencies: 2306 | loose-envify "^1.1.0" 2307 | object-assign "^4.1.1" 2308 | 2309 | read-package-json@^3.0.1: 2310 | version "3.0.1" 2311 | resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" 2312 | integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng== 2313 | dependencies: 2314 | glob "^7.1.1" 2315 | json-parse-even-better-errors "^2.3.0" 2316 | normalize-package-data "^3.0.0" 2317 | npm-normalize-package-bin "^1.0.0" 2318 | 2319 | readable-stream@1.1: 2320 | version "1.1.13" 2321 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" 2322 | integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4= 2323 | dependencies: 2324 | core-util-is "~1.0.0" 2325 | inherits "~2.0.1" 2326 | isarray "0.0.1" 2327 | string_decoder "~0.10.x" 2328 | 2329 | readdirp@~3.6.0: 2330 | version "3.6.0" 2331 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 2332 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 2333 | dependencies: 2334 | picomatch "^2.2.1" 2335 | 2336 | rechoir@^0.7.0: 2337 | version "0.7.1" 2338 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" 2339 | integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== 2340 | dependencies: 2341 | resolve "^1.9.0" 2342 | 2343 | redeyed@~2.1.0: 2344 | version "2.1.1" 2345 | resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" 2346 | integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= 2347 | dependencies: 2348 | esprima "~4.0.0" 2349 | 2350 | release-zalgo@^1.0.0: 2351 | version "1.0.0" 2352 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" 2353 | integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= 2354 | dependencies: 2355 | es6-error "^4.0.1" 2356 | 2357 | request@^2.88.2: 2358 | version "2.88.2" 2359 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 2360 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 2361 | dependencies: 2362 | aws-sign2 "~0.7.0" 2363 | aws4 "^1.8.0" 2364 | caseless "~0.12.0" 2365 | combined-stream "~1.0.6" 2366 | extend "~3.0.2" 2367 | forever-agent "~0.6.1" 2368 | form-data "~2.3.2" 2369 | har-validator "~5.1.3" 2370 | http-signature "~1.2.0" 2371 | is-typedarray "~1.0.0" 2372 | isstream "~0.1.2" 2373 | json-stringify-safe "~5.0.1" 2374 | mime-types "~2.1.19" 2375 | oauth-sign "~0.9.0" 2376 | performance-now "^2.1.0" 2377 | qs "~6.5.2" 2378 | safe-buffer "^5.1.2" 2379 | tough-cookie "~2.5.0" 2380 | tunnel-agent "^0.6.0" 2381 | uuid "^3.3.2" 2382 | 2383 | require-directory@^2.1.1: 2384 | version "2.1.1" 2385 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2386 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2387 | 2388 | require-main-filename@^2.0.0: 2389 | version "2.0.0" 2390 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 2391 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 2392 | 2393 | resolve-dir@^1.0.0, resolve-dir@^1.0.1: 2394 | version "1.0.1" 2395 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" 2396 | integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= 2397 | dependencies: 2398 | expand-tilde "^2.0.0" 2399 | global-modules "^1.0.0" 2400 | 2401 | resolve-from@^3.0.0: 2402 | version "3.0.0" 2403 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 2404 | integrity sha1-six699nWiBvItuZTM17rywoYh0g= 2405 | 2406 | resolve-from@^5.0.0: 2407 | version "5.0.0" 2408 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2409 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2410 | 2411 | resolve@^1.19.0, resolve@^1.9.0: 2412 | version "1.21.0" 2413 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" 2414 | integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== 2415 | dependencies: 2416 | is-core-module "^2.8.0" 2417 | path-parse "^1.0.7" 2418 | supports-preserve-symlinks-flag "^1.0.0" 2419 | 2420 | restore-cursor@^3.1.0: 2421 | version "3.1.0" 2422 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 2423 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 2424 | dependencies: 2425 | onetime "^5.1.0" 2426 | signal-exit "^3.0.2" 2427 | 2428 | rimraf@^3.0.0, rimraf@~3.0.2: 2429 | version "3.0.2" 2430 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2431 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2432 | dependencies: 2433 | glob "^7.1.3" 2434 | 2435 | rimraf@~2.6.2: 2436 | version "2.6.3" 2437 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 2438 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 2439 | dependencies: 2440 | glob "^7.1.3" 2441 | 2442 | safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.2: 2443 | version "5.2.1" 2444 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 2445 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2446 | 2447 | safe-buffer@~5.1.1: 2448 | version "5.1.2" 2449 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2450 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2451 | 2452 | safe-json-parse@~1.0.1: 2453 | version "1.0.1" 2454 | resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" 2455 | integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c= 2456 | 2457 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 2458 | version "2.1.2" 2459 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2460 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2461 | 2462 | scheduler@^0.20.2: 2463 | version "0.20.2" 2464 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 2465 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 2466 | dependencies: 2467 | loose-envify "^1.1.0" 2468 | object-assign "^4.1.1" 2469 | 2470 | semver@^6.0.0, semver@^6.3.0: 2471 | version "6.3.0" 2472 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2473 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2474 | 2475 | semver@^7.3.4: 2476 | version "7.3.5" 2477 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 2478 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 2479 | dependencies: 2480 | lru-cache "^6.0.0" 2481 | 2482 | set-blocking@^2.0.0: 2483 | version "2.0.0" 2484 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2485 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 2486 | 2487 | shebang-command@^2.0.0: 2488 | version "2.0.0" 2489 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2490 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2491 | dependencies: 2492 | shebang-regex "^3.0.0" 2493 | 2494 | shebang-regex@^3.0.0: 2495 | version "3.0.0" 2496 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2497 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2498 | 2499 | shell-quote@^1.6.1: 2500 | version "1.7.3" 2501 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" 2502 | integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== 2503 | 2504 | shelljs@0.3.x: 2505 | version "0.3.0" 2506 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" 2507 | integrity sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E= 2508 | 2509 | side-channel@^1.0.4: 2510 | version "1.0.4" 2511 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 2512 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 2513 | dependencies: 2514 | call-bind "^1.0.0" 2515 | get-intrinsic "^1.0.2" 2516 | object-inspect "^1.9.0" 2517 | 2518 | signal-exit@^3.0.2, signal-exit@^3.0.4, signal-exit@^3.0.6: 2519 | version "3.0.6" 2520 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" 2521 | integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== 2522 | 2523 | slice-ansi@^3.0.0: 2524 | version "3.0.0" 2525 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 2526 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 2527 | dependencies: 2528 | ansi-styles "^4.0.0" 2529 | astral-regex "^2.0.0" 2530 | is-fullwidth-code-point "^3.0.0" 2531 | 2532 | source-map-support@^0.5.16: 2533 | version "0.5.21" 2534 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 2535 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 2536 | dependencies: 2537 | buffer-from "^1.0.0" 2538 | source-map "^0.6.0" 2539 | 2540 | source-map@^0.5.0: 2541 | version "0.5.7" 2542 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2543 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2544 | 2545 | source-map@^0.6.0, source-map@^0.6.1: 2546 | version "0.6.1" 2547 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2548 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2549 | 2550 | spawn-wrap@^2.0.0: 2551 | version "2.0.0" 2552 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" 2553 | integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== 2554 | dependencies: 2555 | foreground-child "^2.0.0" 2556 | is-windows "^1.0.2" 2557 | make-dir "^3.0.0" 2558 | rimraf "^3.0.0" 2559 | signal-exit "^3.0.2" 2560 | which "^2.0.1" 2561 | 2562 | spdx-correct@^3.0.0: 2563 | version "3.1.1" 2564 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 2565 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 2566 | dependencies: 2567 | spdx-expression-parse "^3.0.0" 2568 | spdx-license-ids "^3.0.0" 2569 | 2570 | spdx-exceptions@^2.1.0: 2571 | version "2.3.0" 2572 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 2573 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 2574 | 2575 | spdx-expression-parse@^3.0.0: 2576 | version "3.0.1" 2577 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 2578 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 2579 | dependencies: 2580 | spdx-exceptions "^2.1.0" 2581 | spdx-license-ids "^3.0.0" 2582 | 2583 | spdx-license-ids@^3.0.0: 2584 | version "3.0.11" 2585 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" 2586 | integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== 2587 | 2588 | sprintf-js@^1.0.3: 2589 | version "1.1.2" 2590 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" 2591 | integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== 2592 | 2593 | sprintf-js@~1.0.2: 2594 | version "1.0.3" 2595 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2596 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2597 | 2598 | sshpk@^1.7.0: 2599 | version "1.17.0" 2600 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" 2601 | integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== 2602 | dependencies: 2603 | asn1 "~0.2.3" 2604 | assert-plus "^1.0.0" 2605 | bcrypt-pbkdf "^1.0.0" 2606 | dashdash "^1.12.0" 2607 | ecc-jsbn "~0.1.1" 2608 | getpass "^0.1.1" 2609 | jsbn "~0.1.0" 2610 | safer-buffer "^2.0.2" 2611 | tweetnacl "~0.14.0" 2612 | 2613 | stack-utils@^2.0.2, stack-utils@^2.0.4: 2614 | version "2.0.5" 2615 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" 2616 | integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== 2617 | dependencies: 2618 | escape-string-regexp "^2.0.0" 2619 | 2620 | string-template@~0.2.1: 2621 | version "0.2.1" 2622 | resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" 2623 | integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= 2624 | 2625 | string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: 2626 | version "4.2.3" 2627 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2628 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2629 | dependencies: 2630 | emoji-regex "^8.0.0" 2631 | is-fullwidth-code-point "^3.0.0" 2632 | strip-ansi "^6.0.1" 2633 | 2634 | string_decoder@0.10, string_decoder@~0.10.x: 2635 | version "0.10.31" 2636 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2637 | integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= 2638 | 2639 | strip-ansi@^3.0.1: 2640 | version "3.0.1" 2641 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2642 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 2643 | dependencies: 2644 | ansi-regex "^2.0.0" 2645 | 2646 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2647 | version "6.0.1" 2648 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2649 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2650 | dependencies: 2651 | ansi-regex "^5.0.1" 2652 | 2653 | strip-bom@^4.0.0: 2654 | version "4.0.0" 2655 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2656 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2657 | 2658 | strip-json-comments@1.0.x: 2659 | version "1.0.4" 2660 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" 2661 | integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= 2662 | 2663 | supports-color@^5.3.0: 2664 | version "5.5.0" 2665 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2666 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2667 | dependencies: 2668 | has-flag "^3.0.0" 2669 | 2670 | supports-color@^7.1.0: 2671 | version "7.2.0" 2672 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2673 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2674 | dependencies: 2675 | has-flag "^4.0.0" 2676 | 2677 | supports-preserve-symlinks-flag@^1.0.0: 2678 | version "1.0.0" 2679 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2680 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2681 | 2682 | tap-mocha-reporter@^5.0.0: 2683 | version "5.0.1" 2684 | resolved "https://registry.yarnpkg.com/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz#74f00be2ddd2a380adad45e085795137bc39497a" 2685 | integrity sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA== 2686 | dependencies: 2687 | color-support "^1.1.0" 2688 | debug "^4.1.1" 2689 | diff "^4.0.1" 2690 | escape-string-regexp "^2.0.0" 2691 | glob "^7.0.5" 2692 | tap-parser "^10.0.0" 2693 | tap-yaml "^1.0.0" 2694 | unicode-length "^2.0.2" 2695 | 2696 | tap-parser@^10.0.0, tap-parser@^10.0.1: 2697 | version "10.1.0" 2698 | resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-10.1.0.tgz#7b1aac40dbcaa4716c0b58952686eae65d2b74ad" 2699 | integrity sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA== 2700 | dependencies: 2701 | events-to-array "^1.0.1" 2702 | minipass "^3.0.0" 2703 | tap-yaml "^1.0.0" 2704 | 2705 | tap-yaml@^1.0.0: 2706 | version "1.0.0" 2707 | resolved "https://registry.yarnpkg.com/tap-yaml/-/tap-yaml-1.0.0.tgz#4e31443a5489e05ca8bbb3e36cef71b5dec69635" 2708 | integrity sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ== 2709 | dependencies: 2710 | yaml "^1.5.0" 2711 | 2712 | tap@^15.0.10: 2713 | version "15.1.6" 2714 | resolved "https://registry.yarnpkg.com/tap/-/tap-15.1.6.tgz#dc393e17bead934a2ee734d6124928694f2da2db" 2715 | integrity sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w== 2716 | dependencies: 2717 | "@isaacs/import-jsx" "^4.0.1" 2718 | "@types/react" "^17" 2719 | chokidar "^3.3.0" 2720 | coveralls "^3.0.11" 2721 | findit "^2.0.0" 2722 | foreground-child "^2.0.0" 2723 | fs-exists-cached "^1.0.0" 2724 | glob "^7.1.6" 2725 | ink "^3.2.0" 2726 | isexe "^2.0.0" 2727 | istanbul-lib-processinfo "^2.0.2" 2728 | jackspeak "^1.4.1" 2729 | libtap "^1.1.4" 2730 | minipass "^3.1.1" 2731 | mkdirp "^1.0.4" 2732 | nyc "^15.1.0" 2733 | opener "^1.5.1" 2734 | react "^17.0.2" 2735 | rimraf "^3.0.0" 2736 | signal-exit "^3.0.6" 2737 | source-map-support "^0.5.16" 2738 | tap-mocha-reporter "^5.0.0" 2739 | tap-parser "^10.0.1" 2740 | tap-yaml "^1.0.0" 2741 | tcompare "^5.0.7" 2742 | treport "^3.0.2" 2743 | which "^2.0.2" 2744 | 2745 | tcompare@^5.0.6, tcompare@^5.0.7: 2746 | version "5.0.7" 2747 | resolved "https://registry.yarnpkg.com/tcompare/-/tcompare-5.0.7.tgz#8c2d647208031ed5cac5e573428149e16f795bbf" 2748 | integrity sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w== 2749 | dependencies: 2750 | diff "^4.0.2" 2751 | 2752 | temp@~0.9.4: 2753 | version "0.9.4" 2754 | resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" 2755 | integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== 2756 | dependencies: 2757 | mkdirp "^0.5.1" 2758 | rimraf "~2.6.2" 2759 | 2760 | test-exclude@^6.0.0: 2761 | version "6.0.0" 2762 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2763 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2764 | dependencies: 2765 | "@istanbuljs/schema" "^0.1.2" 2766 | glob "^7.1.4" 2767 | minimatch "^3.0.4" 2768 | 2769 | tiny-lr@^1.1.1: 2770 | version "1.1.1" 2771 | resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" 2772 | integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== 2773 | dependencies: 2774 | body "^5.1.0" 2775 | debug "^3.1.0" 2776 | faye-websocket "~0.10.0" 2777 | livereload-js "^2.3.0" 2778 | object-assign "^4.1.0" 2779 | qs "^6.4.0" 2780 | 2781 | to-fast-properties@^2.0.0: 2782 | version "2.0.0" 2783 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2784 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2785 | 2786 | to-regex-range@^5.0.1: 2787 | version "5.0.1" 2788 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2789 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2790 | dependencies: 2791 | is-number "^7.0.0" 2792 | 2793 | tough-cookie@~2.5.0: 2794 | version "2.5.0" 2795 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 2796 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 2797 | dependencies: 2798 | psl "^1.1.28" 2799 | punycode "^2.1.1" 2800 | 2801 | treport@*: 2802 | version "3.0.2" 2803 | resolved "https://registry.yarnpkg.com/treport/-/treport-3.0.2.tgz#6503b6430b201620a20fef2892bc875dc6495116" 2804 | integrity sha512-aMKalaiZMsTfTXIEnJEz7BT5aHzN+ZV5hFCrXZsCbRZxfGRop+7JQdXntBs1FHZc9W2zMHLxGHb42yf08l6/bw== 2805 | dependencies: 2806 | "@isaacs/import-jsx" "^4.0.1" 2807 | cardinal "^2.1.1" 2808 | chalk "^3.0.0" 2809 | ink "^3.2.0" 2810 | ms "^2.1.2" 2811 | tap-parser "^10.0.1" 2812 | unicode-length "^2.0.2" 2813 | 2814 | trivial-deferred@^1.0.1: 2815 | version "1.0.1" 2816 | resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3" 2817 | integrity sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM= 2818 | 2819 | tunnel-agent@^0.6.0: 2820 | version "0.6.0" 2821 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2822 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 2823 | dependencies: 2824 | safe-buffer "^5.0.1" 2825 | 2826 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2827 | version "0.14.5" 2828 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2829 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 2830 | 2831 | type-fest@^0.12.0: 2832 | version "0.12.0" 2833 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.12.0.tgz#f57a27ab81c68d136a51fd71467eff94157fa1ee" 2834 | integrity sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== 2835 | 2836 | type-fest@^0.21.3: 2837 | version "0.21.3" 2838 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 2839 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2840 | 2841 | type-fest@^0.8.0: 2842 | version "0.8.1" 2843 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 2844 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 2845 | 2846 | typedarray-to-buffer@^3.1.5: 2847 | version "3.1.5" 2848 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 2849 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 2850 | dependencies: 2851 | is-typedarray "^1.0.0" 2852 | 2853 | unc-path-regex@^0.1.2: 2854 | version "0.1.2" 2855 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 2856 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 2857 | 2858 | underscore.string@~3.3.5: 2859 | version "3.3.5" 2860 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" 2861 | integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg== 2862 | dependencies: 2863 | sprintf-js "^1.0.3" 2864 | util-deprecate "^1.0.2" 2865 | 2866 | underscore@~1.13.2: 2867 | version "1.13.2" 2868 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881" 2869 | integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== 2870 | 2871 | unicode-length@^2.0.2: 2872 | version "2.0.2" 2873 | resolved "https://registry.yarnpkg.com/unicode-length/-/unicode-length-2.0.2.tgz#e5eb4c0d523fdf7bebb59ca261c9ca1cf732da96" 2874 | integrity sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg== 2875 | dependencies: 2876 | punycode "^2.0.0" 2877 | strip-ansi "^3.0.1" 2878 | 2879 | uri-js@^4.2.2: 2880 | version "4.4.1" 2881 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2882 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2883 | dependencies: 2884 | punycode "^2.1.0" 2885 | 2886 | util-deprecate@^1.0.2: 2887 | version "1.0.2" 2888 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2889 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2890 | 2891 | uuid@^3.3.2, uuid@^3.3.3: 2892 | version "3.4.0" 2893 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 2894 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 2895 | 2896 | v8flags@~3.2.0: 2897 | version "3.2.0" 2898 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" 2899 | integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== 2900 | dependencies: 2901 | homedir-polyfill "^1.0.1" 2902 | 2903 | validate-npm-package-license@^3.0.1: 2904 | version "3.0.4" 2905 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2906 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2907 | dependencies: 2908 | spdx-correct "^3.0.0" 2909 | spdx-expression-parse "^3.0.0" 2910 | 2911 | verror@1.10.0: 2912 | version "1.10.0" 2913 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2914 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 2915 | dependencies: 2916 | assert-plus "^1.0.0" 2917 | core-util-is "1.0.2" 2918 | extsprintf "^1.2.0" 2919 | 2920 | websocket-driver@>=0.5.1: 2921 | version "0.7.4" 2922 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" 2923 | integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== 2924 | dependencies: 2925 | http-parser-js ">=0.5.1" 2926 | safe-buffer ">=5.1.0" 2927 | websocket-extensions ">=0.1.1" 2928 | 2929 | websocket-extensions@>=0.1.1: 2930 | version "0.1.4" 2931 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" 2932 | integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== 2933 | 2934 | which-module@^2.0.0: 2935 | version "2.0.0" 2936 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 2937 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 2938 | 2939 | which@^1.2.14: 2940 | version "1.3.1" 2941 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2942 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 2943 | dependencies: 2944 | isexe "^2.0.0" 2945 | 2946 | which@^2.0.1, which@^2.0.2, which@~2.0.2: 2947 | version "2.0.2" 2948 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2949 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2950 | dependencies: 2951 | isexe "^2.0.0" 2952 | 2953 | widest-line@^3.1.0: 2954 | version "3.1.0" 2955 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" 2956 | integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== 2957 | dependencies: 2958 | string-width "^4.0.0" 2959 | 2960 | wrap-ansi@^6.2.0: 2961 | version "6.2.0" 2962 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 2963 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 2964 | dependencies: 2965 | ansi-styles "^4.0.0" 2966 | string-width "^4.1.0" 2967 | strip-ansi "^6.0.0" 2968 | 2969 | wrap-ansi@^7.0.0: 2970 | version "7.0.0" 2971 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2972 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2973 | dependencies: 2974 | ansi-styles "^4.0.0" 2975 | string-width "^4.1.0" 2976 | strip-ansi "^6.0.0" 2977 | 2978 | wrappy@1: 2979 | version "1.0.2" 2980 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2981 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2982 | 2983 | write-file-atomic@^3.0.0: 2984 | version "3.0.3" 2985 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 2986 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 2987 | dependencies: 2988 | imurmurhash "^0.1.4" 2989 | is-typedarray "^1.0.0" 2990 | signal-exit "^3.0.2" 2991 | typedarray-to-buffer "^3.1.5" 2992 | 2993 | ws@^7, ws@^7.5.5: 2994 | version "7.5.6" 2995 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" 2996 | integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== 2997 | 2998 | y18n@^4.0.0: 2999 | version "4.0.3" 3000 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" 3001 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== 3002 | 3003 | yallist@^4.0.0: 3004 | version "4.0.0" 3005 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3006 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3007 | 3008 | yaml@^1.5.0: 3009 | version "1.10.2" 3010 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 3011 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 3012 | 3013 | yapool@^1.0.0: 3014 | version "1.0.0" 3015 | resolved "https://registry.yarnpkg.com/yapool/-/yapool-1.0.0.tgz#f693f29a315b50d9a9da2646a7a6645c96985b6a" 3016 | integrity sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o= 3017 | 3018 | yargs-parser@^18.1.2: 3019 | version "18.1.3" 3020 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 3021 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 3022 | dependencies: 3023 | camelcase "^5.0.0" 3024 | decamelize "^1.2.0" 3025 | 3026 | yargs@^15.0.2: 3027 | version "15.4.1" 3028 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" 3029 | integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== 3030 | dependencies: 3031 | cliui "^6.0.0" 3032 | decamelize "^1.2.0" 3033 | find-up "^4.1.0" 3034 | get-caller-file "^2.0.1" 3035 | require-directory "^2.1.1" 3036 | require-main-filename "^2.0.0" 3037 | set-blocking "^2.0.0" 3038 | string-width "^4.2.0" 3039 | which-module "^2.0.0" 3040 | y18n "^4.0.0" 3041 | yargs-parser "^18.1.2" 3042 | 3043 | yoga-layout-prebuilt@^1.9.6: 3044 | version "1.10.0" 3045 | resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz#2936fbaf4b3628ee0b3e3b1df44936d6c146faa6" 3046 | integrity sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== 3047 | dependencies: 3048 | "@types/yoga-layout" "1.9.2" 3049 | --------------------------------------------------------------------------------