├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── changelog.md ├── gulpfile.js ├── index.js ├── lib └── buffer-iterator.js ├── package-lock.json ├── package.json ├── src └── buffer-iterator.js └── test └── buffer-iterator.test.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '8' 4 | before_script: 5 | - npm install 6 | script: 7 | - npm test 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Charles 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Buffer Iterator 2 | 3 | [![Build Status](https://travis-ci.org/charleslxh/buffer-iterator.svg?branch=master)](https://travis-ci.org/charleslxh/buffer-iterator) 4 | 5 | Let Buffer iterable. 6 | 7 | ## Install 8 | 9 | ```bash 10 | $ npm install buffer-iterator --save 11 | ``` 12 | 13 | ## Static Methods 14 | 15 | 1. `from(): BufferIterator`: Create a `BufferIterator`, *arguments* is `Buffer.from`'s arguments. 16 | 17 | ```js 18 | const bi = BufferIterator.from([0x01, 0x02]); 19 | // same as 20 | const bi = new BufferIterator(Buffer.from([0x01, 0x02])); 21 | ``` 22 | 23 | ## Instance Methods 24 | 25 | 1. `next(needMovePointer = true): Number|Null`: Read a byte from buffer, and move pointer to the next byte when `needMovePointer` is `true`(**default**), if it has not next byte, return *null*. 26 | 27 | ```js 28 | const assert = require('assert'); 29 | const BufferIterator = require('buffer-iterator'); 30 | 31 | const bi = BufferIterator.from([0x01, 0x02]); 32 | assert.equal(bi.next(), 0x01); 33 | ``` 34 | 35 | 2. `prev(needMovePointer = false): Number|Null`: Read a previous byte from buffer, and move pointer to previous byte when `needMovePointer` is `true`(**default false**). Returns previous byte if it exists, otherwise it returns *null*. 36 | 37 | ```js 38 | const assert = require('assert'); 39 | const BufferIterator = require('buffer-iterator'); 40 | 41 | const bi = BufferIterator.from([0x01, 0x02]); 42 | bi.next(); 43 | bi.next(); 44 | assert.equal(bi.prev(), 0x01); 45 | ``` 46 | 47 | 3. `current(): Number`: Returns current byte if it exists, otherwise it returns *null*. 48 | 49 | ```js 50 | const assert = require('assert'); 51 | const BufferIterator = require('buffer-iterator'); 52 | 53 | const bi = BufferIterator.from([0x01, 0x02]); 54 | bi.next(); 55 | assert.equal(bi.current(), 0x01); 56 | ``` 57 | 58 | 4. `hasNext(): Boolean`: Returns true if and only if the iterator has other bytes to read. 59 | 60 | ```js 61 | const assert = require('assert'); 62 | const BufferIterator = require('buffer-iterator'); 63 | 64 | const bi = BufferIterator.from([0x01, 0x02]); 65 | bi.next(); 66 | assert.equal(bi.hasNext(), true); 67 | ``` 68 | 69 | 5. `remainLength(): Number`: Counts bytes which have not been read yet. 70 | 71 | ```js 72 | const assert = require('assert'); 73 | const BufferIterator = require('buffer-iterator'); 74 | 75 | const bi = BufferIterator.from([0x01, 0x02]); 76 | bi.next(); 77 | assert.equal(bi.remainLength(), 1); 78 | ``` 79 | 80 | 6. `readBytes(number = 1): Buffer|Null`: Read multi bytes. 81 | 82 | ```js 83 | const assert = require('assert'); 84 | const BufferIterator = require('buffer-iterator'); 85 | 86 | const bi = BufferIterator.from([0x01, 0x02]); 87 | assert.equal(bi.readBytes(10).equals(Buffer.from([0x01, 0x02])), true); 88 | ``` 89 | 90 | 7. `append(buf): Null`: Append buffer. 91 | 92 | ```js 93 | const assert = require('assert'); 94 | const BufferIterator = require('buffer-iterator'); 95 | 96 | const bi = BufferIterator.from([0x01, 0x02]); 97 | bi.append(Buffer.from([0x03])); 98 | assert.equal(bi.buffer.equals(Buffer.from([0x01, 0x02, 0x03])), true); 99 | ``` 100 | 101 | 8. use `for...of`. 102 | 103 | ```js 104 | const assert = require('assert'); 105 | const BufferIterator = require('buffer-iterator'); 106 | 107 | const bi = BufferIterator.from([0x01, 0x02]); 108 | for (let byte of bi) { 109 | console.log(byte); 110 | } 111 | 112 | // 1 113 | // 2 114 | ``` 115 | 116 | # Contribute 117 | 118 | 1. fork. 119 | 120 | 2. install dependencies. 121 | 122 | ```bash 123 | $ npm install 124 | ``` 125 | 126 | 3. run command. 127 | 128 | ```bash 129 | $ gulp 130 | ``` 131 | -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- 1 | # 1.0.1 2 | 3 | - add `from` static method. 4 | 5 | # 1.0.0 6 | 7 | - init project 8 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const gulp = require('gulp'); 4 | const babel = require('gulp-babel'); 5 | 6 | gulp.task('build', function() { 7 | return gulp.src('src/**/*.js') 8 | .pipe(babel({ 9 | presets: ['es2015', 'stage-0'], 10 | plugins: ['transform-runtime'] 11 | })) 12 | .pipe(gulp.dest('./lib/')) 13 | }); 14 | 15 | gulp.task('default', ['build'], function() { 16 | gulp.watch('src/**/*.js', ['build']).on('change', function(event) { 17 | gutil.log(gutil.colors.magenta('File ' + event.path + ' was ' + event.type + ', try rebuild')); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./lib/buffer-iterator'); 4 | -------------------------------------------------------------------------------- /lib/buffer-iterator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var _from = require('babel-runtime/core-js/array/from'); 4 | 5 | var _from2 = _interopRequireDefault(_from); 6 | 7 | var _iterator = require('babel-runtime/core-js/symbol/iterator'); 8 | 9 | var _iterator2 = _interopRequireDefault(_iterator); 10 | 11 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); 12 | 13 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); 14 | 15 | var _createClass2 = require('babel-runtime/helpers/createClass'); 16 | 17 | var _createClass3 = _interopRequireDefault(_createClass2); 18 | 19 | var _symbol = require('babel-runtime/core-js/symbol'); 20 | 21 | var _symbol2 = _interopRequireDefault(_symbol); 22 | 23 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 24 | 25 | var BUFFER = (0, _symbol2.default)('BufferIterator#buffer'); 26 | var POINTER = (0, _symbol2.default)('BufferIterator#pointer'); 27 | var BUFFER_ITERATOR = (0, _symbol2.default)('BufferIterator#iterator'); 28 | 29 | var BufferIterator = function () { 30 | function BufferIterator(buf) { 31 | (0, _classCallCheck3.default)(this, BufferIterator); 32 | 33 | this.append(buf); 34 | 35 | this[POINTER] = -1; 36 | } 37 | 38 | (0, _createClass3.default)(BufferIterator, [{ 39 | key: 'current', 40 | 41 | 42 | /** 43 | * Read current byte 44 | * 45 | * @return Number|Null 46 | **/ 47 | value: function current() { 48 | if (this[POINTER] < 0 || this[POINTER] > this.length - 1) { 49 | return null; 50 | } 51 | 52 | return this.buffer[this[POINTER]]; 53 | } 54 | 55 | /** 56 | * Read next one byte 57 | * 58 | * @param needMovePointer, move the pointer to next byte. 59 | * @return Number|Null 60 | **/ 61 | 62 | }, { 63 | key: 'next', 64 | value: function next() { 65 | var needMovePointer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; 66 | 67 | if (this.hasNext()) { 68 | var pointer = needMovePointer ? ++this[POINTER] : this[POINTER] + 1; 69 | return this.buffer.readUInt8(pointer); 70 | } 71 | 72 | return null; 73 | } 74 | 75 | /** 76 | * Read previous one byte 77 | * 78 | * @param needMovePointer, move the pointer to next byte. 79 | * @return Number|Null 80 | **/ 81 | 82 | }, { 83 | key: 'prev', 84 | value: function prev() { 85 | var needMovePointer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 86 | 87 | if (this[POINTER] < 1) { 88 | return null; 89 | } 90 | 91 | var pointer = needMovePointer ? --this[POINTER] : this[POINTER] - 1; 92 | return this.buffer.readUInt8(pointer); 93 | } 94 | 95 | /** 96 | * If the has remain bytes to read. 97 | * 98 | * @return Boolean 99 | **/ 100 | 101 | }, { 102 | key: 'hasNext', 103 | value: function hasNext() { 104 | var maxOffset = this.length - 1; 105 | return this.length > 0 && this[POINTER] < maxOffset; 106 | } 107 | 108 | /** 109 | * Get the count of unread bytes. 110 | * 111 | * @return Number 112 | **/ 113 | 114 | }, { 115 | key: 'remainLength', 116 | value: function remainLength() { 117 | var maxOffset = this.length - 1; 118 | return this[POINTER] < maxOffset ? maxOffset - this[POINTER] : 0; 119 | } 120 | 121 | /** 122 | * Read some bytes 123 | * 124 | * @param number, the number of bytes to read, default is 1. 125 | * @return Buffer|Null 126 | **/ 127 | 128 | }, { 129 | key: 'readBytes', 130 | value: function readBytes() { 131 | var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; 132 | 133 | var start = this[POINTER] + 1; 134 | 135 | if (start > this.length - 1) { 136 | return null; 137 | } 138 | 139 | var buf = this.buffer.slice(start, start + number); 140 | this[POINTER] = this[POINTER] + number; 141 | return buf; 142 | } 143 | 144 | /** 145 | * Create a buffer itaretor. 146 | * 147 | * @param arguments of Buffer.from. 148 | **/ 149 | 150 | }, { 151 | key: 'append', 152 | 153 | 154 | /** 155 | * Add buffer to buffer list. 156 | **/ 157 | value: function append(buf) { 158 | if (buf === null || buf === undefined) { 159 | return; 160 | } 161 | 162 | if (!buf instanceof Buffer) { 163 | buf = Buffer.from(buf); 164 | } 165 | 166 | this.buffer = Buffer.concat([this.buffer, buf], this.length + buf.length); 167 | } 168 | }, { 169 | key: _iterator2.default, 170 | value: function value() { 171 | var self = this; 172 | return { 173 | next: function next() { 174 | var value = self.next(true); 175 | var done = value === null; 176 | return { value: value, done: done }; 177 | } 178 | }; 179 | } 180 | }, { 181 | key: 'length', 182 | get: function get() { 183 | return this.buffer.length; 184 | } 185 | }, { 186 | key: 'buffer', 187 | get: function get() { 188 | if (!this[BUFFER]) { 189 | this[BUFFER] = Buffer.alloc(0); 190 | } 191 | 192 | return this[BUFFER]; 193 | }, 194 | set: function set(buf) { 195 | return this[BUFFER] = buf; 196 | } 197 | }], [{ 198 | key: 'from', 199 | value: function from() { 200 | var args = (0, _from2.default)(arguments); 201 | 202 | return new this(Buffer.from.apply(Buffer, args)); 203 | } 204 | }]); 205 | return BufferIterator; 206 | }(); 207 | 208 | ; 209 | 210 | module.exports = BufferIterator; -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buffer-iterator", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ansi-colors": { 8 | "version": "1.1.0", 9 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", 10 | "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", 11 | "dev": true, 12 | "requires": { 13 | "ansi-wrap": "0.1.0" 14 | } 15 | }, 16 | "ansi-gray": { 17 | "version": "0.1.1", 18 | "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", 19 | "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", 20 | "dev": true, 21 | "requires": { 22 | "ansi-wrap": "0.1.0" 23 | } 24 | }, 25 | "ansi-regex": { 26 | "version": "2.1.1", 27 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 28 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 29 | "dev": true 30 | }, 31 | "ansi-styles": { 32 | "version": "2.2.1", 33 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 34 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 35 | "dev": true 36 | }, 37 | "ansi-wrap": { 38 | "version": "0.1.0", 39 | "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", 40 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", 41 | "dev": true 42 | }, 43 | "archy": { 44 | "version": "1.0.0", 45 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 46 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", 47 | "dev": true 48 | }, 49 | "arr-diff": { 50 | "version": "4.0.0", 51 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 52 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 53 | "dev": true 54 | }, 55 | "arr-flatten": { 56 | "version": "1.1.0", 57 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 58 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 59 | "dev": true 60 | }, 61 | "arr-union": { 62 | "version": "3.1.0", 63 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 64 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 65 | "dev": true 66 | }, 67 | "array-differ": { 68 | "version": "1.0.0", 69 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", 70 | "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", 71 | "dev": true 72 | }, 73 | "array-each": { 74 | "version": "1.0.1", 75 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", 76 | "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", 77 | "dev": true 78 | }, 79 | "array-slice": { 80 | "version": "1.1.0", 81 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", 82 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", 83 | "dev": true 84 | }, 85 | "array-uniq": { 86 | "version": "1.0.3", 87 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 88 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 89 | "dev": true 90 | }, 91 | "array-unique": { 92 | "version": "0.3.2", 93 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 94 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 95 | "dev": true 96 | }, 97 | "assign-symbols": { 98 | "version": "1.0.0", 99 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 100 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 101 | "dev": true 102 | }, 103 | "atob": { 104 | "version": "2.1.1", 105 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", 106 | "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", 107 | "dev": true 108 | }, 109 | "babel-code-frame": { 110 | "version": "6.26.0", 111 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 112 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 113 | "dev": true, 114 | "requires": { 115 | "chalk": "1.1.3", 116 | "esutils": "2.0.2", 117 | "js-tokens": "3.0.2" 118 | } 119 | }, 120 | "babel-core": { 121 | "version": "6.26.3", 122 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", 123 | "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", 124 | "dev": true, 125 | "requires": { 126 | "babel-code-frame": "6.26.0", 127 | "babel-generator": "6.26.1", 128 | "babel-helpers": "6.24.1", 129 | "babel-messages": "6.23.0", 130 | "babel-register": "6.26.0", 131 | "babel-runtime": "6.26.0", 132 | "babel-template": "6.26.0", 133 | "babel-traverse": "6.26.0", 134 | "babel-types": "6.26.0", 135 | "babylon": "6.18.0", 136 | "convert-source-map": "1.5.1", 137 | "debug": "2.6.9", 138 | "json5": "0.5.1", 139 | "lodash": "4.17.10", 140 | "minimatch": "3.0.4", 141 | "path-is-absolute": "1.0.1", 142 | "private": "0.1.8", 143 | "slash": "1.0.0", 144 | "source-map": "0.5.7" 145 | }, 146 | "dependencies": { 147 | "debug": { 148 | "version": "2.6.9", 149 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 150 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 151 | "dev": true, 152 | "requires": { 153 | "ms": "2.0.0" 154 | } 155 | }, 156 | "lodash": { 157 | "version": "4.17.10", 158 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 159 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 160 | "dev": true 161 | } 162 | } 163 | }, 164 | "babel-generator": { 165 | "version": "6.26.1", 166 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", 167 | "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", 168 | "dev": true, 169 | "requires": { 170 | "babel-messages": "6.23.0", 171 | "babel-runtime": "6.26.0", 172 | "babel-types": "6.26.0", 173 | "detect-indent": "4.0.0", 174 | "jsesc": "1.3.0", 175 | "lodash": "4.17.10", 176 | "source-map": "0.5.7", 177 | "trim-right": "1.0.1" 178 | }, 179 | "dependencies": { 180 | "lodash": { 181 | "version": "4.17.10", 182 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 183 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 184 | "dev": true 185 | } 186 | } 187 | }, 188 | "babel-helper-bindify-decorators": { 189 | "version": "6.24.1", 190 | "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", 191 | "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", 192 | "dev": true, 193 | "requires": { 194 | "babel-runtime": "6.26.0", 195 | "babel-traverse": "6.26.0", 196 | "babel-types": "6.26.0" 197 | } 198 | }, 199 | "babel-helper-builder-binary-assignment-operator-visitor": { 200 | "version": "6.24.1", 201 | "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", 202 | "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", 203 | "dev": true, 204 | "requires": { 205 | "babel-helper-explode-assignable-expression": "6.24.1", 206 | "babel-runtime": "6.26.0", 207 | "babel-types": "6.26.0" 208 | } 209 | }, 210 | "babel-helper-call-delegate": { 211 | "version": "6.24.1", 212 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 213 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 214 | "dev": true, 215 | "requires": { 216 | "babel-helper-hoist-variables": "6.24.1", 217 | "babel-runtime": "6.26.0", 218 | "babel-traverse": "6.26.0", 219 | "babel-types": "6.26.0" 220 | } 221 | }, 222 | "babel-helper-define-map": { 223 | "version": "6.26.0", 224 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", 225 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", 226 | "dev": true, 227 | "requires": { 228 | "babel-helper-function-name": "6.24.1", 229 | "babel-runtime": "6.26.0", 230 | "babel-types": "6.26.0", 231 | "lodash": "4.17.10" 232 | }, 233 | "dependencies": { 234 | "lodash": { 235 | "version": "4.17.10", 236 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 237 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 238 | "dev": true 239 | } 240 | } 241 | }, 242 | "babel-helper-explode-assignable-expression": { 243 | "version": "6.24.1", 244 | "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", 245 | "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", 246 | "dev": true, 247 | "requires": { 248 | "babel-runtime": "6.26.0", 249 | "babel-traverse": "6.26.0", 250 | "babel-types": "6.26.0" 251 | } 252 | }, 253 | "babel-helper-explode-class": { 254 | "version": "6.24.1", 255 | "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", 256 | "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", 257 | "dev": true, 258 | "requires": { 259 | "babel-helper-bindify-decorators": "6.24.1", 260 | "babel-runtime": "6.26.0", 261 | "babel-traverse": "6.26.0", 262 | "babel-types": "6.26.0" 263 | } 264 | }, 265 | "babel-helper-function-name": { 266 | "version": "6.24.1", 267 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 268 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 269 | "dev": true, 270 | "requires": { 271 | "babel-helper-get-function-arity": "6.24.1", 272 | "babel-runtime": "6.26.0", 273 | "babel-template": "6.26.0", 274 | "babel-traverse": "6.26.0", 275 | "babel-types": "6.26.0" 276 | } 277 | }, 278 | "babel-helper-get-function-arity": { 279 | "version": "6.24.1", 280 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 281 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 282 | "dev": true, 283 | "requires": { 284 | "babel-runtime": "6.26.0", 285 | "babel-types": "6.26.0" 286 | } 287 | }, 288 | "babel-helper-hoist-variables": { 289 | "version": "6.24.1", 290 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 291 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 292 | "dev": true, 293 | "requires": { 294 | "babel-runtime": "6.26.0", 295 | "babel-types": "6.26.0" 296 | } 297 | }, 298 | "babel-helper-optimise-call-expression": { 299 | "version": "6.24.1", 300 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 301 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 302 | "dev": true, 303 | "requires": { 304 | "babel-runtime": "6.26.0", 305 | "babel-types": "6.26.0" 306 | } 307 | }, 308 | "babel-helper-regex": { 309 | "version": "6.26.0", 310 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", 311 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", 312 | "dev": true, 313 | "requires": { 314 | "babel-runtime": "6.26.0", 315 | "babel-types": "6.26.0", 316 | "lodash": "4.17.10" 317 | }, 318 | "dependencies": { 319 | "lodash": { 320 | "version": "4.17.10", 321 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 322 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 323 | "dev": true 324 | } 325 | } 326 | }, 327 | "babel-helper-remap-async-to-generator": { 328 | "version": "6.24.1", 329 | "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", 330 | "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", 331 | "dev": true, 332 | "requires": { 333 | "babel-helper-function-name": "6.24.1", 334 | "babel-runtime": "6.26.0", 335 | "babel-template": "6.26.0", 336 | "babel-traverse": "6.26.0", 337 | "babel-types": "6.26.0" 338 | } 339 | }, 340 | "babel-helper-replace-supers": { 341 | "version": "6.24.1", 342 | "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 343 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 344 | "dev": true, 345 | "requires": { 346 | "babel-helper-optimise-call-expression": "6.24.1", 347 | "babel-messages": "6.23.0", 348 | "babel-runtime": "6.26.0", 349 | "babel-template": "6.26.0", 350 | "babel-traverse": "6.26.0", 351 | "babel-types": "6.26.0" 352 | } 353 | }, 354 | "babel-helpers": { 355 | "version": "6.24.1", 356 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 357 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 358 | "dev": true, 359 | "requires": { 360 | "babel-runtime": "6.26.0", 361 | "babel-template": "6.26.0" 362 | } 363 | }, 364 | "babel-messages": { 365 | "version": "6.23.0", 366 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 367 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 368 | "dev": true, 369 | "requires": { 370 | "babel-runtime": "6.26.0" 371 | } 372 | }, 373 | "babel-plugin-check-es2015-constants": { 374 | "version": "6.22.0", 375 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 376 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 377 | "dev": true, 378 | "requires": { 379 | "babel-runtime": "6.26.0" 380 | } 381 | }, 382 | "babel-plugin-syntax-async-functions": { 383 | "version": "6.13.0", 384 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", 385 | "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", 386 | "dev": true 387 | }, 388 | "babel-plugin-syntax-async-generators": { 389 | "version": "6.13.0", 390 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", 391 | "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", 392 | "dev": true 393 | }, 394 | "babel-plugin-syntax-class-constructor-call": { 395 | "version": "6.18.0", 396 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", 397 | "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", 398 | "dev": true 399 | }, 400 | "babel-plugin-syntax-class-properties": { 401 | "version": "6.13.0", 402 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", 403 | "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", 404 | "dev": true 405 | }, 406 | "babel-plugin-syntax-decorators": { 407 | "version": "6.13.0", 408 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", 409 | "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", 410 | "dev": true 411 | }, 412 | "babel-plugin-syntax-do-expressions": { 413 | "version": "6.13.0", 414 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", 415 | "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", 416 | "dev": true 417 | }, 418 | "babel-plugin-syntax-dynamic-import": { 419 | "version": "6.18.0", 420 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", 421 | "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", 422 | "dev": true 423 | }, 424 | "babel-plugin-syntax-exponentiation-operator": { 425 | "version": "6.13.0", 426 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", 427 | "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", 428 | "dev": true 429 | }, 430 | "babel-plugin-syntax-export-extensions": { 431 | "version": "6.13.0", 432 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", 433 | "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", 434 | "dev": true 435 | }, 436 | "babel-plugin-syntax-function-bind": { 437 | "version": "6.13.0", 438 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", 439 | "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", 440 | "dev": true 441 | }, 442 | "babel-plugin-syntax-object-rest-spread": { 443 | "version": "6.13.0", 444 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", 445 | "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", 446 | "dev": true 447 | }, 448 | "babel-plugin-syntax-trailing-function-commas": { 449 | "version": "6.22.0", 450 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", 451 | "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", 452 | "dev": true 453 | }, 454 | "babel-plugin-transform-async-generator-functions": { 455 | "version": "6.24.1", 456 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", 457 | "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", 458 | "dev": true, 459 | "requires": { 460 | "babel-helper-remap-async-to-generator": "6.24.1", 461 | "babel-plugin-syntax-async-generators": "6.13.0", 462 | "babel-runtime": "6.26.0" 463 | } 464 | }, 465 | "babel-plugin-transform-async-to-generator": { 466 | "version": "6.24.1", 467 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", 468 | "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", 469 | "dev": true, 470 | "requires": { 471 | "babel-helper-remap-async-to-generator": "6.24.1", 472 | "babel-plugin-syntax-async-functions": "6.13.0", 473 | "babel-runtime": "6.26.0" 474 | } 475 | }, 476 | "babel-plugin-transform-class-constructor-call": { 477 | "version": "6.24.1", 478 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", 479 | "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", 480 | "dev": true, 481 | "requires": { 482 | "babel-plugin-syntax-class-constructor-call": "6.18.0", 483 | "babel-runtime": "6.26.0", 484 | "babel-template": "6.26.0" 485 | } 486 | }, 487 | "babel-plugin-transform-class-properties": { 488 | "version": "6.24.1", 489 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", 490 | "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", 491 | "dev": true, 492 | "requires": { 493 | "babel-helper-function-name": "6.24.1", 494 | "babel-plugin-syntax-class-properties": "6.13.0", 495 | "babel-runtime": "6.26.0", 496 | "babel-template": "6.26.0" 497 | } 498 | }, 499 | "babel-plugin-transform-decorators": { 500 | "version": "6.24.1", 501 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", 502 | "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", 503 | "dev": true, 504 | "requires": { 505 | "babel-helper-explode-class": "6.24.1", 506 | "babel-plugin-syntax-decorators": "6.13.0", 507 | "babel-runtime": "6.26.0", 508 | "babel-template": "6.26.0", 509 | "babel-types": "6.26.0" 510 | } 511 | }, 512 | "babel-plugin-transform-do-expressions": { 513 | "version": "6.22.0", 514 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", 515 | "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", 516 | "dev": true, 517 | "requires": { 518 | "babel-plugin-syntax-do-expressions": "6.13.0", 519 | "babel-runtime": "6.26.0" 520 | } 521 | }, 522 | "babel-plugin-transform-es2015-arrow-functions": { 523 | "version": "6.22.0", 524 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 525 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 526 | "dev": true, 527 | "requires": { 528 | "babel-runtime": "6.26.0" 529 | } 530 | }, 531 | "babel-plugin-transform-es2015-block-scoped-functions": { 532 | "version": "6.22.0", 533 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 534 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 535 | "dev": true, 536 | "requires": { 537 | "babel-runtime": "6.26.0" 538 | } 539 | }, 540 | "babel-plugin-transform-es2015-block-scoping": { 541 | "version": "6.26.0", 542 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", 543 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", 544 | "dev": true, 545 | "requires": { 546 | "babel-runtime": "6.26.0", 547 | "babel-template": "6.26.0", 548 | "babel-traverse": "6.26.0", 549 | "babel-types": "6.26.0", 550 | "lodash": "4.17.10" 551 | }, 552 | "dependencies": { 553 | "lodash": { 554 | "version": "4.17.10", 555 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 556 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 557 | "dev": true 558 | } 559 | } 560 | }, 561 | "babel-plugin-transform-es2015-classes": { 562 | "version": "6.24.1", 563 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 564 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 565 | "dev": true, 566 | "requires": { 567 | "babel-helper-define-map": "6.26.0", 568 | "babel-helper-function-name": "6.24.1", 569 | "babel-helper-optimise-call-expression": "6.24.1", 570 | "babel-helper-replace-supers": "6.24.1", 571 | "babel-messages": "6.23.0", 572 | "babel-runtime": "6.26.0", 573 | "babel-template": "6.26.0", 574 | "babel-traverse": "6.26.0", 575 | "babel-types": "6.26.0" 576 | } 577 | }, 578 | "babel-plugin-transform-es2015-computed-properties": { 579 | "version": "6.24.1", 580 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 581 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 582 | "dev": true, 583 | "requires": { 584 | "babel-runtime": "6.26.0", 585 | "babel-template": "6.26.0" 586 | } 587 | }, 588 | "babel-plugin-transform-es2015-destructuring": { 589 | "version": "6.23.0", 590 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 591 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 592 | "dev": true, 593 | "requires": { 594 | "babel-runtime": "6.26.0" 595 | } 596 | }, 597 | "babel-plugin-transform-es2015-duplicate-keys": { 598 | "version": "6.24.1", 599 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 600 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 601 | "dev": true, 602 | "requires": { 603 | "babel-runtime": "6.26.0", 604 | "babel-types": "6.26.0" 605 | } 606 | }, 607 | "babel-plugin-transform-es2015-for-of": { 608 | "version": "6.23.0", 609 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 610 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 611 | "dev": true, 612 | "requires": { 613 | "babel-runtime": "6.26.0" 614 | } 615 | }, 616 | "babel-plugin-transform-es2015-function-name": { 617 | "version": "6.24.1", 618 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 619 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 620 | "dev": true, 621 | "requires": { 622 | "babel-helper-function-name": "6.24.1", 623 | "babel-runtime": "6.26.0", 624 | "babel-types": "6.26.0" 625 | } 626 | }, 627 | "babel-plugin-transform-es2015-literals": { 628 | "version": "6.22.0", 629 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 630 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 631 | "dev": true, 632 | "requires": { 633 | "babel-runtime": "6.26.0" 634 | } 635 | }, 636 | "babel-plugin-transform-es2015-modules-amd": { 637 | "version": "6.24.1", 638 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 639 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 640 | "dev": true, 641 | "requires": { 642 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 643 | "babel-runtime": "6.26.0", 644 | "babel-template": "6.26.0" 645 | } 646 | }, 647 | "babel-plugin-transform-es2015-modules-commonjs": { 648 | "version": "6.26.2", 649 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", 650 | "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", 651 | "dev": true, 652 | "requires": { 653 | "babel-plugin-transform-strict-mode": "6.24.1", 654 | "babel-runtime": "6.26.0", 655 | "babel-template": "6.26.0", 656 | "babel-types": "6.26.0" 657 | } 658 | }, 659 | "babel-plugin-transform-es2015-modules-systemjs": { 660 | "version": "6.24.1", 661 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 662 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 663 | "dev": true, 664 | "requires": { 665 | "babel-helper-hoist-variables": "6.24.1", 666 | "babel-runtime": "6.26.0", 667 | "babel-template": "6.26.0" 668 | } 669 | }, 670 | "babel-plugin-transform-es2015-modules-umd": { 671 | "version": "6.24.1", 672 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 673 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 674 | "dev": true, 675 | "requires": { 676 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 677 | "babel-runtime": "6.26.0", 678 | "babel-template": "6.26.0" 679 | } 680 | }, 681 | "babel-plugin-transform-es2015-object-super": { 682 | "version": "6.24.1", 683 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 684 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 685 | "dev": true, 686 | "requires": { 687 | "babel-helper-replace-supers": "6.24.1", 688 | "babel-runtime": "6.26.0" 689 | } 690 | }, 691 | "babel-plugin-transform-es2015-parameters": { 692 | "version": "6.24.1", 693 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 694 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 695 | "dev": true, 696 | "requires": { 697 | "babel-helper-call-delegate": "6.24.1", 698 | "babel-helper-get-function-arity": "6.24.1", 699 | "babel-runtime": "6.26.0", 700 | "babel-template": "6.26.0", 701 | "babel-traverse": "6.26.0", 702 | "babel-types": "6.26.0" 703 | } 704 | }, 705 | "babel-plugin-transform-es2015-shorthand-properties": { 706 | "version": "6.24.1", 707 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 708 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 709 | "dev": true, 710 | "requires": { 711 | "babel-runtime": "6.26.0", 712 | "babel-types": "6.26.0" 713 | } 714 | }, 715 | "babel-plugin-transform-es2015-spread": { 716 | "version": "6.22.0", 717 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 718 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 719 | "dev": true, 720 | "requires": { 721 | "babel-runtime": "6.26.0" 722 | } 723 | }, 724 | "babel-plugin-transform-es2015-sticky-regex": { 725 | "version": "6.24.1", 726 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 727 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 728 | "dev": true, 729 | "requires": { 730 | "babel-helper-regex": "6.26.0", 731 | "babel-runtime": "6.26.0", 732 | "babel-types": "6.26.0" 733 | } 734 | }, 735 | "babel-plugin-transform-es2015-template-literals": { 736 | "version": "6.22.0", 737 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 738 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 739 | "dev": true, 740 | "requires": { 741 | "babel-runtime": "6.26.0" 742 | } 743 | }, 744 | "babel-plugin-transform-es2015-typeof-symbol": { 745 | "version": "6.23.0", 746 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 747 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 748 | "dev": true, 749 | "requires": { 750 | "babel-runtime": "6.26.0" 751 | } 752 | }, 753 | "babel-plugin-transform-es2015-unicode-regex": { 754 | "version": "6.24.1", 755 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 756 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 757 | "dev": true, 758 | "requires": { 759 | "babel-helper-regex": "6.26.0", 760 | "babel-runtime": "6.26.0", 761 | "regexpu-core": "2.0.0" 762 | } 763 | }, 764 | "babel-plugin-transform-exponentiation-operator": { 765 | "version": "6.24.1", 766 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", 767 | "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", 768 | "dev": true, 769 | "requires": { 770 | "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", 771 | "babel-plugin-syntax-exponentiation-operator": "6.13.0", 772 | "babel-runtime": "6.26.0" 773 | } 774 | }, 775 | "babel-plugin-transform-export-extensions": { 776 | "version": "6.22.0", 777 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", 778 | "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", 779 | "dev": true, 780 | "requires": { 781 | "babel-plugin-syntax-export-extensions": "6.13.0", 782 | "babel-runtime": "6.26.0" 783 | } 784 | }, 785 | "babel-plugin-transform-function-bind": { 786 | "version": "6.22.0", 787 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", 788 | "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", 789 | "dev": true, 790 | "requires": { 791 | "babel-plugin-syntax-function-bind": "6.13.0", 792 | "babel-runtime": "6.26.0" 793 | } 794 | }, 795 | "babel-plugin-transform-object-rest-spread": { 796 | "version": "6.26.0", 797 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", 798 | "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", 799 | "dev": true, 800 | "requires": { 801 | "babel-plugin-syntax-object-rest-spread": "6.13.0", 802 | "babel-runtime": "6.26.0" 803 | } 804 | }, 805 | "babel-plugin-transform-regenerator": { 806 | "version": "6.26.0", 807 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", 808 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", 809 | "dev": true, 810 | "requires": { 811 | "regenerator-transform": "0.10.1" 812 | } 813 | }, 814 | "babel-plugin-transform-runtime": { 815 | "version": "6.23.0", 816 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", 817 | "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", 818 | "dev": true, 819 | "requires": { 820 | "babel-runtime": "6.26.0" 821 | } 822 | }, 823 | "babel-plugin-transform-strict-mode": { 824 | "version": "6.24.1", 825 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 826 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 827 | "dev": true, 828 | "requires": { 829 | "babel-runtime": "6.26.0", 830 | "babel-types": "6.26.0" 831 | } 832 | }, 833 | "babel-preset-es2015": { 834 | "version": "6.24.1", 835 | "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", 836 | "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", 837 | "dev": true, 838 | "requires": { 839 | "babel-plugin-check-es2015-constants": "6.22.0", 840 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0", 841 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", 842 | "babel-plugin-transform-es2015-block-scoping": "6.26.0", 843 | "babel-plugin-transform-es2015-classes": "6.24.1", 844 | "babel-plugin-transform-es2015-computed-properties": "6.24.1", 845 | "babel-plugin-transform-es2015-destructuring": "6.23.0", 846 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", 847 | "babel-plugin-transform-es2015-for-of": "6.23.0", 848 | "babel-plugin-transform-es2015-function-name": "6.24.1", 849 | "babel-plugin-transform-es2015-literals": "6.22.0", 850 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 851 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", 852 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", 853 | "babel-plugin-transform-es2015-modules-umd": "6.24.1", 854 | "babel-plugin-transform-es2015-object-super": "6.24.1", 855 | "babel-plugin-transform-es2015-parameters": "6.24.1", 856 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", 857 | "babel-plugin-transform-es2015-spread": "6.22.0", 858 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1", 859 | "babel-plugin-transform-es2015-template-literals": "6.22.0", 860 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", 861 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1", 862 | "babel-plugin-transform-regenerator": "6.26.0" 863 | } 864 | }, 865 | "babel-preset-stage-0": { 866 | "version": "6.24.1", 867 | "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", 868 | "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", 869 | "dev": true, 870 | "requires": { 871 | "babel-plugin-transform-do-expressions": "6.22.0", 872 | "babel-plugin-transform-function-bind": "6.22.0", 873 | "babel-preset-stage-1": "6.24.1" 874 | } 875 | }, 876 | "babel-preset-stage-1": { 877 | "version": "6.24.1", 878 | "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", 879 | "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", 880 | "dev": true, 881 | "requires": { 882 | "babel-plugin-transform-class-constructor-call": "6.24.1", 883 | "babel-plugin-transform-export-extensions": "6.22.0", 884 | "babel-preset-stage-2": "6.24.1" 885 | } 886 | }, 887 | "babel-preset-stage-2": { 888 | "version": "6.24.1", 889 | "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", 890 | "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", 891 | "dev": true, 892 | "requires": { 893 | "babel-plugin-syntax-dynamic-import": "6.18.0", 894 | "babel-plugin-transform-class-properties": "6.24.1", 895 | "babel-plugin-transform-decorators": "6.24.1", 896 | "babel-preset-stage-3": "6.24.1" 897 | } 898 | }, 899 | "babel-preset-stage-3": { 900 | "version": "6.24.1", 901 | "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", 902 | "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", 903 | "dev": true, 904 | "requires": { 905 | "babel-plugin-syntax-trailing-function-commas": "6.22.0", 906 | "babel-plugin-transform-async-generator-functions": "6.24.1", 907 | "babel-plugin-transform-async-to-generator": "6.24.1", 908 | "babel-plugin-transform-exponentiation-operator": "6.24.1", 909 | "babel-plugin-transform-object-rest-spread": "6.26.0" 910 | } 911 | }, 912 | "babel-register": { 913 | "version": "6.26.0", 914 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 915 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 916 | "dev": true, 917 | "requires": { 918 | "babel-core": "6.26.3", 919 | "babel-runtime": "6.26.0", 920 | "core-js": "2.5.6", 921 | "home-or-tmp": "2.0.0", 922 | "lodash": "4.17.10", 923 | "mkdirp": "0.5.1", 924 | "source-map-support": "0.4.18" 925 | }, 926 | "dependencies": { 927 | "lodash": { 928 | "version": "4.17.10", 929 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 930 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 931 | "dev": true 932 | } 933 | } 934 | }, 935 | "babel-runtime": { 936 | "version": "6.26.0", 937 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 938 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 939 | "dev": true, 940 | "requires": { 941 | "core-js": "2.5.6", 942 | "regenerator-runtime": "0.11.1" 943 | } 944 | }, 945 | "babel-template": { 946 | "version": "6.26.0", 947 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 948 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 949 | "dev": true, 950 | "requires": { 951 | "babel-runtime": "6.26.0", 952 | "babel-traverse": "6.26.0", 953 | "babel-types": "6.26.0", 954 | "babylon": "6.18.0", 955 | "lodash": "4.17.10" 956 | }, 957 | "dependencies": { 958 | "lodash": { 959 | "version": "4.17.10", 960 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 961 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 962 | "dev": true 963 | } 964 | } 965 | }, 966 | "babel-traverse": { 967 | "version": "6.26.0", 968 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 969 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 970 | "dev": true, 971 | "requires": { 972 | "babel-code-frame": "6.26.0", 973 | "babel-messages": "6.23.0", 974 | "babel-runtime": "6.26.0", 975 | "babel-types": "6.26.0", 976 | "babylon": "6.18.0", 977 | "debug": "2.6.9", 978 | "globals": "9.18.0", 979 | "invariant": "2.2.4", 980 | "lodash": "4.17.10" 981 | }, 982 | "dependencies": { 983 | "debug": { 984 | "version": "2.6.9", 985 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 986 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 987 | "dev": true, 988 | "requires": { 989 | "ms": "2.0.0" 990 | } 991 | }, 992 | "lodash": { 993 | "version": "4.17.10", 994 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 995 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 996 | "dev": true 997 | } 998 | } 999 | }, 1000 | "babel-types": { 1001 | "version": "6.26.0", 1002 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 1003 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 1004 | "dev": true, 1005 | "requires": { 1006 | "babel-runtime": "6.26.0", 1007 | "esutils": "2.0.2", 1008 | "lodash": "4.17.10", 1009 | "to-fast-properties": "1.0.3" 1010 | }, 1011 | "dependencies": { 1012 | "lodash": { 1013 | "version": "4.17.10", 1014 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 1015 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 1016 | "dev": true 1017 | } 1018 | } 1019 | }, 1020 | "babylon": { 1021 | "version": "6.18.0", 1022 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 1023 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 1024 | "dev": true 1025 | }, 1026 | "balanced-match": { 1027 | "version": "1.0.0", 1028 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 1029 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 1030 | "dev": true 1031 | }, 1032 | "base": { 1033 | "version": "0.11.2", 1034 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 1035 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 1036 | "dev": true, 1037 | "requires": { 1038 | "cache-base": "1.0.1", 1039 | "class-utils": "0.3.6", 1040 | "component-emitter": "1.2.1", 1041 | "define-property": "1.0.0", 1042 | "isobject": "3.0.1", 1043 | "mixin-deep": "1.3.1", 1044 | "pascalcase": "0.1.1" 1045 | }, 1046 | "dependencies": { 1047 | "define-property": { 1048 | "version": "1.0.0", 1049 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 1050 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 1051 | "dev": true, 1052 | "requires": { 1053 | "is-descriptor": "1.0.2" 1054 | } 1055 | }, 1056 | "is-accessor-descriptor": { 1057 | "version": "1.0.0", 1058 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1059 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1060 | "dev": true, 1061 | "requires": { 1062 | "kind-of": "6.0.2" 1063 | } 1064 | }, 1065 | "is-data-descriptor": { 1066 | "version": "1.0.0", 1067 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1068 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1069 | "dev": true, 1070 | "requires": { 1071 | "kind-of": "6.0.2" 1072 | } 1073 | }, 1074 | "is-descriptor": { 1075 | "version": "1.0.2", 1076 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1077 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1078 | "dev": true, 1079 | "requires": { 1080 | "is-accessor-descriptor": "1.0.0", 1081 | "is-data-descriptor": "1.0.0", 1082 | "kind-of": "6.0.2" 1083 | } 1084 | } 1085 | } 1086 | }, 1087 | "beeper": { 1088 | "version": "1.1.1", 1089 | "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", 1090 | "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", 1091 | "dev": true 1092 | }, 1093 | "brace-expansion": { 1094 | "version": "1.1.11", 1095 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1096 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1097 | "dev": true, 1098 | "requires": { 1099 | "balanced-match": "1.0.0", 1100 | "concat-map": "0.0.1" 1101 | } 1102 | }, 1103 | "braces": { 1104 | "version": "2.3.2", 1105 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 1106 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 1107 | "dev": true, 1108 | "requires": { 1109 | "arr-flatten": "1.1.0", 1110 | "array-unique": "0.3.2", 1111 | "extend-shallow": "2.0.1", 1112 | "fill-range": "4.0.0", 1113 | "isobject": "3.0.1", 1114 | "repeat-element": "1.1.2", 1115 | "snapdragon": "0.8.2", 1116 | "snapdragon-node": "2.1.1", 1117 | "split-string": "3.1.0", 1118 | "to-regex": "3.0.2" 1119 | }, 1120 | "dependencies": { 1121 | "extend-shallow": { 1122 | "version": "2.0.1", 1123 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1124 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1125 | "dev": true, 1126 | "requires": { 1127 | "is-extendable": "0.1.1" 1128 | } 1129 | } 1130 | } 1131 | }, 1132 | "browser-stdout": { 1133 | "version": "1.3.1", 1134 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 1135 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 1136 | "dev": true 1137 | }, 1138 | "cache-base": { 1139 | "version": "1.0.1", 1140 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 1141 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 1142 | "dev": true, 1143 | "requires": { 1144 | "collection-visit": "1.0.0", 1145 | "component-emitter": "1.2.1", 1146 | "get-value": "2.0.6", 1147 | "has-value": "1.0.0", 1148 | "isobject": "3.0.1", 1149 | "set-value": "2.0.0", 1150 | "to-object-path": "0.3.0", 1151 | "union-value": "1.0.0", 1152 | "unset-value": "1.0.0" 1153 | } 1154 | }, 1155 | "chalk": { 1156 | "version": "1.1.3", 1157 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1158 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1159 | "dev": true, 1160 | "requires": { 1161 | "ansi-styles": "2.2.1", 1162 | "escape-string-regexp": "1.0.5", 1163 | "has-ansi": "2.0.0", 1164 | "strip-ansi": "3.0.1", 1165 | "supports-color": "2.0.0" 1166 | }, 1167 | "dependencies": { 1168 | "supports-color": { 1169 | "version": "2.0.0", 1170 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1171 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1172 | "dev": true 1173 | } 1174 | } 1175 | }, 1176 | "class-utils": { 1177 | "version": "0.3.6", 1178 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 1179 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 1180 | "dev": true, 1181 | "requires": { 1182 | "arr-union": "3.1.0", 1183 | "define-property": "0.2.5", 1184 | "isobject": "3.0.1", 1185 | "static-extend": "0.1.2" 1186 | }, 1187 | "dependencies": { 1188 | "define-property": { 1189 | "version": "0.2.5", 1190 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1191 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1192 | "dev": true, 1193 | "requires": { 1194 | "is-descriptor": "0.1.6" 1195 | } 1196 | } 1197 | } 1198 | }, 1199 | "clone": { 1200 | "version": "1.0.4", 1201 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 1202 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 1203 | "dev": true 1204 | }, 1205 | "clone-stats": { 1206 | "version": "0.0.1", 1207 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", 1208 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", 1209 | "dev": true 1210 | }, 1211 | "collection-visit": { 1212 | "version": "1.0.0", 1213 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 1214 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 1215 | "dev": true, 1216 | "requires": { 1217 | "map-visit": "1.0.0", 1218 | "object-visit": "1.0.1" 1219 | } 1220 | }, 1221 | "color-support": { 1222 | "version": "1.1.3", 1223 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 1224 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 1225 | "dev": true 1226 | }, 1227 | "commander": { 1228 | "version": "2.15.1", 1229 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", 1230 | "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", 1231 | "dev": true 1232 | }, 1233 | "component-emitter": { 1234 | "version": "1.2.1", 1235 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 1236 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 1237 | "dev": true 1238 | }, 1239 | "concat-map": { 1240 | "version": "0.0.1", 1241 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1242 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1243 | "dev": true 1244 | }, 1245 | "convert-source-map": { 1246 | "version": "1.5.1", 1247 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 1248 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 1249 | "dev": true 1250 | }, 1251 | "copy-descriptor": { 1252 | "version": "0.1.1", 1253 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 1254 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 1255 | "dev": true 1256 | }, 1257 | "core-js": { 1258 | "version": "2.5.6", 1259 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", 1260 | "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", 1261 | "dev": true 1262 | }, 1263 | "core-util-is": { 1264 | "version": "1.0.2", 1265 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1266 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 1267 | "dev": true 1268 | }, 1269 | "dateformat": { 1270 | "version": "2.2.0", 1271 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", 1272 | "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", 1273 | "dev": true 1274 | }, 1275 | "debug": { 1276 | "version": "3.1.0", 1277 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 1278 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 1279 | "dev": true, 1280 | "requires": { 1281 | "ms": "2.0.0" 1282 | } 1283 | }, 1284 | "decode-uri-component": { 1285 | "version": "0.2.0", 1286 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 1287 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 1288 | "dev": true 1289 | }, 1290 | "defaults": { 1291 | "version": "1.0.3", 1292 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 1293 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 1294 | "dev": true, 1295 | "requires": { 1296 | "clone": "1.0.4" 1297 | } 1298 | }, 1299 | "define-property": { 1300 | "version": "2.0.2", 1301 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 1302 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 1303 | "dev": true, 1304 | "requires": { 1305 | "is-descriptor": "1.0.2", 1306 | "isobject": "3.0.1" 1307 | }, 1308 | "dependencies": { 1309 | "is-accessor-descriptor": { 1310 | "version": "1.0.0", 1311 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1312 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1313 | "dev": true, 1314 | "requires": { 1315 | "kind-of": "6.0.2" 1316 | } 1317 | }, 1318 | "is-data-descriptor": { 1319 | "version": "1.0.0", 1320 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1321 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1322 | "dev": true, 1323 | "requires": { 1324 | "kind-of": "6.0.2" 1325 | } 1326 | }, 1327 | "is-descriptor": { 1328 | "version": "1.0.2", 1329 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1330 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1331 | "dev": true, 1332 | "requires": { 1333 | "is-accessor-descriptor": "1.0.0", 1334 | "is-data-descriptor": "1.0.0", 1335 | "kind-of": "6.0.2" 1336 | } 1337 | } 1338 | } 1339 | }, 1340 | "deprecated": { 1341 | "version": "0.0.1", 1342 | "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", 1343 | "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", 1344 | "dev": true 1345 | }, 1346 | "detect-file": { 1347 | "version": "1.0.0", 1348 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", 1349 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", 1350 | "dev": true 1351 | }, 1352 | "detect-indent": { 1353 | "version": "4.0.0", 1354 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 1355 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 1356 | "dev": true, 1357 | "requires": { 1358 | "repeating": "2.0.1" 1359 | } 1360 | }, 1361 | "diff": { 1362 | "version": "3.5.0", 1363 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 1364 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 1365 | "dev": true 1366 | }, 1367 | "duplexer2": { 1368 | "version": "0.0.2", 1369 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", 1370 | "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", 1371 | "dev": true, 1372 | "requires": { 1373 | "readable-stream": "1.1.14" 1374 | } 1375 | }, 1376 | "end-of-stream": { 1377 | "version": "0.1.5", 1378 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", 1379 | "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", 1380 | "dev": true, 1381 | "requires": { 1382 | "once": "1.3.3" 1383 | }, 1384 | "dependencies": { 1385 | "once": { 1386 | "version": "1.3.3", 1387 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", 1388 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", 1389 | "dev": true, 1390 | "requires": { 1391 | "wrappy": "1.0.2" 1392 | } 1393 | } 1394 | } 1395 | }, 1396 | "escape-string-regexp": { 1397 | "version": "1.0.5", 1398 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1399 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1400 | "dev": true 1401 | }, 1402 | "esutils": { 1403 | "version": "2.0.2", 1404 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1405 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1406 | "dev": true 1407 | }, 1408 | "expand-brackets": { 1409 | "version": "2.1.4", 1410 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 1411 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 1412 | "dev": true, 1413 | "requires": { 1414 | "debug": "2.6.9", 1415 | "define-property": "0.2.5", 1416 | "extend-shallow": "2.0.1", 1417 | "posix-character-classes": "0.1.1", 1418 | "regex-not": "1.0.2", 1419 | "snapdragon": "0.8.2", 1420 | "to-regex": "3.0.2" 1421 | }, 1422 | "dependencies": { 1423 | "debug": { 1424 | "version": "2.6.9", 1425 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1426 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1427 | "dev": true, 1428 | "requires": { 1429 | "ms": "2.0.0" 1430 | } 1431 | }, 1432 | "define-property": { 1433 | "version": "0.2.5", 1434 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1435 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1436 | "dev": true, 1437 | "requires": { 1438 | "is-descriptor": "0.1.6" 1439 | } 1440 | }, 1441 | "extend-shallow": { 1442 | "version": "2.0.1", 1443 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1444 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1445 | "dev": true, 1446 | "requires": { 1447 | "is-extendable": "0.1.1" 1448 | } 1449 | } 1450 | } 1451 | }, 1452 | "expand-tilde": { 1453 | "version": "2.0.2", 1454 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 1455 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 1456 | "dev": true, 1457 | "requires": { 1458 | "homedir-polyfill": "1.0.1" 1459 | } 1460 | }, 1461 | "extend": { 1462 | "version": "3.0.1", 1463 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 1464 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 1465 | "dev": true 1466 | }, 1467 | "extend-shallow": { 1468 | "version": "3.0.2", 1469 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 1470 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 1471 | "dev": true, 1472 | "requires": { 1473 | "assign-symbols": "1.0.0", 1474 | "is-extendable": "1.0.1" 1475 | }, 1476 | "dependencies": { 1477 | "is-extendable": { 1478 | "version": "1.0.1", 1479 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1480 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1481 | "dev": true, 1482 | "requires": { 1483 | "is-plain-object": "2.0.4" 1484 | } 1485 | } 1486 | } 1487 | }, 1488 | "extglob": { 1489 | "version": "2.0.4", 1490 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 1491 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 1492 | "dev": true, 1493 | "requires": { 1494 | "array-unique": "0.3.2", 1495 | "define-property": "1.0.0", 1496 | "expand-brackets": "2.1.4", 1497 | "extend-shallow": "2.0.1", 1498 | "fragment-cache": "0.2.1", 1499 | "regex-not": "1.0.2", 1500 | "snapdragon": "0.8.2", 1501 | "to-regex": "3.0.2" 1502 | }, 1503 | "dependencies": { 1504 | "define-property": { 1505 | "version": "1.0.0", 1506 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 1507 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 1508 | "dev": true, 1509 | "requires": { 1510 | "is-descriptor": "1.0.2" 1511 | } 1512 | }, 1513 | "extend-shallow": { 1514 | "version": "2.0.1", 1515 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1516 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1517 | "dev": true, 1518 | "requires": { 1519 | "is-extendable": "0.1.1" 1520 | } 1521 | }, 1522 | "is-accessor-descriptor": { 1523 | "version": "1.0.0", 1524 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1525 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1526 | "dev": true, 1527 | "requires": { 1528 | "kind-of": "6.0.2" 1529 | } 1530 | }, 1531 | "is-data-descriptor": { 1532 | "version": "1.0.0", 1533 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1534 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1535 | "dev": true, 1536 | "requires": { 1537 | "kind-of": "6.0.2" 1538 | } 1539 | }, 1540 | "is-descriptor": { 1541 | "version": "1.0.2", 1542 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1543 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1544 | "dev": true, 1545 | "requires": { 1546 | "is-accessor-descriptor": "1.0.0", 1547 | "is-data-descriptor": "1.0.0", 1548 | "kind-of": "6.0.2" 1549 | } 1550 | } 1551 | } 1552 | }, 1553 | "fancy-log": { 1554 | "version": "1.3.2", 1555 | "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", 1556 | "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", 1557 | "dev": true, 1558 | "requires": { 1559 | "ansi-gray": "0.1.1", 1560 | "color-support": "1.1.3", 1561 | "time-stamp": "1.1.0" 1562 | } 1563 | }, 1564 | "fill-range": { 1565 | "version": "4.0.0", 1566 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 1567 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 1568 | "dev": true, 1569 | "requires": { 1570 | "extend-shallow": "2.0.1", 1571 | "is-number": "3.0.0", 1572 | "repeat-string": "1.6.1", 1573 | "to-regex-range": "2.1.1" 1574 | }, 1575 | "dependencies": { 1576 | "extend-shallow": { 1577 | "version": "2.0.1", 1578 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1579 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1580 | "dev": true, 1581 | "requires": { 1582 | "is-extendable": "0.1.1" 1583 | } 1584 | } 1585 | } 1586 | }, 1587 | "find-index": { 1588 | "version": "0.1.1", 1589 | "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", 1590 | "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", 1591 | "dev": true 1592 | }, 1593 | "findup-sync": { 1594 | "version": "2.0.0", 1595 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", 1596 | "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", 1597 | "dev": true, 1598 | "requires": { 1599 | "detect-file": "1.0.0", 1600 | "is-glob": "3.1.0", 1601 | "micromatch": "3.1.10", 1602 | "resolve-dir": "1.0.1" 1603 | } 1604 | }, 1605 | "fined": { 1606 | "version": "1.1.0", 1607 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", 1608 | "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", 1609 | "dev": true, 1610 | "requires": { 1611 | "expand-tilde": "2.0.2", 1612 | "is-plain-object": "2.0.4", 1613 | "object.defaults": "1.1.0", 1614 | "object.pick": "1.3.0", 1615 | "parse-filepath": "1.0.2" 1616 | } 1617 | }, 1618 | "first-chunk-stream": { 1619 | "version": "1.0.0", 1620 | "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", 1621 | "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", 1622 | "dev": true 1623 | }, 1624 | "flagged-respawn": { 1625 | "version": "1.0.0", 1626 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", 1627 | "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", 1628 | "dev": true 1629 | }, 1630 | "for-in": { 1631 | "version": "1.0.2", 1632 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1633 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 1634 | "dev": true 1635 | }, 1636 | "for-own": { 1637 | "version": "1.0.0", 1638 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", 1639 | "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", 1640 | "dev": true, 1641 | "requires": { 1642 | "for-in": "1.0.2" 1643 | } 1644 | }, 1645 | "fragment-cache": { 1646 | "version": "0.2.1", 1647 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1648 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1649 | "dev": true, 1650 | "requires": { 1651 | "map-cache": "0.2.2" 1652 | } 1653 | }, 1654 | "fs.realpath": { 1655 | "version": "1.0.0", 1656 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1657 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1658 | "dev": true 1659 | }, 1660 | "gaze": { 1661 | "version": "0.5.2", 1662 | "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", 1663 | "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", 1664 | "dev": true, 1665 | "requires": { 1666 | "globule": "0.1.0" 1667 | } 1668 | }, 1669 | "get-value": { 1670 | "version": "2.0.6", 1671 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1672 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 1673 | "dev": true 1674 | }, 1675 | "glob": { 1676 | "version": "7.1.2", 1677 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1678 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1679 | "dev": true, 1680 | "requires": { 1681 | "fs.realpath": "1.0.0", 1682 | "inflight": "1.0.6", 1683 | "inherits": "2.0.3", 1684 | "minimatch": "3.0.4", 1685 | "once": "1.4.0", 1686 | "path-is-absolute": "1.0.1" 1687 | } 1688 | }, 1689 | "glob-stream": { 1690 | "version": "3.1.18", 1691 | "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", 1692 | "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", 1693 | "dev": true, 1694 | "requires": { 1695 | "glob": "4.5.3", 1696 | "glob2base": "0.0.12", 1697 | "minimatch": "2.0.10", 1698 | "ordered-read-streams": "0.1.0", 1699 | "through2": "0.6.5", 1700 | "unique-stream": "1.0.0" 1701 | }, 1702 | "dependencies": { 1703 | "glob": { 1704 | "version": "4.5.3", 1705 | "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", 1706 | "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", 1707 | "dev": true, 1708 | "requires": { 1709 | "inflight": "1.0.6", 1710 | "inherits": "2.0.3", 1711 | "minimatch": "2.0.10", 1712 | "once": "1.4.0" 1713 | } 1714 | }, 1715 | "minimatch": { 1716 | "version": "2.0.10", 1717 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", 1718 | "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", 1719 | "dev": true, 1720 | "requires": { 1721 | "brace-expansion": "1.1.11" 1722 | } 1723 | }, 1724 | "readable-stream": { 1725 | "version": "1.0.34", 1726 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 1727 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 1728 | "dev": true, 1729 | "requires": { 1730 | "core-util-is": "1.0.2", 1731 | "inherits": "2.0.3", 1732 | "isarray": "0.0.1", 1733 | "string_decoder": "0.10.31" 1734 | } 1735 | }, 1736 | "through2": { 1737 | "version": "0.6.5", 1738 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 1739 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 1740 | "dev": true, 1741 | "requires": { 1742 | "readable-stream": "1.0.34", 1743 | "xtend": "4.0.1" 1744 | } 1745 | } 1746 | } 1747 | }, 1748 | "glob-watcher": { 1749 | "version": "0.0.6", 1750 | "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", 1751 | "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", 1752 | "dev": true, 1753 | "requires": { 1754 | "gaze": "0.5.2" 1755 | } 1756 | }, 1757 | "glob2base": { 1758 | "version": "0.0.12", 1759 | "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", 1760 | "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", 1761 | "dev": true, 1762 | "requires": { 1763 | "find-index": "0.1.1" 1764 | } 1765 | }, 1766 | "global-modules": { 1767 | "version": "1.0.0", 1768 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 1769 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 1770 | "dev": true, 1771 | "requires": { 1772 | "global-prefix": "1.0.2", 1773 | "is-windows": "1.0.2", 1774 | "resolve-dir": "1.0.1" 1775 | } 1776 | }, 1777 | "global-prefix": { 1778 | "version": "1.0.2", 1779 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1780 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 1781 | "dev": true, 1782 | "requires": { 1783 | "expand-tilde": "2.0.2", 1784 | "homedir-polyfill": "1.0.1", 1785 | "ini": "1.3.5", 1786 | "is-windows": "1.0.2", 1787 | "which": "1.3.0" 1788 | } 1789 | }, 1790 | "globals": { 1791 | "version": "9.18.0", 1792 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1793 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 1794 | "dev": true 1795 | }, 1796 | "globule": { 1797 | "version": "0.1.0", 1798 | "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", 1799 | "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", 1800 | "dev": true, 1801 | "requires": { 1802 | "glob": "3.1.21", 1803 | "lodash": "1.0.2", 1804 | "minimatch": "0.2.14" 1805 | }, 1806 | "dependencies": { 1807 | "glob": { 1808 | "version": "3.1.21", 1809 | "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", 1810 | "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", 1811 | "dev": true, 1812 | "requires": { 1813 | "graceful-fs": "1.2.3", 1814 | "inherits": "1.0.2", 1815 | "minimatch": "0.2.14" 1816 | } 1817 | }, 1818 | "graceful-fs": { 1819 | "version": "1.2.3", 1820 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", 1821 | "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", 1822 | "dev": true 1823 | }, 1824 | "inherits": { 1825 | "version": "1.0.2", 1826 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", 1827 | "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", 1828 | "dev": true 1829 | }, 1830 | "minimatch": { 1831 | "version": "0.2.14", 1832 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", 1833 | "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", 1834 | "dev": true, 1835 | "requires": { 1836 | "lru-cache": "2.7.3", 1837 | "sigmund": "1.0.1" 1838 | } 1839 | } 1840 | } 1841 | }, 1842 | "glogg": { 1843 | "version": "1.0.1", 1844 | "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", 1845 | "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", 1846 | "dev": true, 1847 | "requires": { 1848 | "sparkles": "1.0.1" 1849 | } 1850 | }, 1851 | "graceful-fs": { 1852 | "version": "3.0.11", 1853 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", 1854 | "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", 1855 | "dev": true, 1856 | "requires": { 1857 | "natives": "1.1.4" 1858 | } 1859 | }, 1860 | "growl": { 1861 | "version": "1.10.5", 1862 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 1863 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 1864 | "dev": true 1865 | }, 1866 | "gulp": { 1867 | "version": "3.9.1", 1868 | "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", 1869 | "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", 1870 | "dev": true, 1871 | "requires": { 1872 | "archy": "1.0.0", 1873 | "chalk": "1.1.3", 1874 | "deprecated": "0.0.1", 1875 | "gulp-util": "3.0.8", 1876 | "interpret": "1.1.0", 1877 | "liftoff": "2.5.0", 1878 | "minimist": "1.2.0", 1879 | "orchestrator": "0.3.8", 1880 | "pretty-hrtime": "1.0.3", 1881 | "semver": "4.3.6", 1882 | "tildify": "1.2.0", 1883 | "v8flags": "2.1.1", 1884 | "vinyl-fs": "0.3.14" 1885 | }, 1886 | "dependencies": { 1887 | "minimist": { 1888 | "version": "1.2.0", 1889 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1890 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1891 | "dev": true 1892 | } 1893 | } 1894 | }, 1895 | "gulp-babel": { 1896 | "version": "7.0.1", 1897 | "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-7.0.1.tgz", 1898 | "integrity": "sha512-UqHS3AdxZyJCRxqnAX603Dj3k/Wx6hzcgmav3QcxvsIFq3Y8ZkU7iXd0O+JwD5ivqCc6o0r1S7tCB/xxLnuSNw==", 1899 | "dev": true, 1900 | "requires": { 1901 | "plugin-error": "1.0.1", 1902 | "replace-ext": "0.0.1", 1903 | "through2": "2.0.3", 1904 | "vinyl-sourcemaps-apply": "0.2.1" 1905 | } 1906 | }, 1907 | "gulp-util": { 1908 | "version": "3.0.8", 1909 | "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", 1910 | "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", 1911 | "dev": true, 1912 | "requires": { 1913 | "array-differ": "1.0.0", 1914 | "array-uniq": "1.0.3", 1915 | "beeper": "1.1.1", 1916 | "chalk": "1.1.3", 1917 | "dateformat": "2.2.0", 1918 | "fancy-log": "1.3.2", 1919 | "gulplog": "1.0.0", 1920 | "has-gulplog": "0.1.0", 1921 | "lodash._reescape": "3.0.0", 1922 | "lodash._reevaluate": "3.0.0", 1923 | "lodash._reinterpolate": "3.0.0", 1924 | "lodash.template": "3.6.2", 1925 | "minimist": "1.2.0", 1926 | "multipipe": "0.1.2", 1927 | "object-assign": "3.0.0", 1928 | "replace-ext": "0.0.1", 1929 | "through2": "2.0.3", 1930 | "vinyl": "0.5.3" 1931 | }, 1932 | "dependencies": { 1933 | "minimist": { 1934 | "version": "1.2.0", 1935 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1936 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1937 | "dev": true 1938 | } 1939 | } 1940 | }, 1941 | "gulplog": { 1942 | "version": "1.0.0", 1943 | "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", 1944 | "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", 1945 | "dev": true, 1946 | "requires": { 1947 | "glogg": "1.0.1" 1948 | } 1949 | }, 1950 | "has-ansi": { 1951 | "version": "2.0.0", 1952 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1953 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1954 | "dev": true, 1955 | "requires": { 1956 | "ansi-regex": "2.1.1" 1957 | } 1958 | }, 1959 | "has-flag": { 1960 | "version": "3.0.0", 1961 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1962 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1963 | "dev": true 1964 | }, 1965 | "has-gulplog": { 1966 | "version": "0.1.0", 1967 | "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", 1968 | "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", 1969 | "dev": true, 1970 | "requires": { 1971 | "sparkles": "1.0.1" 1972 | } 1973 | }, 1974 | "has-value": { 1975 | "version": "1.0.0", 1976 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1977 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1978 | "dev": true, 1979 | "requires": { 1980 | "get-value": "2.0.6", 1981 | "has-values": "1.0.0", 1982 | "isobject": "3.0.1" 1983 | } 1984 | }, 1985 | "has-values": { 1986 | "version": "1.0.0", 1987 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1988 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1989 | "dev": true, 1990 | "requires": { 1991 | "is-number": "3.0.0", 1992 | "kind-of": "4.0.0" 1993 | }, 1994 | "dependencies": { 1995 | "kind-of": { 1996 | "version": "4.0.0", 1997 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1998 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1999 | "dev": true, 2000 | "requires": { 2001 | "is-buffer": "1.1.6" 2002 | } 2003 | } 2004 | } 2005 | }, 2006 | "he": { 2007 | "version": "1.1.1", 2008 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 2009 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 2010 | "dev": true 2011 | }, 2012 | "home-or-tmp": { 2013 | "version": "2.0.0", 2014 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 2015 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 2016 | "dev": true, 2017 | "requires": { 2018 | "os-homedir": "1.0.2", 2019 | "os-tmpdir": "1.0.2" 2020 | } 2021 | }, 2022 | "homedir-polyfill": { 2023 | "version": "1.0.1", 2024 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", 2025 | "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", 2026 | "dev": true, 2027 | "requires": { 2028 | "parse-passwd": "1.0.0" 2029 | } 2030 | }, 2031 | "inflight": { 2032 | "version": "1.0.6", 2033 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2034 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2035 | "dev": true, 2036 | "requires": { 2037 | "once": "1.4.0", 2038 | "wrappy": "1.0.2" 2039 | } 2040 | }, 2041 | "inherits": { 2042 | "version": "2.0.3", 2043 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 2044 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 2045 | "dev": true 2046 | }, 2047 | "ini": { 2048 | "version": "1.3.5", 2049 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 2050 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 2051 | "dev": true 2052 | }, 2053 | "interpret": { 2054 | "version": "1.1.0", 2055 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 2056 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", 2057 | "dev": true 2058 | }, 2059 | "invariant": { 2060 | "version": "2.2.4", 2061 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 2062 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 2063 | "dev": true, 2064 | "requires": { 2065 | "loose-envify": "1.3.1" 2066 | } 2067 | }, 2068 | "is-absolute": { 2069 | "version": "1.0.0", 2070 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", 2071 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", 2072 | "dev": true, 2073 | "requires": { 2074 | "is-relative": "1.0.0", 2075 | "is-windows": "1.0.2" 2076 | } 2077 | }, 2078 | "is-accessor-descriptor": { 2079 | "version": "0.1.6", 2080 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 2081 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 2082 | "dev": true, 2083 | "requires": { 2084 | "kind-of": "3.2.2" 2085 | }, 2086 | "dependencies": { 2087 | "kind-of": { 2088 | "version": "3.2.2", 2089 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2090 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2091 | "dev": true, 2092 | "requires": { 2093 | "is-buffer": "1.1.6" 2094 | } 2095 | } 2096 | } 2097 | }, 2098 | "is-buffer": { 2099 | "version": "1.1.6", 2100 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2101 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 2102 | "dev": true 2103 | }, 2104 | "is-data-descriptor": { 2105 | "version": "0.1.4", 2106 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 2107 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 2108 | "dev": true, 2109 | "requires": { 2110 | "kind-of": "3.2.2" 2111 | }, 2112 | "dependencies": { 2113 | "kind-of": { 2114 | "version": "3.2.2", 2115 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2116 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2117 | "dev": true, 2118 | "requires": { 2119 | "is-buffer": "1.1.6" 2120 | } 2121 | } 2122 | } 2123 | }, 2124 | "is-descriptor": { 2125 | "version": "0.1.6", 2126 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 2127 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 2128 | "dev": true, 2129 | "requires": { 2130 | "is-accessor-descriptor": "0.1.6", 2131 | "is-data-descriptor": "0.1.4", 2132 | "kind-of": "5.1.0" 2133 | }, 2134 | "dependencies": { 2135 | "kind-of": { 2136 | "version": "5.1.0", 2137 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2138 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 2139 | "dev": true 2140 | } 2141 | } 2142 | }, 2143 | "is-extendable": { 2144 | "version": "0.1.1", 2145 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 2146 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 2147 | "dev": true 2148 | }, 2149 | "is-extglob": { 2150 | "version": "2.1.1", 2151 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2152 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2153 | "dev": true 2154 | }, 2155 | "is-finite": { 2156 | "version": "1.0.2", 2157 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 2158 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 2159 | "dev": true, 2160 | "requires": { 2161 | "number-is-nan": "1.0.1" 2162 | } 2163 | }, 2164 | "is-glob": { 2165 | "version": "3.1.0", 2166 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 2167 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 2168 | "dev": true, 2169 | "requires": { 2170 | "is-extglob": "2.1.1" 2171 | } 2172 | }, 2173 | "is-number": { 2174 | "version": "3.0.0", 2175 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2176 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2177 | "dev": true, 2178 | "requires": { 2179 | "kind-of": "3.2.2" 2180 | }, 2181 | "dependencies": { 2182 | "kind-of": { 2183 | "version": "3.2.2", 2184 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2185 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2186 | "dev": true, 2187 | "requires": { 2188 | "is-buffer": "1.1.6" 2189 | } 2190 | } 2191 | } 2192 | }, 2193 | "is-odd": { 2194 | "version": "2.0.0", 2195 | "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", 2196 | "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", 2197 | "dev": true, 2198 | "requires": { 2199 | "is-number": "4.0.0" 2200 | }, 2201 | "dependencies": { 2202 | "is-number": { 2203 | "version": "4.0.0", 2204 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", 2205 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", 2206 | "dev": true 2207 | } 2208 | } 2209 | }, 2210 | "is-plain-object": { 2211 | "version": "2.0.4", 2212 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 2213 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 2214 | "dev": true, 2215 | "requires": { 2216 | "isobject": "3.0.1" 2217 | } 2218 | }, 2219 | "is-relative": { 2220 | "version": "1.0.0", 2221 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", 2222 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", 2223 | "dev": true, 2224 | "requires": { 2225 | "is-unc-path": "1.0.0" 2226 | } 2227 | }, 2228 | "is-unc-path": { 2229 | "version": "1.0.0", 2230 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", 2231 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", 2232 | "dev": true, 2233 | "requires": { 2234 | "unc-path-regex": "0.1.2" 2235 | } 2236 | }, 2237 | "is-utf8": { 2238 | "version": "0.2.1", 2239 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 2240 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 2241 | "dev": true 2242 | }, 2243 | "is-windows": { 2244 | "version": "1.0.2", 2245 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 2246 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 2247 | "dev": true 2248 | }, 2249 | "isarray": { 2250 | "version": "0.0.1", 2251 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2252 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2253 | "dev": true 2254 | }, 2255 | "isexe": { 2256 | "version": "2.0.0", 2257 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2258 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2259 | "dev": true 2260 | }, 2261 | "isobject": { 2262 | "version": "3.0.1", 2263 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2264 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2265 | "dev": true 2266 | }, 2267 | "js-tokens": { 2268 | "version": "3.0.2", 2269 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 2270 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 2271 | "dev": true 2272 | }, 2273 | "jsesc": { 2274 | "version": "1.3.0", 2275 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 2276 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 2277 | "dev": true 2278 | }, 2279 | "json5": { 2280 | "version": "0.5.1", 2281 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 2282 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 2283 | "dev": true 2284 | }, 2285 | "kind-of": { 2286 | "version": "6.0.2", 2287 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 2288 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 2289 | "dev": true 2290 | }, 2291 | "liftoff": { 2292 | "version": "2.5.0", 2293 | "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", 2294 | "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", 2295 | "dev": true, 2296 | "requires": { 2297 | "extend": "3.0.1", 2298 | "findup-sync": "2.0.0", 2299 | "fined": "1.1.0", 2300 | "flagged-respawn": "1.0.0", 2301 | "is-plain-object": "2.0.4", 2302 | "object.map": "1.0.1", 2303 | "rechoir": "0.6.2", 2304 | "resolve": "1.7.1" 2305 | } 2306 | }, 2307 | "lodash": { 2308 | "version": "1.0.2", 2309 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", 2310 | "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", 2311 | "dev": true 2312 | }, 2313 | "lodash._basecopy": { 2314 | "version": "3.0.1", 2315 | "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", 2316 | "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", 2317 | "dev": true 2318 | }, 2319 | "lodash._basetostring": { 2320 | "version": "3.0.1", 2321 | "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", 2322 | "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", 2323 | "dev": true 2324 | }, 2325 | "lodash._basevalues": { 2326 | "version": "3.0.0", 2327 | "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", 2328 | "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", 2329 | "dev": true 2330 | }, 2331 | "lodash._getnative": { 2332 | "version": "3.9.1", 2333 | "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", 2334 | "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", 2335 | "dev": true 2336 | }, 2337 | "lodash._isiterateecall": { 2338 | "version": "3.0.9", 2339 | "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", 2340 | "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", 2341 | "dev": true 2342 | }, 2343 | "lodash._reescape": { 2344 | "version": "3.0.0", 2345 | "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", 2346 | "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", 2347 | "dev": true 2348 | }, 2349 | "lodash._reevaluate": { 2350 | "version": "3.0.0", 2351 | "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", 2352 | "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", 2353 | "dev": true 2354 | }, 2355 | "lodash._reinterpolate": { 2356 | "version": "3.0.0", 2357 | "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", 2358 | "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", 2359 | "dev": true 2360 | }, 2361 | "lodash._root": { 2362 | "version": "3.0.1", 2363 | "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", 2364 | "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", 2365 | "dev": true 2366 | }, 2367 | "lodash.escape": { 2368 | "version": "3.2.0", 2369 | "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", 2370 | "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", 2371 | "dev": true, 2372 | "requires": { 2373 | "lodash._root": "3.0.1" 2374 | } 2375 | }, 2376 | "lodash.isarguments": { 2377 | "version": "3.1.0", 2378 | "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", 2379 | "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", 2380 | "dev": true 2381 | }, 2382 | "lodash.isarray": { 2383 | "version": "3.0.4", 2384 | "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", 2385 | "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", 2386 | "dev": true 2387 | }, 2388 | "lodash.keys": { 2389 | "version": "3.1.2", 2390 | "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", 2391 | "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", 2392 | "dev": true, 2393 | "requires": { 2394 | "lodash._getnative": "3.9.1", 2395 | "lodash.isarguments": "3.1.0", 2396 | "lodash.isarray": "3.0.4" 2397 | } 2398 | }, 2399 | "lodash.restparam": { 2400 | "version": "3.6.1", 2401 | "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", 2402 | "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", 2403 | "dev": true 2404 | }, 2405 | "lodash.template": { 2406 | "version": "3.6.2", 2407 | "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", 2408 | "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", 2409 | "dev": true, 2410 | "requires": { 2411 | "lodash._basecopy": "3.0.1", 2412 | "lodash._basetostring": "3.0.1", 2413 | "lodash._basevalues": "3.0.0", 2414 | "lodash._isiterateecall": "3.0.9", 2415 | "lodash._reinterpolate": "3.0.0", 2416 | "lodash.escape": "3.2.0", 2417 | "lodash.keys": "3.1.2", 2418 | "lodash.restparam": "3.6.1", 2419 | "lodash.templatesettings": "3.1.1" 2420 | } 2421 | }, 2422 | "lodash.templatesettings": { 2423 | "version": "3.1.1", 2424 | "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", 2425 | "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", 2426 | "dev": true, 2427 | "requires": { 2428 | "lodash._reinterpolate": "3.0.0", 2429 | "lodash.escape": "3.2.0" 2430 | } 2431 | }, 2432 | "loose-envify": { 2433 | "version": "1.3.1", 2434 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 2435 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 2436 | "dev": true, 2437 | "requires": { 2438 | "js-tokens": "3.0.2" 2439 | } 2440 | }, 2441 | "lru-cache": { 2442 | "version": "2.7.3", 2443 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", 2444 | "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", 2445 | "dev": true 2446 | }, 2447 | "make-iterator": { 2448 | "version": "1.0.1", 2449 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", 2450 | "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", 2451 | "dev": true, 2452 | "requires": { 2453 | "kind-of": "6.0.2" 2454 | } 2455 | }, 2456 | "map-cache": { 2457 | "version": "0.2.2", 2458 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2459 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 2460 | "dev": true 2461 | }, 2462 | "map-visit": { 2463 | "version": "1.0.0", 2464 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2465 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 2466 | "dev": true, 2467 | "requires": { 2468 | "object-visit": "1.0.1" 2469 | } 2470 | }, 2471 | "micromatch": { 2472 | "version": "3.1.10", 2473 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 2474 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 2475 | "dev": true, 2476 | "requires": { 2477 | "arr-diff": "4.0.0", 2478 | "array-unique": "0.3.2", 2479 | "braces": "2.3.2", 2480 | "define-property": "2.0.2", 2481 | "extend-shallow": "3.0.2", 2482 | "extglob": "2.0.4", 2483 | "fragment-cache": "0.2.1", 2484 | "kind-of": "6.0.2", 2485 | "nanomatch": "1.2.9", 2486 | "object.pick": "1.3.0", 2487 | "regex-not": "1.0.2", 2488 | "snapdragon": "0.8.2", 2489 | "to-regex": "3.0.2" 2490 | } 2491 | }, 2492 | "minimatch": { 2493 | "version": "3.0.4", 2494 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2495 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2496 | "dev": true, 2497 | "requires": { 2498 | "brace-expansion": "1.1.11" 2499 | } 2500 | }, 2501 | "minimist": { 2502 | "version": "0.0.8", 2503 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2504 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2505 | "dev": true 2506 | }, 2507 | "mixin-deep": { 2508 | "version": "1.3.1", 2509 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 2510 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 2511 | "dev": true, 2512 | "requires": { 2513 | "for-in": "1.0.2", 2514 | "is-extendable": "1.0.1" 2515 | }, 2516 | "dependencies": { 2517 | "is-extendable": { 2518 | "version": "1.0.1", 2519 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2520 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2521 | "dev": true, 2522 | "requires": { 2523 | "is-plain-object": "2.0.4" 2524 | } 2525 | } 2526 | } 2527 | }, 2528 | "mkdirp": { 2529 | "version": "0.5.1", 2530 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2531 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2532 | "dev": true, 2533 | "requires": { 2534 | "minimist": "0.0.8" 2535 | } 2536 | }, 2537 | "mocha": { 2538 | "version": "5.2.0", 2539 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", 2540 | "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", 2541 | "dev": true, 2542 | "requires": { 2543 | "browser-stdout": "1.3.1", 2544 | "commander": "2.15.1", 2545 | "debug": "3.1.0", 2546 | "diff": "3.5.0", 2547 | "escape-string-regexp": "1.0.5", 2548 | "glob": "7.1.2", 2549 | "growl": "1.10.5", 2550 | "he": "1.1.1", 2551 | "minimatch": "3.0.4", 2552 | "mkdirp": "0.5.1", 2553 | "supports-color": "5.4.0" 2554 | } 2555 | }, 2556 | "ms": { 2557 | "version": "2.0.0", 2558 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2559 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2560 | "dev": true 2561 | }, 2562 | "multipipe": { 2563 | "version": "0.1.2", 2564 | "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", 2565 | "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", 2566 | "dev": true, 2567 | "requires": { 2568 | "duplexer2": "0.0.2" 2569 | } 2570 | }, 2571 | "nanomatch": { 2572 | "version": "1.2.9", 2573 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", 2574 | "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", 2575 | "dev": true, 2576 | "requires": { 2577 | "arr-diff": "4.0.0", 2578 | "array-unique": "0.3.2", 2579 | "define-property": "2.0.2", 2580 | "extend-shallow": "3.0.2", 2581 | "fragment-cache": "0.2.1", 2582 | "is-odd": "2.0.0", 2583 | "is-windows": "1.0.2", 2584 | "kind-of": "6.0.2", 2585 | "object.pick": "1.3.0", 2586 | "regex-not": "1.0.2", 2587 | "snapdragon": "0.8.2", 2588 | "to-regex": "3.0.2" 2589 | } 2590 | }, 2591 | "natives": { 2592 | "version": "1.1.4", 2593 | "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz", 2594 | "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==", 2595 | "dev": true 2596 | }, 2597 | "number-is-nan": { 2598 | "version": "1.0.1", 2599 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2600 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2601 | "dev": true 2602 | }, 2603 | "object-assign": { 2604 | "version": "3.0.0", 2605 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", 2606 | "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", 2607 | "dev": true 2608 | }, 2609 | "object-copy": { 2610 | "version": "0.1.0", 2611 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2612 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2613 | "dev": true, 2614 | "requires": { 2615 | "copy-descriptor": "0.1.1", 2616 | "define-property": "0.2.5", 2617 | "kind-of": "3.2.2" 2618 | }, 2619 | "dependencies": { 2620 | "define-property": { 2621 | "version": "0.2.5", 2622 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2623 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2624 | "dev": true, 2625 | "requires": { 2626 | "is-descriptor": "0.1.6" 2627 | } 2628 | }, 2629 | "kind-of": { 2630 | "version": "3.2.2", 2631 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2632 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2633 | "dev": true, 2634 | "requires": { 2635 | "is-buffer": "1.1.6" 2636 | } 2637 | } 2638 | } 2639 | }, 2640 | "object-visit": { 2641 | "version": "1.0.1", 2642 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2643 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2644 | "dev": true, 2645 | "requires": { 2646 | "isobject": "3.0.1" 2647 | } 2648 | }, 2649 | "object.defaults": { 2650 | "version": "1.1.0", 2651 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", 2652 | "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", 2653 | "dev": true, 2654 | "requires": { 2655 | "array-each": "1.0.1", 2656 | "array-slice": "1.1.0", 2657 | "for-own": "1.0.0", 2658 | "isobject": "3.0.1" 2659 | } 2660 | }, 2661 | "object.map": { 2662 | "version": "1.0.1", 2663 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", 2664 | "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", 2665 | "dev": true, 2666 | "requires": { 2667 | "for-own": "1.0.0", 2668 | "make-iterator": "1.0.1" 2669 | } 2670 | }, 2671 | "object.pick": { 2672 | "version": "1.3.0", 2673 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2674 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2675 | "dev": true, 2676 | "requires": { 2677 | "isobject": "3.0.1" 2678 | } 2679 | }, 2680 | "once": { 2681 | "version": "1.4.0", 2682 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2683 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2684 | "dev": true, 2685 | "requires": { 2686 | "wrappy": "1.0.2" 2687 | } 2688 | }, 2689 | "orchestrator": { 2690 | "version": "0.3.8", 2691 | "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", 2692 | "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", 2693 | "dev": true, 2694 | "requires": { 2695 | "end-of-stream": "0.1.5", 2696 | "sequencify": "0.0.7", 2697 | "stream-consume": "0.1.1" 2698 | } 2699 | }, 2700 | "ordered-read-streams": { 2701 | "version": "0.1.0", 2702 | "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", 2703 | "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", 2704 | "dev": true 2705 | }, 2706 | "os-homedir": { 2707 | "version": "1.0.2", 2708 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2709 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 2710 | "dev": true 2711 | }, 2712 | "os-tmpdir": { 2713 | "version": "1.0.2", 2714 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2715 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2716 | "dev": true 2717 | }, 2718 | "parse-filepath": { 2719 | "version": "1.0.2", 2720 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", 2721 | "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", 2722 | "dev": true, 2723 | "requires": { 2724 | "is-absolute": "1.0.0", 2725 | "map-cache": "0.2.2", 2726 | "path-root": "0.1.1" 2727 | } 2728 | }, 2729 | "parse-passwd": { 2730 | "version": "1.0.0", 2731 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 2732 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", 2733 | "dev": true 2734 | }, 2735 | "pascalcase": { 2736 | "version": "0.1.1", 2737 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2738 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 2739 | "dev": true 2740 | }, 2741 | "path-is-absolute": { 2742 | "version": "1.0.1", 2743 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2744 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2745 | "dev": true 2746 | }, 2747 | "path-parse": { 2748 | "version": "1.0.5", 2749 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 2750 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 2751 | "dev": true 2752 | }, 2753 | "path-root": { 2754 | "version": "0.1.1", 2755 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", 2756 | "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", 2757 | "dev": true, 2758 | "requires": { 2759 | "path-root-regex": "0.1.2" 2760 | } 2761 | }, 2762 | "path-root-regex": { 2763 | "version": "0.1.2", 2764 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", 2765 | "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", 2766 | "dev": true 2767 | }, 2768 | "plugin-error": { 2769 | "version": "1.0.1", 2770 | "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", 2771 | "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", 2772 | "dev": true, 2773 | "requires": { 2774 | "ansi-colors": "1.1.0", 2775 | "arr-diff": "4.0.0", 2776 | "arr-union": "3.1.0", 2777 | "extend-shallow": "3.0.2" 2778 | } 2779 | }, 2780 | "posix-character-classes": { 2781 | "version": "0.1.1", 2782 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2783 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 2784 | "dev": true 2785 | }, 2786 | "pretty-hrtime": { 2787 | "version": "1.0.3", 2788 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 2789 | "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", 2790 | "dev": true 2791 | }, 2792 | "private": { 2793 | "version": "0.1.8", 2794 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 2795 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 2796 | "dev": true 2797 | }, 2798 | "process-nextick-args": { 2799 | "version": "2.0.0", 2800 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2801 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 2802 | "dev": true 2803 | }, 2804 | "readable-stream": { 2805 | "version": "1.1.14", 2806 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", 2807 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", 2808 | "dev": true, 2809 | "requires": { 2810 | "core-util-is": "1.0.2", 2811 | "inherits": "2.0.3", 2812 | "isarray": "0.0.1", 2813 | "string_decoder": "0.10.31" 2814 | } 2815 | }, 2816 | "rechoir": { 2817 | "version": "0.6.2", 2818 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 2819 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 2820 | "dev": true, 2821 | "requires": { 2822 | "resolve": "1.7.1" 2823 | } 2824 | }, 2825 | "regenerate": { 2826 | "version": "1.4.0", 2827 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 2828 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 2829 | "dev": true 2830 | }, 2831 | "regenerator-runtime": { 2832 | "version": "0.11.1", 2833 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 2834 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", 2835 | "dev": true 2836 | }, 2837 | "regenerator-transform": { 2838 | "version": "0.10.1", 2839 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", 2840 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", 2841 | "dev": true, 2842 | "requires": { 2843 | "babel-runtime": "6.26.0", 2844 | "babel-types": "6.26.0", 2845 | "private": "0.1.8" 2846 | } 2847 | }, 2848 | "regex-not": { 2849 | "version": "1.0.2", 2850 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 2851 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 2852 | "dev": true, 2853 | "requires": { 2854 | "extend-shallow": "3.0.2", 2855 | "safe-regex": "1.1.0" 2856 | } 2857 | }, 2858 | "regexpu-core": { 2859 | "version": "2.0.0", 2860 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 2861 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 2862 | "dev": true, 2863 | "requires": { 2864 | "regenerate": "1.4.0", 2865 | "regjsgen": "0.2.0", 2866 | "regjsparser": "0.1.5" 2867 | } 2868 | }, 2869 | "regjsgen": { 2870 | "version": "0.2.0", 2871 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 2872 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 2873 | "dev": true 2874 | }, 2875 | "regjsparser": { 2876 | "version": "0.1.5", 2877 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 2878 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 2879 | "dev": true, 2880 | "requires": { 2881 | "jsesc": "0.5.0" 2882 | }, 2883 | "dependencies": { 2884 | "jsesc": { 2885 | "version": "0.5.0", 2886 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 2887 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 2888 | "dev": true 2889 | } 2890 | } 2891 | }, 2892 | "repeat-element": { 2893 | "version": "1.1.2", 2894 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 2895 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 2896 | "dev": true 2897 | }, 2898 | "repeat-string": { 2899 | "version": "1.6.1", 2900 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2901 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 2902 | "dev": true 2903 | }, 2904 | "repeating": { 2905 | "version": "2.0.1", 2906 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2907 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2908 | "dev": true, 2909 | "requires": { 2910 | "is-finite": "1.0.2" 2911 | } 2912 | }, 2913 | "replace-ext": { 2914 | "version": "0.0.1", 2915 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 2916 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", 2917 | "dev": true 2918 | }, 2919 | "resolve": { 2920 | "version": "1.7.1", 2921 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", 2922 | "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", 2923 | "dev": true, 2924 | "requires": { 2925 | "path-parse": "1.0.5" 2926 | } 2927 | }, 2928 | "resolve-dir": { 2929 | "version": "1.0.1", 2930 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 2931 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 2932 | "dev": true, 2933 | "requires": { 2934 | "expand-tilde": "2.0.2", 2935 | "global-modules": "1.0.0" 2936 | } 2937 | }, 2938 | "resolve-url": { 2939 | "version": "0.2.1", 2940 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 2941 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 2942 | "dev": true 2943 | }, 2944 | "ret": { 2945 | "version": "0.1.15", 2946 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 2947 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 2948 | "dev": true 2949 | }, 2950 | "safe-buffer": { 2951 | "version": "5.1.2", 2952 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2953 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2954 | "dev": true 2955 | }, 2956 | "safe-regex": { 2957 | "version": "1.1.0", 2958 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 2959 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 2960 | "dev": true, 2961 | "requires": { 2962 | "ret": "0.1.15" 2963 | } 2964 | }, 2965 | "semver": { 2966 | "version": "4.3.6", 2967 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", 2968 | "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", 2969 | "dev": true 2970 | }, 2971 | "sequencify": { 2972 | "version": "0.0.7", 2973 | "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", 2974 | "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", 2975 | "dev": true 2976 | }, 2977 | "set-value": { 2978 | "version": "2.0.0", 2979 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 2980 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 2981 | "dev": true, 2982 | "requires": { 2983 | "extend-shallow": "2.0.1", 2984 | "is-extendable": "0.1.1", 2985 | "is-plain-object": "2.0.4", 2986 | "split-string": "3.1.0" 2987 | }, 2988 | "dependencies": { 2989 | "extend-shallow": { 2990 | "version": "2.0.1", 2991 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2992 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2993 | "dev": true, 2994 | "requires": { 2995 | "is-extendable": "0.1.1" 2996 | } 2997 | } 2998 | } 2999 | }, 3000 | "sigmund": { 3001 | "version": "1.0.1", 3002 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 3003 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", 3004 | "dev": true 3005 | }, 3006 | "slash": { 3007 | "version": "1.0.0", 3008 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3009 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 3010 | "dev": true 3011 | }, 3012 | "snapdragon": { 3013 | "version": "0.8.2", 3014 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3015 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3016 | "dev": true, 3017 | "requires": { 3018 | "base": "0.11.2", 3019 | "debug": "2.6.9", 3020 | "define-property": "0.2.5", 3021 | "extend-shallow": "2.0.1", 3022 | "map-cache": "0.2.2", 3023 | "source-map": "0.5.7", 3024 | "source-map-resolve": "0.5.2", 3025 | "use": "3.1.0" 3026 | }, 3027 | "dependencies": { 3028 | "debug": { 3029 | "version": "2.6.9", 3030 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3031 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3032 | "dev": true, 3033 | "requires": { 3034 | "ms": "2.0.0" 3035 | } 3036 | }, 3037 | "define-property": { 3038 | "version": "0.2.5", 3039 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3040 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3041 | "dev": true, 3042 | "requires": { 3043 | "is-descriptor": "0.1.6" 3044 | } 3045 | }, 3046 | "extend-shallow": { 3047 | "version": "2.0.1", 3048 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3049 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3050 | "dev": true, 3051 | "requires": { 3052 | "is-extendable": "0.1.1" 3053 | } 3054 | } 3055 | } 3056 | }, 3057 | "snapdragon-node": { 3058 | "version": "2.1.1", 3059 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3060 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3061 | "dev": true, 3062 | "requires": { 3063 | "define-property": "1.0.0", 3064 | "isobject": "3.0.1", 3065 | "snapdragon-util": "3.0.1" 3066 | }, 3067 | "dependencies": { 3068 | "define-property": { 3069 | "version": "1.0.0", 3070 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 3071 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 3072 | "dev": true, 3073 | "requires": { 3074 | "is-descriptor": "1.0.2" 3075 | } 3076 | }, 3077 | "is-accessor-descriptor": { 3078 | "version": "1.0.0", 3079 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 3080 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 3081 | "dev": true, 3082 | "requires": { 3083 | "kind-of": "6.0.2" 3084 | } 3085 | }, 3086 | "is-data-descriptor": { 3087 | "version": "1.0.0", 3088 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 3089 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 3090 | "dev": true, 3091 | "requires": { 3092 | "kind-of": "6.0.2" 3093 | } 3094 | }, 3095 | "is-descriptor": { 3096 | "version": "1.0.2", 3097 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 3098 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 3099 | "dev": true, 3100 | "requires": { 3101 | "is-accessor-descriptor": "1.0.0", 3102 | "is-data-descriptor": "1.0.0", 3103 | "kind-of": "6.0.2" 3104 | } 3105 | } 3106 | } 3107 | }, 3108 | "snapdragon-util": { 3109 | "version": "3.0.1", 3110 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3111 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3112 | "dev": true, 3113 | "requires": { 3114 | "kind-of": "3.2.2" 3115 | }, 3116 | "dependencies": { 3117 | "kind-of": { 3118 | "version": "3.2.2", 3119 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3120 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3121 | "dev": true, 3122 | "requires": { 3123 | "is-buffer": "1.1.6" 3124 | } 3125 | } 3126 | } 3127 | }, 3128 | "source-map": { 3129 | "version": "0.5.7", 3130 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3131 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3132 | "dev": true 3133 | }, 3134 | "source-map-resolve": { 3135 | "version": "0.5.2", 3136 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 3137 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 3138 | "dev": true, 3139 | "requires": { 3140 | "atob": "2.1.1", 3141 | "decode-uri-component": "0.2.0", 3142 | "resolve-url": "0.2.1", 3143 | "source-map-url": "0.4.0", 3144 | "urix": "0.1.0" 3145 | } 3146 | }, 3147 | "source-map-support": { 3148 | "version": "0.4.18", 3149 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 3150 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 3151 | "dev": true, 3152 | "requires": { 3153 | "source-map": "0.5.7" 3154 | } 3155 | }, 3156 | "source-map-url": { 3157 | "version": "0.4.0", 3158 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3159 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 3160 | "dev": true 3161 | }, 3162 | "sparkles": { 3163 | "version": "1.0.1", 3164 | "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", 3165 | "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", 3166 | "dev": true 3167 | }, 3168 | "split-string": { 3169 | "version": "3.1.0", 3170 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3171 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3172 | "dev": true, 3173 | "requires": { 3174 | "extend-shallow": "3.0.2" 3175 | } 3176 | }, 3177 | "static-extend": { 3178 | "version": "0.1.2", 3179 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3180 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3181 | "dev": true, 3182 | "requires": { 3183 | "define-property": "0.2.5", 3184 | "object-copy": "0.1.0" 3185 | }, 3186 | "dependencies": { 3187 | "define-property": { 3188 | "version": "0.2.5", 3189 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3190 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3191 | "dev": true, 3192 | "requires": { 3193 | "is-descriptor": "0.1.6" 3194 | } 3195 | } 3196 | } 3197 | }, 3198 | "stream-consume": { 3199 | "version": "0.1.1", 3200 | "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", 3201 | "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", 3202 | "dev": true 3203 | }, 3204 | "string_decoder": { 3205 | "version": "0.10.31", 3206 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 3207 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 3208 | "dev": true 3209 | }, 3210 | "strip-ansi": { 3211 | "version": "3.0.1", 3212 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3213 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3214 | "dev": true, 3215 | "requires": { 3216 | "ansi-regex": "2.1.1" 3217 | } 3218 | }, 3219 | "strip-bom": { 3220 | "version": "1.0.0", 3221 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", 3222 | "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", 3223 | "dev": true, 3224 | "requires": { 3225 | "first-chunk-stream": "1.0.0", 3226 | "is-utf8": "0.2.1" 3227 | } 3228 | }, 3229 | "supports-color": { 3230 | "version": "5.4.0", 3231 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 3232 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 3233 | "dev": true, 3234 | "requires": { 3235 | "has-flag": "3.0.0" 3236 | } 3237 | }, 3238 | "through2": { 3239 | "version": "2.0.3", 3240 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 3241 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 3242 | "dev": true, 3243 | "requires": { 3244 | "readable-stream": "2.3.6", 3245 | "xtend": "4.0.1" 3246 | }, 3247 | "dependencies": { 3248 | "isarray": { 3249 | "version": "1.0.0", 3250 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3251 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 3252 | "dev": true 3253 | }, 3254 | "readable-stream": { 3255 | "version": "2.3.6", 3256 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 3257 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 3258 | "dev": true, 3259 | "requires": { 3260 | "core-util-is": "1.0.2", 3261 | "inherits": "2.0.3", 3262 | "isarray": "1.0.0", 3263 | "process-nextick-args": "2.0.0", 3264 | "safe-buffer": "5.1.2", 3265 | "string_decoder": "1.1.1", 3266 | "util-deprecate": "1.0.2" 3267 | } 3268 | }, 3269 | "string_decoder": { 3270 | "version": "1.1.1", 3271 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3272 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3273 | "dev": true, 3274 | "requires": { 3275 | "safe-buffer": "5.1.2" 3276 | } 3277 | } 3278 | } 3279 | }, 3280 | "tildify": { 3281 | "version": "1.2.0", 3282 | "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", 3283 | "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", 3284 | "dev": true, 3285 | "requires": { 3286 | "os-homedir": "1.0.2" 3287 | } 3288 | }, 3289 | "time-stamp": { 3290 | "version": "1.1.0", 3291 | "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", 3292 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", 3293 | "dev": true 3294 | }, 3295 | "to-fast-properties": { 3296 | "version": "1.0.3", 3297 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 3298 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 3299 | "dev": true 3300 | }, 3301 | "to-object-path": { 3302 | "version": "0.3.0", 3303 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3304 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 3305 | "dev": true, 3306 | "requires": { 3307 | "kind-of": "3.2.2" 3308 | }, 3309 | "dependencies": { 3310 | "kind-of": { 3311 | "version": "3.2.2", 3312 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3313 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3314 | "dev": true, 3315 | "requires": { 3316 | "is-buffer": "1.1.6" 3317 | } 3318 | } 3319 | } 3320 | }, 3321 | "to-regex": { 3322 | "version": "3.0.2", 3323 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3324 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3325 | "dev": true, 3326 | "requires": { 3327 | "define-property": "2.0.2", 3328 | "extend-shallow": "3.0.2", 3329 | "regex-not": "1.0.2", 3330 | "safe-regex": "1.1.0" 3331 | } 3332 | }, 3333 | "to-regex-range": { 3334 | "version": "2.1.1", 3335 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3336 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 3337 | "dev": true, 3338 | "requires": { 3339 | "is-number": "3.0.0", 3340 | "repeat-string": "1.6.1" 3341 | } 3342 | }, 3343 | "trim-right": { 3344 | "version": "1.0.1", 3345 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 3346 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 3347 | "dev": true 3348 | }, 3349 | "unc-path-regex": { 3350 | "version": "0.1.2", 3351 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", 3352 | "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", 3353 | "dev": true 3354 | }, 3355 | "union-value": { 3356 | "version": "1.0.0", 3357 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 3358 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 3359 | "dev": true, 3360 | "requires": { 3361 | "arr-union": "3.1.0", 3362 | "get-value": "2.0.6", 3363 | "is-extendable": "0.1.1", 3364 | "set-value": "0.4.3" 3365 | }, 3366 | "dependencies": { 3367 | "extend-shallow": { 3368 | "version": "2.0.1", 3369 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3370 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3371 | "dev": true, 3372 | "requires": { 3373 | "is-extendable": "0.1.1" 3374 | } 3375 | }, 3376 | "set-value": { 3377 | "version": "0.4.3", 3378 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 3379 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 3380 | "dev": true, 3381 | "requires": { 3382 | "extend-shallow": "2.0.1", 3383 | "is-extendable": "0.1.1", 3384 | "is-plain-object": "2.0.4", 3385 | "to-object-path": "0.3.0" 3386 | } 3387 | } 3388 | } 3389 | }, 3390 | "unique-stream": { 3391 | "version": "1.0.0", 3392 | "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", 3393 | "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", 3394 | "dev": true 3395 | }, 3396 | "unset-value": { 3397 | "version": "1.0.0", 3398 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3399 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 3400 | "dev": true, 3401 | "requires": { 3402 | "has-value": "0.3.1", 3403 | "isobject": "3.0.1" 3404 | }, 3405 | "dependencies": { 3406 | "has-value": { 3407 | "version": "0.3.1", 3408 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3409 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 3410 | "dev": true, 3411 | "requires": { 3412 | "get-value": "2.0.6", 3413 | "has-values": "0.1.4", 3414 | "isobject": "2.1.0" 3415 | }, 3416 | "dependencies": { 3417 | "isobject": { 3418 | "version": "2.1.0", 3419 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3420 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3421 | "dev": true, 3422 | "requires": { 3423 | "isarray": "1.0.0" 3424 | } 3425 | } 3426 | } 3427 | }, 3428 | "has-values": { 3429 | "version": "0.1.4", 3430 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3431 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 3432 | "dev": true 3433 | }, 3434 | "isarray": { 3435 | "version": "1.0.0", 3436 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3437 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 3438 | "dev": true 3439 | } 3440 | } 3441 | }, 3442 | "urix": { 3443 | "version": "0.1.0", 3444 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3445 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 3446 | "dev": true 3447 | }, 3448 | "use": { 3449 | "version": "3.1.0", 3450 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", 3451 | "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", 3452 | "dev": true, 3453 | "requires": { 3454 | "kind-of": "6.0.2" 3455 | } 3456 | }, 3457 | "user-home": { 3458 | "version": "1.1.1", 3459 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", 3460 | "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", 3461 | "dev": true 3462 | }, 3463 | "util-deprecate": { 3464 | "version": "1.0.2", 3465 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3466 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3467 | "dev": true 3468 | }, 3469 | "v8flags": { 3470 | "version": "2.1.1", 3471 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", 3472 | "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", 3473 | "dev": true, 3474 | "requires": { 3475 | "user-home": "1.1.1" 3476 | } 3477 | }, 3478 | "vinyl": { 3479 | "version": "0.5.3", 3480 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", 3481 | "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", 3482 | "dev": true, 3483 | "requires": { 3484 | "clone": "1.0.4", 3485 | "clone-stats": "0.0.1", 3486 | "replace-ext": "0.0.1" 3487 | } 3488 | }, 3489 | "vinyl-fs": { 3490 | "version": "0.3.14", 3491 | "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", 3492 | "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", 3493 | "dev": true, 3494 | "requires": { 3495 | "defaults": "1.0.3", 3496 | "glob-stream": "3.1.18", 3497 | "glob-watcher": "0.0.6", 3498 | "graceful-fs": "3.0.11", 3499 | "mkdirp": "0.5.1", 3500 | "strip-bom": "1.0.0", 3501 | "through2": "0.6.5", 3502 | "vinyl": "0.4.6" 3503 | }, 3504 | "dependencies": { 3505 | "clone": { 3506 | "version": "0.2.0", 3507 | "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", 3508 | "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", 3509 | "dev": true 3510 | }, 3511 | "readable-stream": { 3512 | "version": "1.0.34", 3513 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 3514 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 3515 | "dev": true, 3516 | "requires": { 3517 | "core-util-is": "1.0.2", 3518 | "inherits": "2.0.3", 3519 | "isarray": "0.0.1", 3520 | "string_decoder": "0.10.31" 3521 | } 3522 | }, 3523 | "through2": { 3524 | "version": "0.6.5", 3525 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 3526 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 3527 | "dev": true, 3528 | "requires": { 3529 | "readable-stream": "1.0.34", 3530 | "xtend": "4.0.1" 3531 | } 3532 | }, 3533 | "vinyl": { 3534 | "version": "0.4.6", 3535 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", 3536 | "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", 3537 | "dev": true, 3538 | "requires": { 3539 | "clone": "0.2.0", 3540 | "clone-stats": "0.0.1" 3541 | } 3542 | } 3543 | } 3544 | }, 3545 | "vinyl-sourcemaps-apply": { 3546 | "version": "0.2.1", 3547 | "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", 3548 | "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", 3549 | "dev": true, 3550 | "requires": { 3551 | "source-map": "0.5.7" 3552 | } 3553 | }, 3554 | "which": { 3555 | "version": "1.3.0", 3556 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 3557 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 3558 | "dev": true, 3559 | "requires": { 3560 | "isexe": "2.0.0" 3561 | } 3562 | }, 3563 | "wrappy": { 3564 | "version": "1.0.2", 3565 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3566 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3567 | "dev": true 3568 | }, 3569 | "xtend": { 3570 | "version": "4.0.1", 3571 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3572 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 3573 | "dev": true 3574 | } 3575 | } 3576 | } 3577 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buffer-iterator", 3 | "version": "1.0.1", 4 | "description": "buffer itaretor", 5 | "main": "index.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "./node_modules/mocha/bin/mocha" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/charleslxh/buffer-iterator.git" 15 | }, 16 | "keywords": [ 17 | "buffer" 18 | ], 19 | "author": "charles.liao", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/charleslxh/buffer-iterator/issues" 23 | }, 24 | "homepage": "https://github.com/charleslxh/buffer-iterator#readme", 25 | "devDependencies": { 26 | "babel-core": "^6.26.3", 27 | "babel-plugin-transform-runtime": "^6.23.0", 28 | "babel-preset-es2015": "^6.24.1", 29 | "babel-preset-stage-0": "^6.24.1", 30 | "babel-runtime": "^6.26.0", 31 | "gulp": "^3.9.1", 32 | "gulp-babel": "^7.0.1", 33 | "mocha": "^5.2.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/buffer-iterator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const BUFFER = Symbol('BufferIterator#buffer'); 4 | const POINTER = Symbol('BufferIterator#pointer'); 5 | const BUFFER_ITERATOR = Symbol('BufferIterator#iterator'); 6 | 7 | class BufferIterator { 8 | constructor(buf) { 9 | this.append(buf); 10 | 11 | this[POINTER] = -1; 12 | } 13 | 14 | get length() { 15 | return this.buffer.length; 16 | } 17 | 18 | get buffer() { 19 | if (!this[BUFFER]) { 20 | this[BUFFER] = Buffer.alloc(0); 21 | } 22 | 23 | return this[BUFFER]; 24 | } 25 | 26 | set buffer(buf) { 27 | return this[BUFFER] = buf; 28 | } 29 | 30 | /** 31 | * Read current byte 32 | * 33 | * @return Number|Null 34 | **/ 35 | current() { 36 | if (this[POINTER] < 0 || this[POINTER] > this.length - 1) { 37 | return null; 38 | } 39 | 40 | return this.buffer[this[POINTER]]; 41 | } 42 | 43 | /** 44 | * Read next one byte 45 | * 46 | * @param needMovePointer, move the pointer to next byte. 47 | * @return Number|Null 48 | **/ 49 | next(needMovePointer = true) { 50 | if (this.hasNext()) { 51 | const pointer = needMovePointer ? ++this[POINTER] : this[POINTER] + 1 52 | return this.buffer.readUInt8(pointer); 53 | } 54 | 55 | return null; 56 | } 57 | 58 | /** 59 | * Read previous one byte 60 | * 61 | * @param needMovePointer, move the pointer to next byte. 62 | * @return Number|Null 63 | **/ 64 | prev(needMovePointer = false) { 65 | if (this[POINTER] < 1) { 66 | return null; 67 | } 68 | 69 | const pointer = needMovePointer ? --this[POINTER] : this[POINTER] - 1 70 | return this.buffer.readUInt8(pointer); 71 | } 72 | 73 | /** 74 | * If the has remain bytes to read. 75 | * 76 | * @return Boolean 77 | **/ 78 | hasNext() { 79 | const maxOffset = this.length - 1; 80 | return this.length > 0 && this[POINTER] < maxOffset; 81 | } 82 | 83 | /** 84 | * Get the count of unread bytes. 85 | * 86 | * @return Number 87 | **/ 88 | remainLength() { 89 | const maxOffset = this.length - 1; 90 | return this[POINTER] < maxOffset ? maxOffset - this[POINTER] : 0; 91 | } 92 | 93 | /** 94 | * Read some bytes 95 | * 96 | * @param number, the number of bytes to read, default is 1. 97 | * @return Buffer|Null 98 | **/ 99 | readBytes(number = 1) { 100 | const start = this[POINTER] + 1; 101 | 102 | if (start > this.length - 1) { 103 | return null 104 | } 105 | 106 | const buf = this.buffer.slice(start, start + number); 107 | this[POINTER] = this[POINTER] + number; 108 | return buf; 109 | } 110 | 111 | /** 112 | * Create a buffer itaretor. 113 | * 114 | * @param arguments of Buffer.from. 115 | **/ 116 | static from() { 117 | const args = Array.from(arguments); 118 | 119 | return new this(Buffer.from.apply(Buffer, args)); 120 | } 121 | 122 | /** 123 | * Add buffer to buffer list. 124 | **/ 125 | append(buf) { 126 | if (buf === null || buf === undefined) { 127 | return; 128 | } 129 | 130 | if (!buf instanceof Buffer) { 131 | buf = Buffer.from(buf); 132 | } 133 | 134 | this.buffer = Buffer.concat([this.buffer, buf], this.length + buf.length); 135 | } 136 | 137 | [Symbol.iterator]() { 138 | const self = this; 139 | return { 140 | next: function() { 141 | const value = self.next(true); 142 | const done = value === null; 143 | return { value, done }; 144 | } 145 | } 146 | } 147 | }; 148 | 149 | module.exports = BufferIterator; 150 | -------------------------------------------------------------------------------- /test/buffer-iterator.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const assert = require('assert'); 4 | 5 | const BufferIterator = require('../index'); 6 | 7 | describe('BufferIterator', function() { 8 | describe('#next()', function() { 9 | it('should return 0x01.', function() { 10 | const bi = BufferIterator.from([0x01, 0x02]); 11 | assert.equal(bi.next(), 0x01); 12 | }); 13 | 14 | it('should return null when all bytes have been read.', function() { 15 | const bi = BufferIterator.from([0x01, 0x02]); 16 | bi.next(); 17 | bi.next(); 18 | assert.equal(bi.next(), null); 19 | }); 20 | 21 | it('should not move the pointer when set needMovePointer false.', function() { 22 | const bi = BufferIterator.from([0x01, 0x02]); 23 | bi.next(); 24 | bi.next(false); 25 | assert.equal(bi.hasNext(), true); 26 | }); 27 | }); 28 | 29 | describe('#prev()', function() { 30 | it('should return null when not have previous byte.', function() { 31 | const bi = BufferIterator.from([0x01, 0x02]); 32 | assert.equal(bi.prev(), null); 33 | }); 34 | 35 | it('should return 0x01 and current byte is 0x02.', function() { 36 | const bi = BufferIterator.from([0x01, 0x02]); 37 | bi.next(); 38 | bi.next(); 39 | assert.equal(bi.prev(), 0x01); 40 | assert.equal(bi.current(), 0x02); 41 | }); 42 | 43 | it('should return 0x01 and current byte is 0x01.', function() { 44 | const bi = BufferIterator.from([0x01, 0x02]); 45 | bi.next(); 46 | bi.next(); 47 | assert.equal(bi.prev(true), 0x01); 48 | assert.equal(bi.current(), 0x01); 49 | }); 50 | }); 51 | 52 | describe('#current()', function() { 53 | it('should return null when pointer is -1.', function() { 54 | const bi = BufferIterator.from([0x01, 0x02]); 55 | assert.equal(bi.current(), null); 56 | }); 57 | 58 | it('should return 0x01.', function() { 59 | const bi = BufferIterator.from([0x01, 0x02]); 60 | bi.next(); 61 | assert.equal(bi.current(), 0x01); 62 | }); 63 | }); 64 | 65 | describe('#hasNext()', function() { 66 | it('should return false when buffer is empty.', function() { 67 | const bi = new BufferIterator(); 68 | assert.equal(bi.hasNext(), false); 69 | }); 70 | 71 | it('should return true when buffer has remain bytes.', function() { 72 | const bi = BufferIterator.from([0x01, 0x02]); 73 | assert.equal(bi.hasNext(), true); 74 | }); 75 | 76 | it('should return false when buffer read end.', function() { 77 | const bi = BufferIterator.from([0x01, 0x02]); 78 | bi.readBytes(2); 79 | assert.equal(bi.hasNext(), false); 80 | }); 81 | }); 82 | 83 | describe('#remainLength()', function() { 84 | it('should return 2.', function() { 85 | const bi = BufferIterator.from([0x01, 0x02]); 86 | assert.equal(bi.remainLength(), 2); 87 | }); 88 | 89 | it('should return 1 after read a byte.', function() { 90 | const bi = BufferIterator.from([0x01, 0x02]); 91 | bi.next(); 92 | assert.equal(bi.remainLength(), 1); 93 | }); 94 | }); 95 | 96 | describe('#readBytes()', function() { 97 | it('should return .', function() { 98 | const bi = BufferIterator.from([0x01, 0x02]); 99 | assert.equal(bi.readBytes(1).equals(Buffer.from([0x01])), true); 100 | }); 101 | 102 | it('should return after read a byte.', function() { 103 | const bi = BufferIterator.from([0x01, 0x02]); 104 | bi.next(); 105 | assert.equal(bi.readBytes(1).equals(Buffer.from([0x02])), true); 106 | }); 107 | 108 | it('should return when read 10 bytes.', function() { 109 | const bi = BufferIterator.from([0x01, 0x02]); 110 | assert.equal(bi.readBytes(10).equals(Buffer.from([0x01, 0x02])), true); 111 | }); 112 | }); 113 | 114 | describe('#append()', function() { 115 | it('should have 3 byte after append a .', function() { 116 | const bi = BufferIterator.from([0x01, 0x02]); 117 | bi.append(Buffer.from([0x03])); 118 | assert.equal(bi.buffer.equals(Buffer.from([0x01, 0x02, 0x03])), true); 119 | }); 120 | }); 121 | 122 | describe('#itaretor()', function() { 123 | it('should can be foreach by "for...of".', function() { 124 | const buf = Buffer.from([0x01, 0x02]); 125 | const bi = new BufferIterator(buf); 126 | 127 | let i = 0; 128 | for (let byte of bi) { 129 | assert.equal(byte, buf[i++]); 130 | } 131 | }); 132 | }); 133 | }); 134 | --------------------------------------------------------------------------------