From 2d1c0bb9a87d99cc84315bd48fdba21dab36dec5 Mon Sep 17 00:00:00 2001 From: Xiaoyi Shi Date: Fri, 4 Oct 2019 22:13:14 +0800 Subject: [PATCH 1/4] update them all --- .travis.yml | 8 +- README.md | 2 +- benchmark/index.js | 33 +- generate-tests.js | 48 +- impls/js_crc32c.js | 26 +- impls/sse4_crc32c.js | 2 +- loader.js | 36 +- package-lock.json | 1095 ------------------------------------------ package.json | 32 +- test/crc32c.js | 20 +- test/sets.json | 2 +- 11 files changed, 97 insertions(+), 1207 deletions(-) delete mode 100644 package-lock.json diff --git a/.travis.yml b/.travis.yml index c975836..6f16ef4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,5 @@ language: node_js node_js: - - "5" - - "4" - - "0.12" - - "0.11" - - "0.10" + - "12" + - "10" +after_success: yarn run coverage diff --git a/README.md b/README.md index 523722f..f00f10f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# fast-crc32c [![NPM version](https://badge.fury.io/js/fast-crc32c.svg)](http://badge.fury.io/js/fast-crc32c) [![Build Status](https://travis-ci.org/ashi009/node-fast-crc32c.svg?branch=master)](https://travis-ci.org/ashi009/node-fast-crc32c) [![Dependency Status](https://david-dm.org/ashi009/node-fast-crc32c.svg)](https://david-dm.org/ashi009/node-fast-crc32c) +# fast-crc32c [![NPM version](https://badge.fury.io/js/fast-crc32c.svg)](http://badge.fury.io/js/fast-crc32c) [![Build Status](https://travis-ci.org/ashi009/node-fast-crc32c.svg?branch=master)](https://travis-ci.org/ashi009/node-fast-crc32c) [![Dependency Status](https://david-dm.org/ashi009/node-fast-crc32c.svg)](https://david-dm.org/ashi009/node-fast-crc32c) [![Coverage Status](https://coveralls.io/repos/github/ashi009/node-fast-crc32c/badge.svg?branch=master)](https://coveralls.io/github/ashi009/node-fast-crc32c?branch=master) fast-crc32c is a CRC-32C algorithm implementation for node.js, which uses hardware acceleration (via [voxer/sse4_crc32][sse4_crc32] by Anand Suresh), and diff --git a/benchmark/index.js b/benchmark/index.js index 75e93f9..a599e33 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -1,31 +1,32 @@ -var util = require('util'); -var Benchtable = require('benchtable'); +const util = require('util'); +const Benchtable = require('benchtable'); -var suite = new Benchtable(); +const suite = new Benchtable(); -var kTesters = [{ +const kTesters = [{ name: 'sse4_crc32c_hw', - calculate: require('sse4_crc32').sse42_crc + calculate: require('sse4_crc32').sse42_crc, }, { name: 'sse4_crc32c_sw', - calculate: require('sse4_crc32').table_crc + calculate: require('sse4_crc32').table_crc, }, { name: 'js_crc32c', - calculate: require('../impls/js_crc32c').calculate + calculate: require('../impls/js_crc32c').calculate, }, { name: 'js_crc32', - calculate: require('buffer-crc32').unsigned + calculate: require('buffer-crc32').unsigned, }]; kTesters.forEach(function(tester) { suite.addFunction(tester.name, function(inputs) { - for (var i = 0; i < inputs.length; i++) + for (let i = 0; i < inputs.length; i++) { tester.calculate(inputs[i]); + } }); }); -var k1kBuffer = [generateBuffer(1024)]; -var k4kBuffers = generateBuffers(4096); +const k1kBuffer = [generateBuffer(1024)]; +const k4kBuffers = generateBuffers(4096); suite.addInput('1024B', [k1kBuffer]); suite.addInput(util.format('%dB, avg %dB', k4kBuffers.totalSize, parseInt(k4kBuffers.averageSize)), @@ -40,10 +41,10 @@ suite.on('cycle', function(event) { .run(); function generateBuffers(maxBufferSize) { - var bufs = []; + const bufs = []; bufs.totalSize = 0; - for (var i = 0; i < maxBufferSize * 2; i++) { - var size = parseInt(Math.random() * maxBufferSize); + for (let i = 0; i < maxBufferSize * 2; i++) { + const size = parseInt(Math.random() * maxBufferSize); bufs.push(generateBuffer(size)); bufs.totalSize += size; } @@ -52,8 +53,8 @@ function generateBuffers(maxBufferSize) { } function generateBuffer(size) { - var buf = new Buffer(size); - for (var i = 0; i < size; i++) + const buf = new Buffer(size); + for (let i = 0; i < size; i++) buf[i] = parseInt(Math.random() * 256); return buf; } diff --git a/generate-tests.js b/generate-tests.js index 8601ccb..c07240c 100644 --- a/generate-tests.js +++ b/generate-tests.js @@ -1,55 +1,53 @@ -var rndstr = require('random-string'); -var fs = require('fs'); -var crc32 = require('sse4_crc32').calculate; +const rndstr = require('random-string'); +const fs = require('fs'); +const crc32 = require('sse4_crc32').calculate; -var tests = { +const tests = { string: { - tests: [] + cases: [], }, buffer: { - tests: [] + cases: [], } }; -for (var i = 0; i < 10; i++) { - var str = rndstr({ +for (let i = 0; i < 10; i++) { + const str = rndstr({ length: 1024, - // numeric: true, - // letters: true, - // // special: true }); - tests.string.tests.push({ + tests.string.cases.push({ input: str, output: crc32(str) }); } -for (var i = 0; i < 10; i++) { - var buf = new Buffer(1024); - for (var j = 0; j < 1024; j++) +for (let i = 0; i < 10; i++) { + const buf = Buffer.alloc(1024); + for (let j = 0; j < 1024; j++) { buf.writeUInt8(parseInt(Math.random() * 256), j); - tests.buffer.tests.push({ + } + tests.buffer.cases.push({ input: buf, output: crc32(buf) }); } -var strs = ['', '\0']; +const strs = ['', '\0']; strs.forEach(function(str) { - tests.string.tests.push({ + tests.string.cases.push({ input: str, - output: crc32(str) + output: crc32(str), }); - var buf = new Buffer(str); - tests.buffer.tests.push({ + const buf = Buffer.from(str, 'utf-8'); + tests.buffer.cases.push({ input: buf, - output: crc32(buf) + output: crc32(buf), }); }); -for (var type in tests) { - tests[type].output = tests[type].tests.reduce(function(prev, test) { - return crc32(test.input, prev); +for (const type in tests) { + tests[type].output = tests[type].cases.reduce(function(prev, cs) { + return crc32(cs.input, prev); }, 0); } diff --git a/impls/js_crc32c.js b/impls/js_crc32c.js index 1b54e8f..6b409a4 100644 --- a/impls/js_crc32c.js +++ b/impls/js_crc32c.js @@ -4,7 +4,7 @@ * './pycrc.py --model=crc-32c --generate c --algorithm=table-driven' */ -var kCRCTable = new Int32Array([ +var kCRCTable = Int32Array.of( 0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, 0xc79a971f, 0x35f1141c, 0x26a1e7e8, 0xd4ca64eb, 0x8ad958cf, 0x78b2dbcc, 0x6be22838, 0x9989ab3b, @@ -68,18 +68,18 @@ var kCRCTable = new Int32Array([ 0xf36e6f75, 0x0105ec76, 0x12551f82, 0xe03e9c81, 0x34f4f86a, 0xc69f7b69, 0xd5cf889d, 0x27a40b9e, 0x79b737ba, 0x8bdcb4b9, 0x988c474d, 0x6ae7c44e, - 0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351 -]); - -function calculate(buf, initial) { - if (!Buffer.isBuffer(buf)) - buf = new Buffer(buf); - var crc = (initial | 0) ^ -1; - for (var i = 0; i < buf.length; i++) - crc = kCRCTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8); - return (crc ^ -1) >>> 0; -} + 0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351, +); module.exports = { - calculate: calculate + calculate(buf, initial) { + if (!Buffer.isBuffer(buf)) { + buf = Buffer.from(buf); + } + let crc = (initial | 0) ^ -1; + for (let i = 0; i < buf.length; i++) { + crc = kCRCTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8); + } + return (crc ^ -1) >>> 0; + }, }; diff --git a/impls/sse4_crc32c.js b/impls/sse4_crc32c.js index b475f72..7f04c1b 100644 --- a/impls/sse4_crc32c.js +++ b/impls/sse4_crc32c.js @@ -1,5 +1,5 @@ var sse4_crc32 = require('sse4_crc32'); module.exports = { - calculate: sse4_crc32.calculate + calculate: sse4_crc32.calculate, }; diff --git a/loader.js b/loader.js index 1f05667..1934584 100644 --- a/loader.js +++ b/loader.js @@ -1,22 +1,22 @@ -var fs = require('fs'); - -module.exports = (function(loaders) { - -var impls = [ - './impls/sse4_crc32c_hw', - './impls/sse4_crc32c_sw', - './impls/js_crc32c' +const impls = [ + './impls/sse4_crc32c', + './impls/js_crc32c', ]; -for (var i = 0; i < impls.length; i++) { - try { - var crc32 = require(impls[i]); - if (crc32.calculate("The quick brown fox jumps over the lazy dog") == 0x22620404) - return crc32; - } catch(e) { +module.exports = (() => { + for (const impl of impls) { + try { + const crc32 = require(impl); + if (crc32.calculate('The quick brown fox jumps over the lazy dog') === 0x22620404) { + return crc32; + } + } catch(e) { + // ignore the error and try next implementation. + } } -} - -throw new Error('Failed to find available CRC-32C implementation.'); - + return { + calculate() { + throw new Error('no CRC-32C implementation is available'); + }, + }; })(); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index ca171d3..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1095 +0,0 @@ -{ - "name": "fast-crc32c", - "version": "1.0.5", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "acorn": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansy": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/ansy/-/ansy-1.0.14.tgz", - "integrity": "sha512-6EZU3oFiAFR5KdxMfBC7L9A5WtMSO9rXietMuQ0STnHx2n2qgrDld+7JkT2j9FHWRVOHekdH5nMs5Hry4oJzyg==", - "dev": true, - "requires": { - "ansi-styles": "^3.0.0", - "custom-return": "^1.0.0", - "supports-color": "^3.1.2", - "ul": "^5.2.1" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, - "benchtable": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/benchtable/-/benchtable-0.1.0.tgz", - "integrity": "sha1-syp9hEJ5gQbBvZW7GMpsyfmV/xw=", - "dev": true, - "requires": { - "benchmark": "^2.0.0", - "cli-table": "^0.3.1", - "color-it": "^1.2.0" - } - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "blanket": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/blanket/-/blanket-1.2.3.tgz", - "integrity": "sha1-FRtJh8O9hFUrtfA7kO9fflkx5HM=", - "dev": true, - "requires": { - "acorn": "^1.0.3", - "falafel": "~1.2.0", - "foreach": "^2.0.5", - "isarray": "0.0.1", - "object-keys": "^1.0.6", - "xtend": "~4.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, - "requires": { - "colors": "1.0.3" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-it": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/color-it/-/color-it-1.2.11.tgz", - "integrity": "sha512-h5sw1F/paJHxzSCsXVBAOGAK6vHUO17yPbVmFENNwYNGAZotOvHMBSS+BieLBbruyfa8aIf6YDrUwnCLFNmEiQ==", - "dev": true, - "requires": { - "couleurs": "^6.0.6", - "flat-colors": "^3.1.0", - "iterate-object": "^1.1.0", - "typpy": "^2.3.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "couleurs": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/couleurs/-/couleurs-6.0.10.tgz", - "integrity": "sha512-16ZvhVjVhEP75sMflsPtXcwbly+79os1zhBVcpRWNmnwifEbZChW+0URYING/A2ehBwp8i0pOXJYzdpiGO3Ivw==", - "dev": true, - "requires": { - "ansy": "^1.0.0", - "color-convert": "^1.0.0", - "iterate-object": "^1.3.1", - "typpy": "^2.3.1" - } - }, - "custom-return": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/custom-return/-/custom-return-1.0.11.tgz", - "integrity": "sha512-CM64m2bV2IQ1MiKRErXR3mRlIiFkIjkQGktTMVPXbmmKCZEiO/YGUlrg69/Gg2tGTSNv+Kyd3+bNJEJIlxhZbA==", - "dev": true, - "requires": { - "noop6": "^1.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "deffy": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deffy/-/deffy-2.2.3.tgz", - "integrity": "sha512-c5JD8Z6V1aBWVzn1+aELL97R1pHCwEjXeU3hZXdigkZkxb9vhgFP162kAxGXl992TtAg0btwQyx7d54CqcQaXQ==", - "dev": true, - "requires": { - "typpy": "^2.0.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "es-abstract": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", - "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "falafel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz", - "integrity": "sha1-wY0k71CRF0pJfzGM0ksCaiXN2rQ=", - "dev": true, - "requires": { - "acorn": "^1.0.3", - "foreach": "^2.0.5", - "isarray": "0.0.1", - "object-keys": "^1.0.6" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } - }, - "flat-colors": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/flat-colors/-/flat-colors-3.3.11.tgz", - "integrity": "sha512-JLOPZKATex6dUscEn2pbvYiNPbUoxubBN+wu2meJ/V4j6Jhuw3fJaPQBoOIk2D9Ndq1l6GAhiw+SW7d//Lg3Dg==", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.name": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/function.name/-/function.name-1.0.12.tgz", - "integrity": "sha512-C7Tu+rAFrWW5RjXqtKtXp2xOdCujq+4i8ZH3w0uz/xrYHBwXZrPt96x8cDAEHrIjeyEv/Jm6iDGyqupbaVQTlw==", - "dev": true, - "requires": { - "noop6": "^1.0.1" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "iterate-object": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.3.tgz", - "integrity": "sha512-DximWbkke36cnrSfNJv6bgcB2QOMV9PRD2FiowwzCoMsh8RupFLdbNIzWe+cVDWT+NIMNJgGlB1dGxP6kpzGtA==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mocha": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.1.tgz", - "integrity": "sha512-VCcWkLHwk79NYQc8cxhkmI8IigTIhsCwZ6RTxQsqK6go4UvEhzJkYuHm8B2YtlSxcYq2fY+ucr4JBwoD6ci80A==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.0", - "yargs-parser": "13.1.1", - "yargs-unparser": "1.6.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node-addon-api": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz", - "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==", - "optional": true - }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "noop6": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/noop6/-/noop6-1.0.8.tgz", - "integrity": "sha512-+Al5csMVc40I8xRfJsyBcN1IbpyvebOuQmMfxdw+AL6ECELey12ANgNTRhMfTwNIDU4W9W0g8EHLcsb3+3qPFA==", - "dev": true - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "platform": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", - "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "should": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", - "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", - "dev": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", - "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", - "dev": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", - "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sse4_crc32": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/sse4_crc32/-/sse4_crc32-6.0.1.tgz", - "integrity": "sha512-FUTYXpLroqytNKWIfHzlDWoy9E4tmBB/RklNMy6w3VJs+/XEYAHgbiylg4SS43iOk/9bM0BlJ2EDpFAGT66IoQ==", - "optional": true, - "requires": { - "bindings": "^1.3.0", - "node-addon-api": "^1.3.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "travis-cov": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/travis-cov/-/travis-cov-0.2.5.tgz", - "integrity": "sha1-qyNvNvxoJZJju5LpEEQADdXLtzY=", - "dev": true - }, - "typpy": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/typpy/-/typpy-2.3.11.tgz", - "integrity": "sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g==", - "dev": true, - "requires": { - "function.name": "^1.0.3" - } - }, - "ul": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/ul/-/ul-5.2.14.tgz", - "integrity": "sha512-VaIRQZ5nkEd8VtI3OYo5qNbhHQuBtPtu5k5GrYaKCmcP1H+FkuWtS+XFTSU1oz5GiuAg2FJL5ka8ufr9zdm8eg==", - "dev": true, - "requires": { - "deffy": "^2.2.2", - "typpy": "^2.3.4" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } -} diff --git a/package.json b/package.json index 589d279..6d7c8c9 100644 --- a/package.json +++ b/package.json @@ -9,16 +9,12 @@ "url": "git://github.com/ashi009/node-fast-crc32c.git" }, "main": "./loader", - "engines": { - "node": ">= 0.10.0" - }, "optionalDependencies": { "sse4_crc32": "^6.0.1" }, "scripts": { - "test": "mocha", - "posttest": "mocha -R travis-cov", - "coverage": "mocha -R html-cov > coverage.html", + "test": "nyc --reporter=html --reporter=text mocha", + "coverage": "nyc report --reporter=text-lcov | coveralls", "benchmark": "node benchmark" }, "keywords": [ @@ -30,22 +26,12 @@ "sse4.2" ], "devDependencies": { - "benchtable": "*", - "blanket": "*", - "mocha": "*", - "should": "*", - "travis-cov": "*", - "buffer-crc32": "*" - }, - "config": { - "blanket": { - "pattern": [ - "impls/", - "loader.js" - ] - }, - "travis-cov": { - "threshold": 80 - } + "benchtable": "^0.1.0", + "buffer-crc32": "^0.2.13", + "coveralls": "^3.0.6", + "mocha": "^6.2.1", + "nyc": "^14.1.1", + "random-string": "^0.2.0", + "should": "^13.2.3" } } diff --git a/test/crc32c.js b/test/crc32c.js index 1f75397..847aa9a 100644 --- a/test/crc32c.js +++ b/test/crc32c.js @@ -1,7 +1,9 @@ -var sets = require('./sets.json'); +const util = require('util'); -sets.buffer.tests.forEach(function(test) { - test.input = new Buffer(test.input); +const sets = require('./sets.json'); + +sets.buffer.cases.forEach(function(cs) { + cs.input = Buffer.from(cs.input); }); describe('crc32c.js', function() { @@ -16,14 +18,14 @@ function testCalculate(crc32) { return function() { for (var type in sets) { var set = sets[type]; - set.tests.forEach(function(test) { - it('should digest ' + JSON.stringify(test.input) + ' as ' + test.output.toString(16), function() { - crc32.calculate(test.input).should.eql(test.output); + set.cases.forEach(function(cs) { + it(util.format('should digest %j correctly', cs.input), function() { + crc32.calculate(cs.input).should.eql(cs.output); }); }); - it('should digest all ' + type + ' together as ' + set.output.toString(16), function() { - set.tests.reduce(function(prev, test) { - return crc32.calculate(test.input, prev); + it(util.format('should digest all %s correctly', type), function() { + set.cases.reduce(function(prev, cs) { + return crc32.calculate(cs.input, prev); }, 0).should.eql(set.output); }) } diff --git a/test/sets.json b/test/sets.json index 657c759..b2bc6fd 100644 --- a/test/sets.json +++ b/test/sets.json @@ -1 +1 @@ -{"string":{"tests":[{"input":"2AGBW7dAQSw0TeE3ZekW4HZgUDVs0NgLvJzExMJRXzZuMX6mAUb2eiT9f0BhLS9ekDNcmG90JQTuQ00Uf1hZg4eis4Tl9LVRgWfH9tupHIHMGx6gFTxLz3cqdIgz1r1bHorXn9pUm1iQTU9qR3Udhm1v25P6ZRInegmEROiIMU1CKk9UpOD7UgoumQMvgLH0UAPo2XuzSf5l70lkSSn3osm64T7At0lPO25OOqiiaC09vTERsolr5VhlqkKZTF0OqrubahE6srN0sQuGxHa6PaLahL74k16F5VpR39u4mgtpVqZ1ceE7ckB6q2IGqvnfw7P7Ja0uvOsNOWS6VxnpATDS9knnTgyfHCCxQzsl25lrqpT2R8ZKfzREBHlMuA0zpeTr3UQgiOPpD5xoNkh7kTaCMkgtqvuvlTsw2VhbVNNrlP3PNSNau28vIc5i3BVxqEpiNS7fkC1Z44oGxTRliQorUQJWd8MmBnCMh5kHTamBgKEsTrTyLhBzUzoQbZST3dHZrF5BguClmM32poQ7iSBhtXKqyzK9XOfZZpoRT9A3drsZUFVkvPSCw5SJqTAwU1eJ28SsJkWDwAK8WD72tG1p5sT7ohbUy1Szla7gdi7cIwF6QV0CwGJzkURZwIVi8uDT7eaBNwkCl0uA8LugqAACxoexiiKJ6HP5zei7iTUhMfdRk1uyFD9DzZ9Mzsr4GnCVyqQbRHllwOu8Z7tXWVmNbZsLtNF57rQfm780kh13aSo49gwUT979TsG2W6fEz2JrKWHcE3iS5yS0r2AOOltvDMMfZR3HCbQyCVPKN5GtDE6uFkLz6FsTC0tauH9inW2wycQzTVhggLzyqlgG0pNJlnd30nvtt1dZUcolCfUmUNMsmbx5zJrPHbU0fXPzonMvpDWFHUe1Ib9Kze82L5nWBilcSnLqSPzf0IqeLRTD0PUGAEWJM3kGEfpoeJNvIADrlo2bDa0u8Im7otPAp7K5mmJadqAVdAUpbDz0aIR1WqSBq6ESvial6RC72Uq0","output":3605965599},{"input":"TyBGUliu7cpqO0WM3qwQ5sWTIUTeegyk3ZXg7n9JrSnFpUp5wF9QyP34nidB4QafMgVe06mg0ZUA54fQmLRwZQ8pHzBcQsTtx8bePrFdGJyuaJigXS7iEqLKDrKWWso0xI4Jb7iBwBa7i24Q8gxJs26btxeNTN9zTDcJ59l6A3vLF3A6k6cTP8yGqkDpcNR7JiMhzk6odgU5optWTsPX8UTEJRqlTP8CQpMAmuZfSgBzHEl0sl2v9dqO4XDEbhMuMm8uB4IOrp9qHcV3WXEurJMnWnlz2ErzNiTMTnDkFlsSTpa3hA0TVxNFCqQGnZXQfSS3ADmVkTmfiq9ExcS8a5ayQ6c61X9cCPQLTFxwFXF6ChoJCk427t020Ko3NcKAHdV26eJoh2asRDtZPqlgrP4WCJMhMbvGpxouwwMTgfhWRHAc7LXudPyK1uCcrMAZPI2RNiUy5oCdD1747opsvUrLJ9OWZsaF9rlwL15Dm5SgTwxxBSG0xUAiU1kA1sClm56o6aMTuk4tNvnP8HHlsHhTqDtgS0ODbtx4QNBOyyEnaohNOTwKWLRgRzn7aDsSMaW2BZlqxiDwrac9mm9RzTE2VGDvUqyVaMbXsomS7pBU3TZxpK0ICpoeS3rPRaRTAASHb7Jw55cWlNvRldrxavwt2NJfBZPnyplXthzRTiHkIAVvsosOHyew7aBNe57XVnUT36Tbt9lZA2KwUDM3Ar9KA5yidL09T2lFZJ740HbXw28Lm3AwmInvZ6LSsec5tmcqTcmTAUGGIAN0rAQTBvUFSUZgIcKVgnK0DbiKwSduT4hXCrGm6kz2GvCHw2xTTcvsHhJ6JsPbL2mVrTwov31Z8TImJyCsnKe4Ta5xAOph4OTmF0zcpXxzJmdupTI0GAVEQdAFlLgNaonvULxuqeCLsODxpkSPHWzfoaVDV9dJ92p704nrTw2rBTdk07Ttlw7yXXptuSnDNiXhSB5lW3VXhd5zMnqyNz9ZQFOSKxgrtqri99Dz3WZFvIWxriOE","output":883121170},{"input":"4J0iuMMxHGWTECXPMDc9JGo8RngzahV5P4za95VwvXkbzbeVONey8iXQLuq99Cua9xfieNppBnx5yRnRNpN94ldhfhZyyACMuwKuoTydJ21c8eCA47DmVcX63oTRVMRM2H208xrLsdxHKERfKBJfrmCBQdsMIq6K2L5xTq41qCHK7A7QU3dky3JoKiIdZrvf7qvTeCaqWO8oBxF0WQXFxbT3ggCZKAeWJHFs08OLnh46JPs8R41nJlXt6IiDZC8WOvCoWdHyCJXgPcdZ9NUynrfSi1ZIhlzTXWyPlqQy7U5FmPpR7koCnH6nSTTvcilzigDNZog25eH1nTtH5vHnQx7NzqSBSqKK8wPKNqsGUzh9e52dyS80va3oT70I29sK8g0Im7dAo6GAREHNPZ0XqumkmDNw1UVfKqhkB5Wi5qeanoNwh5wkIgti0wPnrKQbaXMHwOiHkGDCAenstA3NVxtTFITbt8s3sL7uq9AgOIQHkIpwUvb2sATRNnM4PI1gHtkoMxcPZx8p0ELUk19leZ94ulEclrWAyGmJftQnf7LuVKXAnnDlhJxlo1WbNgshkIc59oLz4sb0fPKbl3y2POBa1gDo0dH7KB4MwDxg7RVGT2erokhCmFIFdkSPX0nWhgvdf9BVWGIdaUIZwJfa9kFLCw55m6vd324C31tF617SPrzQJ7benav31TwnEsn7RMzrwv1nDqQtRTb7pOPtytskO4imCcgoHfZg3gBEKXsgyT7gfSgeAT1cXKpthbQBcrHmmHe1VoJzOls4vx29qBDozuU9VkP5iiUN5RaugqBtoBsBbrzNwKAu5EGBHWa3TqOWCdzx2bOZZ5uSpSeSNUSXzakHxGPT1Pa1hfJ6Bu0HZTTiSryQ4XTqWtpKo7ZwhMNmAbvSZh5WlUlgrMCszaX5RmVw3F54iHeEkTZlZu9lfpIZ2AWpv6QdUkK4gRZfKlAX5Vxmq84T6tz8hf8xoxNDTiyFmfD6IgaKtyeU0JMahSG2zLU4g57xcmVG0tv6","output":1566398387},{"input":"54h7TspOdlX1OWSglBlZZdJe7EZDNgRZDM2clHZLQ4Hq7Au8TWDp6SyRQiffQ4I7lDPoF7zUMWgWDUb8c0gBdVIrJEioCGvMtugq9VTykQJ09T9MgDfVUyln0RhTecm44n9pLGptPksaQnAAq3i7d37ZXwMrSpLJfhDvHReZerb1gTMFFqfCOSDJSOR1pWTQJqC0WrpRQHb5PPEswqTIzz3RupAMEDVEBv6DQTbq0XH8itPS6Hts38n33VPZKBeO4ZoLpyV45XtVmkqcA1p5cIKSeDN64feIpPOic2AXfJ5JKMsNBWDrcvaqZtrl4iZvgvJMUkTzEFN6EdCEvpfxwIPe4DE5FIW7znn3fPfSkbRO9swMbFxJHSJmeJ1KxSuzESciq5AuLlyTlzLTtc3dvgzShuRDfhP2IQQVsTSPTA2TO4H03HBJUo1qGL0toB7rM63RpxqWlJAfPbbPGNtEzZnVfmGJTppbVzGiVdOliwiHopNDrfmpnZ84WuXLwBLvTMEpuwewI7w3u5LtwviDvM2m8D93HQZ3DGz468DpIMCmWTQowRIJS62a5zHQvUf4ceZFlsJ2unSRH2uESCRThk4lm9hNnaQ8GS8PuBAL7crZiTJM1cCLOaZnZEGLmWyK0SIJFPgBvlUxzZJTHIZoksCeCzJC98mIdHRwliUNGxuTvBQzDPwBEyUR9hbSZQ5kZTHLNFwJwPqdF3O3S7iaGF1qxAMqX6xy1ElQl0rX9TXBaUPixv7NUBJ8hITc0ZgKyFnccZ7BNv9xFKLtPShbCqPFGwHCBWgwPwTN4u2oqn7kd1bVixBrtwBdu0C14mdnxJVa7neFtrQKF8O1g8yi1PAEVaLTRzycuXJuczmk3uTlWL4XBJ5QyoFmEOzUryIgvxHGB6kB8R9zPDdBKgT2E9SKymL2BiSaRcnH88C08c9xQKU9Ny3WUa3OWsBCvzlITocXSIPR6IwCdorD7iWts88gQRF6hKwJKzh4nMUIwpbpWHK7CpTEet4niCstl6Nv","output":1677792379},{"input":"M7pKrVlrlHe2Csmlt17UAcplpT69iSa4MFRP3dcvFVNSyTEURQ953ZIo1KeaUnxwsh4ARvmznEN7PsKHszJSyatmT6RdVEHmgqIeTaAactPTdC2dUJbWud9kXsluUleWrI4uRvr7FI38Eh9bpiiu9HXrwc2bTlg8XEfAqvusncXMUHktZgERBoP30kKc4d04Mo9S1qSaT9a8PR9r47KQAIB8y5JDK7knEaTAB1uM56tB61cwFr1shCKbFZ615HThF23dLVrya31wXtokx9uitCAs9x3Pz4eFmqvxtwyEokDRICKF6BTTnMwc7hbigiSpdnfGVW0LHygIpwizvMxto3k3DhL7AJHTpzT3KECyaSpw07JkCraJMiNv6oqh53C3lwIQJLlAmEgAslXIbJaetEbVaiNwNLEVO4cxHW7Kn1XQsM8edk3bw6oRURoPdxvsXf3SnVV7y8X1NFDIe1N9TsfI7DiH52LvIQt1xqgCSHPvZ9lFWvLeQhBgJWD4lSrwTaXgiDyZphhTlrDwU9Z0DD9a0Z4K2OiblvdkPf659gHsSnldKfFaPd7PUzyWoT4Tu3VFubeSDiECKyTbIPHecUXgTxip7z2gJx7F0kdeeDCkugQuBeRDIMT1JPy6MOe5fCtGNUbk923pEB1lXb6FJ2TrhnNFqOTnw4BPflCRvgTCqcmST4bbTTl4zo2XnIMOB8c3pVuWkIpyaUhkrVreBN8MeIQBEFZ7eqIPBX55TQNVHxNGEeWz2vlfRr1PEGzK0R91gwmN7mzE4ko9Gu03RHfiJJ9nZn9AtKhx4MhIa5TT520b6ND885boTAJXQu0KlLKGlJ2fNrNyOq5Cz3DxTutWvSC6GnTErX5glJhwT6Rk86mbRlUeoChJ4eb8b3aF9cOT8afIqVTM008EueiLlHdl6p3xWkOcwy4bW0pa3tdnmeDaatf1ny7TWBt7VP5tVk4z0naUEpL74tCtNrfOcpXGCQPmAhwLFpyLgUWxT91HEzvHXDTTT9QXoH4TKgqr","output":2949384490},{"input":"zqUr0ocXBREJc4EoTfUqcGTGNCXQEvWB6cr4eUgwwMR1cvlogTglyaaL88KBQWkJKCM8WQLeqM8u8sO3LAeFqtDcp83rH2aBvoTxT1La120exEDTQFkPLFpnW0JGxACC1d88bsQR5KXsmugLXytoEMVZRSx2FCNw65wDJT7JZ0J9NPLgHas8XBmQS0T3iTbG1y56LHfNAhTMVDZDCINAU8dFkQaWiuWcFy2ftcCRxlEW4oGAXmoviaIp6z0LBxKDP8N9qXC36Bq7fcxgIq46ZMAV0z7mSC5H27rVzpFkG680lO48aLh9FB2SKoTEGJRiJQTBslQI2kKsy2Mh2fK0gfAyU1EMhbhHA4Ph6IVqvbQDbOrTzGLqL3G6Sh6unmyxby3iNB9bvoCSf2HMNTrFNpOVNS20RZHQuO8c6yQsTs3RNT8AubwT5z2Kxuw9amH0M7S3zlNCIIBvi0Syhqzr37dzek6Shuo2dx3peeWbdWNZLCcJSqIiLJlwL3eaWFBnUgeNmAxlsQDu1U06T9pik22i8sP9OFwGDbr4u1w2PgO4b6K4P0H78HF6M08MtwVFuhTWkeFKTkXaTPVmX5m3mWABIO4TFXkKzeVGlir9rIS1NobAamlquB7JbAdvJ0lgkz0dfz6G1uJRQs6VJ0bBSWXgHABwe6Cio7J4JtGexSgKaVI1VygVgTfyuSXKtOxClphFiqPlGaXBOgXCgd4ra4mAGVFmfh6C7bMvgXMhHnvMBfOIR1HvBe4pvdzTWkxQzfAKEHibEkMv4ecpAlZSfbzS6BxvHTiPDduWMKquRFkkioHJqIC8dgaBHGcsBQVfTWBtwDxCdDrbTKOCGIvscWJJlRm7se2Eme1TTNNlpvCkaigaG004I2dEkmQpeSGxPZqFM8SWniyt7b7gNI2iWwnf3vKzvW7Nh1nbvtAucfTredF0IlL1OStVEpHUn5e8UlEWADE2KRxeQzNnr2HIiT0aCdMFlRsBLZTuO0JOBGmBeHw8r0z9fDF1gIxHNGT8","output":2957420711},{"input":"LufBX1fVIqZCUq0Dei65nquHRgEL3uQniZcqNhrrgO2zET0a3tlSeiEsQktg3q5ZgtOcxWTemOENJ2Um8yPNNcmvV7lPD2iwgt6G85nJRqTyxwqRTKQMalke38Ue3ho5frbCUhBfgsNDtGidwOWJpkMcBhduADtiDb6PS3KVaWMPJCRRAGUpCpd63rtXUmwCJE6434UCmKEKynpELDs4aGf6q3OHZktCLu7PpdW96OXh87nPdypq8rdlMbrtwGIf7bTWd6z2g936Q0SUSJTRdwRRP7XaTWiVDZ5VK3Bgxt60XFpqXOy377TrAReuRDbP9kbcMftoekTIywnmwJBtUQNf5yIPXVyB0fIWlDStuzZ5H0bwTWNzZSrnBpHWkqameS1wEnJmNqHIXrCHVLeqeeUNpEgtfHfx6HZHNWvZBiVe7wPiU6zUkykOC409UV2rEKfqbNRPuiTOtNF05pXetUtJL5AhPEzOJBsHcllByGTXT6zZiwUAWGsdynLc8B74T4VL4gCVTlX4kQ9eMrr2yRXH6R3vaLo3rHpdxbi3rLUJURkDFCtgQ4opdxTDhiDb2vrek3espe3PI3ffcyVl5m0cFWOvO7GgBWW5NlIl48tU0sntZXFadCALBNoD5FgQXV4m3mWQACh4QtTsODuuPRbbfes9HTlOHJKEAVrUW0Kxdt4RM3FF0GKvoEXuf0oRLocFLBly6xiIhV8xGctk27J9NCeedbIcOZt5LcMd5OOTIA4yWWDH9oHNFJk0u9uIcqMtKVcMI3v4wIaPvrLz3RSZUW30LmOrxXNobSdxr8TgTUJ9QHDERTRPFV2T7UpSbKxJ6oVOmCptxWuA0NcxVpunVUrMJi1BHOqc2kap8U5a7UTC4pBE4d0MCfT51g0WkuOAxe3hDTgft0JIupgzFcb5mX2PzblR88IlgyqfJZVcaBLGzeoMEWcgEBisXUfq37svsFqEnXKEar9Qbd5qG7KLTCg1ro5ZOay17RFguUPZwz5KoXf0v4PiP3t97p2G","output":3369670949},{"input":"oLkUVXf5H3Qtwzpmm1Wrlfsw6epig4GI3Lf22SutVevDRDwO21mrofBhWfCMp1bayZ9ovBzpl1Z8q8T7oWIq7rLGNzQXkTuXJvFEsIMccJrGqHW3RcxhcGCWXpHTM1xP7XLHKuI38qOQXA6Tai9MmbMGyb2P8eI1woey4VZTRX5iktaHC3x8LqvhxyvSGCbNTTGsqOqhDtmArvJgzXWImZLgkszMlyfVPtmU1rxIql3qsKzQOXgglKd9lVrDnVsLkgHVdwEUpV0NPNqbTmdh0tvgckWt3UK8xQ0JepeDJTPuHzJnCORkxMO2a25p7KFR8QOWmbqWJh2DlHfJ2takOdZmUwdfgqzeIeZ2R3TNArFZekaMb9cFi2UoeHNwapEpqFa8LANZLtJZCOlKOXI5tGsR5qoqvhxxu3ClCgLsPvcf0qroR3sVZvvMGDqB0N3vgrHtvZsezfAPo8CfDSd8QrgiTr2BJTZlJoLxDquQB7kLQXTJgLG9dMim2aTs7DALWFvlGAqMxWcQ5lrUAmOogBbrHP6GVWbWqWfFAICuJSFTtSAGvkro6b29Fi0xHXwpxmo9wiMONPac1kEROgDQRJxx1qGNKZuU9JQxBaypUXB06DOyL7e984qlvIpLMCaJxLDltGPzqEXmoCaPaaVfPIcTEiW37vwTeK5gHVa21EZmnGoJfRV1BrwuLKszzZO2e7vZxa0VEF0yIdAAGaoPTqfEkAxEE8qCSZGksrZwL1nbNwAA8rGI2C8lWEEDnITwnLqEXRXRIqhBKio0xsF1Ms4dVeBMOVV39BknBaFo4kFhSoMKoEbvvi19Qm3VeTNPztm5o9DJfrrAdL0z9uvgOd85xKceIUt3E8RoPotyfIMaw9nIxN5gW39cr3XbP7DVeiLUDNMq5C4irN5yps0PgSP8lODmPvzcbu0CMvqxsIJvW3BIL3is6m4XDLPxtLFBCvlzwLf2yN4g25AHXp3BdNJ3952SzTsDUNZThnh7i1hQ0lEATMZ45OLI9HTQEPrH","output":546169823},{"input":"vkVPqoZqbHOJs11Nmydtiu6TPVN8W9WqqUOpcz8h0ENsbUg07Z5BsW1qnpxWzzsNQO4PtPB58dsSFZ7rdto4qut2iyliqo8bHfRtDIkkZJ678IoCVyiWGFzJ516idwAATZ6hQBDQKTvBnLExgSsxIwm98U8ZtW6rAUsXuGlVim0ic5QB9N68qHLl0b7HQN85z81qP0PUcbvpOP2ziLDJpZlRNx0GH3KG9DSmeWwIOdr9GhOLaqksE6UHDlHIJ5X3xGNiVpJRbcs1NBS5sBlczqCGb3LEiw6uGV51vKzm5y3W2InqC2nXeTbBDoKsv4fM1Bu9ONyveOlheAnRl3JcBWDDeXXt9O3yPoozMFTohBrLTAMNfs6PBlwnSoC1ZoMGeqgbkTx76udefGnAXaSCzUKCHrTLH0ZHL9nXMb7dDQWZQB6KxyuttZ5p0iLn49Pf8e6w44qMMNNuMRGnItaGKSASyvZe7D8cKN7xZTibD4JDAZO4hwwC0f0oBZPurWBXxcpMgU3n50XcStl0GJ35C9NoUG0GHtK8XB7l5lbHGCmoZduQ2BzhRreQKN7XUu5BIucnVuIKCI9TgDN3zQhz1OEv8uddFK7o7KK0WQ5UkXQFdpkZMs1RHNRZ7hqCsgpRXFRZ9i9hOP8xZTcR2cpyqT52qpd3fBnvxiMZZVBCv2sHJm7D2iDZ2TgLTBDpe0TJ69NuuJtvzOoIzBCGBELdBV7m8kq0aAnhN5NID4JFbJB2q2gyJf64pLmLWGiIeq1GqlNQrWb6wTil9G2su4MKeb6moQvI5Qm2IGVVPpB6bzeppRa3HZAJB8df0OSRUM4VJMzKeUcrDoqTXU15kiiJJNmLPcERONPlAcJgRcmSpbg18mPEZTpuAk947mU7L9wsJWbNR07w1zFBMfI4huJpONlZLsM9MRwgQwiymupOQ4ZSTErm0kSxkS3yOPDFLwXRFaP7N1t5QbCPgvPM6kdzDdTDkRx37locCKdoieVHlTOLQSa09QcOhaGdb6mv6Fge","output":2689404572},{"input":"NyzWfIPKIZ0QvrpfahoO6ucxprg52LZI59T8obuxozEX1qEx4iJvVabfmd75bcARZd3RrDp2BACAah0WSXdroEEE7THHLig65u8D7DfMUe6b245doHUWE9tcFzOtJHFTl8ZB3lw7vyPCf9eMm8Aw47XmTfAvAr1SR03t1oBA4Nef5rUscOVT2CchCa1qlFr8hlUgSW7O5hf81bIW3ED2wCU97Fsxz3911yypUps35uxBCc1BEk73FbSV4bJm8wleh2mxsANSRs0dHJz9mvXEZZlme0EUElTliverCfag1cahRMsDmwcwahCUzMglK219QmKbxfqpr8UAH7Lt9kepoC7KwCSIF3QwvMuyWmLiLQRayi531r0vKssmXsTiIn7AK0v1tWlpBPT7xTA2zmbbXoIF03pzVVaMusXNuBTfEuR08LOkP3KqBTePT5CqDTBV3rWERSXxQzoVA4QGEg8M3riQFQPotCzXzomfkk1muMxCrFnDyTPGKyu7oIPUbmta6csyPaR23KTiAwDvO0CfkMcZKHAAkADAhUooVh2atK3DTGiBs43o0pAwps0EvPJALpiJuETmyugQ9BUkPklOyZH7CrZqW225p1mXD9UZaM9tnIvt5k9ewyIwM3vGqXi3F3NFIG45UdydxswQdMBwRrUWPR9NFw4M5VtpxHrC0z7xzhsZzeaHycb8cGhARVx7xdS3J9x7aKN6Exu3pqeAVxlM44um1rlrGOF6leP5pkSik9aSNSvAUpV8qVrbxDzVz19Rm4zKNuQp9yFgLxd7TTAOCCvZmxReTpv6GQLWVtnw8PH2D0ZvZZtsLDidMTwSeHvmRcQh0wmlCh3T2XHhILEoTWXUBTIPkhK5HTdAPbQ4Tssit5ZLUadHDMnTdKAMWTW16F1nidsrXNEVSeOhRSFGlzEbRwHZW9Aps7cIRscmoRhTXhCvFfqbhmf7OsZ1ehG1r9TkP9LGQ66xxVThpPETPmZmeFZ3pJXP90fx7hC4D8WT59lJcNRGnNtK6dU3","output":3206447878},{"input":"","output":0},{"input":"\u0000","output":1383945041}],"output":2351614431},"buffer":{"tests":[{"input":[225,191,215,199,59,108,114,90,174,90,21,180,219,109,96,7,56,12,158,123,127,191,54,29,76,121,154,232,88,255,234,123,76,197,240,4,160,194,87,199,188,175,234,115,169,167,127,26,66,167,252,232,11,6,14,156,33,163,149,187,84,209,85,57,140,113,234,46,37,116,102,223,143,218,171,142,119,27,122,25,14,242,2,57,192,216,128,174,84,229,146,33,74,212,125,129,222,199,18,182,171,98,29,198,83,215,95,141,91,200,151,164,74,100,164,91,226,19,111,174,68,148,133,141,176,202,101,91,2,58,216,8,221,200,157,196,174,9,11,119,112,83,134,106,174,36,83,90,209,172,113,176,228,107,209,153,50,164,255,137,248,200,93,183,241,204,22,142,13,149,73,229,226,158,90,109,74,178,43,70,184,89,44,97,91,181,238,75,34,164,15,123,81,163,103,172,174,238,192,116,178,109,33,112,153,2,223,225,140,14,122,80,130,9,171,197,47,173,213,5,30,27,83,17,75,133,35,101,133,193,255,12,118,208,193,36,157,98,230,137,94,101,19,21,118,105,176,183,105,247,75,98,117,71,228,248,235,138,49,184,113,205,163,199,189,89,249,242,4,167,214,255,186,26,252,36,111,87,40,252,144,48,207,120,131,10,122,237,250,251,36,215,57,166,97,238,191,54,196,121,96,142,234,92,132,13,122,76,30,36,1,15,134,89,250,156,46,2,188,45,0,222,129,97,38,250,241,26,172,16,67,206,56,73,84,41,24,247,90,160,166,11,81,123,137,161,222,47,28,199,182,235,182,59,14,143,220,227,219,168,144,105,88,54,205,218,12,27,208,3,5,101,23,58,63,26,118,136,199,194,73,171,50,70,104,122,174,51,95,166,11,20,145,181,59,143,22,228,20,187,228,23,165,116,112,96,222,44,225,173,178,38,133,79,246,125,32,132,184,119,170,31,174,127,9,68,26,18,196,165,26,18,169,160,97,92,97,104,76,98,16,113,1,59,77,185,86,171,32,166,223,59,139,137,22,209,95,59,251,68,94,183,211,115,207,121,64,120,142,198,12,209,218,12,154,16,147,179,226,231,236,1,136,131,87,141,63,207,181,151,233,114,5,24,131,143,172,184,198,65,179,76,64,5,216,128,149,57,191,158,123,166,40,46,169,122,213,168,225,136,129,62,149,16,228,213,165,186,49,74,219,107,214,111,61,81,222,73,245,134,234,213,253,137,83,3,28,103,84,54,218,183,39,175,45,2,141,7,102,136,61,235,249,82,29,124,236,153,223,47,47,15,61,15,151,97,143,131,41,237,234,104,121,46,183,77,220,152,27,168,165,218,27,155,209,16,125,81,165,107,152,103,243,216,176,39,251,206,96,220,220,60,91,164,127,190,216,81,220,237,53,28,84,214,158,166,101,83,228,162,33,136,141,183,102,152,69,28,62,65,33,93,17,110,10,223,214,71,41,189,79,214,90,39,211,92,48,206,135,215,26,160,157,150,87,109,174,239,9,180,137,45,220,176,96,45,245,247,123,107,81,142,196,151,19,91,145,15,88,130,190,73,122,213,72,85,226,138,169,2,125,186,227,226,21,126,173,3,18,213,228,0,248,137,56,101,142,185,249,108,41,67,117,179,49,121,170,138,169,80,205,193,221,189,142,198,17,15,38,122,26,251,181,60,216,229,175,90,255,39,25,164,173,146,54,104,123,50,42,176,138,140,88,245,228,13,211,148,52,197,129,176,124,169,186,202,9,226,237,69,90,129,73,33,185,242,24,254,236,243,247,0,42,94,195,94,108,19,121,109,56,103,126,71,234,230,117,136,113,137,16,226,235,9,185,240,117,137,137,17,126,52,27,142,12,232,156,155,86,200,101,158,17,245,130,14,133,19,152,13,234,145,142,52,158,220,8,16,238,69,121,68,97,115,240,205,122,216,25,145,194,212,252,252,149,117,23,1,70,194,61,114,166,245,243,12,241,69,236,63,63,212,16,117,53,152,167,225,13,150,22,41,245,2,231,214,148,183,33,102,162,140,220,247,105,145,145,170,157,4,33,161,3,46,140,199,174,150,177,81,156,191,139,97,59,250,84,91,113,64,175,36,49,250,72,158,93,169,231,95,106,9,185,113,52,106,1,38,206,156,65,245,116,109,50,240,181,17,132,121,4,34,80,146,110,17,75,21,220,39,84,56,242,30,17,176,36,37,33,245,167,144,84,188,164,115,159,196,191,6,1,41,246,122,40,209,57,21,134,251,132,55,84,137,1,112,123,51,243,167,37,18,10,162,85,226,76,110,181,255,229,153,104,141],"output":2314857165},{"input":[107,150,11,30,114,175,167,251,70,192,49,236,77,219,99,161,123,69,192,207,122,132,71,183,114,182,183,19,184,209,47,237,130,16,46,6,100,195,119,230,159,11,47,208,26,195,30,247,104,174,115,253,217,87,160,100,59,79,98,196,184,53,110,8,0,238,146,140,108,27,201,75,80,255,153,195,252,156,177,225,176,167,3,113,192,87,78,92,101,114,153,91,20,250,4,159,99,93,65,167,34,144,198,255,139,98,171,187,79,216,51,137,205,215,14,251,193,53,255,221,199,172,20,74,111,190,248,169,139,158,107,40,18,63,1,91,100,183,193,52,122,95,167,214,115,129,222,126,178,155,154,109,122,64,223,219,62,41,151,180,16,175,157,217,20,50,2,212,24,52,37,145,54,171,202,163,205,12,235,246,248,205,114,56,161,77,239,24,59,35,76,14,39,60,184,232,22,108,80,204,240,96,119,119,218,7,13,176,174,66,170,178,68,111,9,93,117,23,215,160,101,238,131,221,126,20,160,157,122,211,25,111,211,20,45,29,56,245,88,13,162,153,60,129,79,48,157,68,255,242,9,89,155,251,191,191,188,218,160,189,130,127,253,15,175,90,191,105,158,127,49,217,241,44,40,40,221,17,255,33,138,251,211,42,6,8,60,253,137,60,32,186,5,76,92,182,174,117,158,30,153,76,23,68,74,248,9,247,91,138,229,7,186,64,7,237,107,33,132,122,75,202,211,253,16,199,175,39,140,215,84,38,204,198,158,59,51,110,221,41,170,133,201,188,48,58,191,155,30,77,90,116,151,38,12,81,42,81,4,79,170,159,250,214,39,96,99,84,238,86,147,152,207,186,253,103,54,127,140,186,167,155,101,21,4,2,99,47,140,134,119,174,39,24,243,249,177,203,24,195,23,135,102,166,178,12,93,69,94,57,180,93,122,13,68,211,48,187,88,215,240,244,144,176,8,213,160,23,115,10,191,75,135,44,242,49,162,107,37,142,129,178,43,104,37,79,47,16,147,173,221,116,197,184,242,194,247,33,111,190,45,85,31,27,93,229,147,3,238,107,234,12,158,221,140,90,94,27,156,127,160,166,96,88,237,49,234,140,97,231,126,76,136,50,54,193,135,148,3,158,139,182,56,229,194,236,17,189,99,155,124,243,68,66,116,176,246,231,128,118,147,101,158,208,65,189,181,209,90,115,117,114,139,119,77,247,74,24,13,40,72,91,31,38,26,24,233,8,235,187,22,38,247,53,112,56,169,24,5,96,49,141,88,215,237,158,18,239,104,164,99,187,252,66,4,128,214,116,195,22,32,165,90,214,234,230,187,163,242,130,200,162,6,235,210,72,203,63,169,193,193,77,185,112,18,118,128,76,178,130,71,189,215,245,129,117,173,215,59,125,254,20,168,181,181,125,134,227,23,225,114,150,80,227,221,40,120,250,171,100,45,249,69,178,225,22,104,13,82,187,255,26,98,9,162,208,225,224,20,157,161,161,146,174,143,69,253,75,85,52,215,122,195,111,198,126,62,10,231,93,178,27,91,195,43,39,240,34,81,185,47,68,191,139,4,88,207,65,169,14,46,123,59,124,103,34,230,24,25,190,192,16,54,224,61,204,42,28,123,24,221,100,31,149,192,8,4,63,158,120,163,88,220,164,180,70,62,20,69,29,215,115,121,236,7,61,250,247,64,217,140,185,7,130,67,129,232,214,179,45,201,227,135,168,154,104,79,76,206,8,157,39,187,28,41,5,207,121,182,49,238,3,229,51,87,40,239,232,126,22,200,111,130,85,240,198,210,85,229,59,218,249,135,238,115,15,128,182,186,237,49,29,160,110,234,196,95,140,183,233,247,10,93,146,11,213,106,216,224,142,67,254,69,228,10,122,23,2,190,224,155,243,158,27,167,234,134,109,114,249,103,204,204,216,26,36,73,41,161,127,10,114,34,14,233,71,115,24,229,60,199,239,98,74,62,146,250,238,165,213,127,130,88,35,209,90,58,189,76,209,1,217,55,49,155,202,193,235,173,101,141,244,248,84,70,227,230,49,167,174,162,3,151,211,34,180,226,234,215,188,105,46,243,140,69,182,130,154,107,138,192,16,237,86,120,72,82,226,183,228,222,249,150,181,73,35,27,193,30,107,15,8,212,217,117,223,35,44,19,106,255,17,138,162,85,52,206,143,56,247,193,209,25,61,141,24,253,153,158,90,247,46,162,116,95,170,58,17,47,216,102,196,26,212,213,74,166,78,146,236,173,227,99,76,4,88,125,211,97,56,142,220,122,215,171,119,200,19,152,17,64,230,94,109],"output":940032894},{"input":[254,178,181,208,151,96,44,150,66,179,115,81,203,159,114,222,122,10,116,214,233,27,34,76,162,36,122,178,242,182,66,152,254,95,156,26,182,163,137,117,109,240,213,37,122,255,146,149,39,168,199,191,126,143,140,122,78,207,54,253,160,128,214,196,71,65,39,184,155,87,86,41,48,144,188,24,115,147,136,106,80,114,185,128,242,253,10,56,27,54,88,7,18,187,103,51,224,123,65,131,154,26,158,140,46,57,201,90,176,134,250,245,126,19,228,245,192,52,231,164,71,185,235,249,99,185,100,45,46,242,65,135,142,183,70,170,205,49,128,189,49,139,154,251,161,112,67,31,244,208,254,83,203,231,5,88,213,138,53,139,104,216,155,212,136,17,108,212,173,213,197,120,60,227,50,10,54,8,159,167,71,229,217,119,88,133,224,58,128,87,106,4,221,231,199,33,189,90,175,16,83,75,192,192,30,70,217,102,58,119,65,227,24,71,39,178,21,58,64,12,26,216,119,94,69,98,74,234,191,90,213,249,45,53,48,198,16,15,190,139,18,162,91,53,39,76,31,52,229,102,224,61,230,32,101,156,13,86,150,176,159,212,197,118,178,218,235,149,254,217,144,65,94,235,178,180,202,115,30,17,230,196,159,84,183,65,195,16,137,239,253,91,36,63,98,219,118,89,94,49,81,60,62,76,56,192,200,136,52,178,218,44,192,212,221,174,245,211,212,48,101,125,33,234,63,50,40,83,71,62,92,102,9,173,172,18,210,131,142,192,131,58,65,85,169,173,38,217,35,243,184,52,68,66,75,143,65,93,216,182,129,5,138,119,230,106,38,98,186,101,79,197,78,24,162,15,5,110,143,107,183,58,82,128,203,125,190,170,174,245,23,46,192,74,63,200,189,142,65,240,10,245,194,214,88,189,255,76,215,96,41,240,45,170,107,39,161,26,241,6,3,231,229,35,22,185,96,196,228,207,63,29,75,172,209,146,64,107,124,97,148,205,53,147,136,6,118,223,99,204,30,13,126,180,232,0,199,143,216,82,31,45,245,0,50,246,24,142,228,58,238,95,199,135,61,156,219,0,197,123,54,252,159,249,71,145,103,188,59,166,38,205,228,71,177,108,212,217,181,102,22,81,162,174,64,167,108,189,53,53,17,136,169,102,233,122,13,226,62,48,130,119,244,153,169,105,128,216,2,137,112,174,85,216,190,107,56,173,20,123,15,224,127,66,91,122,224,105,19,20,126,232,235,112,148,122,40,100,236,110,192,254,89,142,172,220,237,202,100,71,98,171,38,187,86,27,70,102,239,80,78,110,204,26,77,145,127,47,130,65,255,114,169,12,185,106,157,207,58,116,58,31,225,74,117,142,228,9,155,57,111,255,168,80,186,72,188,5,72,130,228,21,79,241,134,196,215,240,198,194,25,202,78,114,251,213,74,106,204,139,53,3,238,141,2,204,225,5,136,101,107,58,63,47,161,226,26,172,32,113,85,114,188,221,22,33,187,184,185,137,250,230,177,36,0,51,147,164,237,220,65,32,186,202,226,196,76,78,17,252,172,57,54,169,34,211,145,138,66,195,238,47,28,139,132,48,201,190,215,41,237,203,95,21,130,154,187,246,197,89,179,110,99,187,17,99,152,184,64,161,166,198,17,29,125,120,242,155,59,31,206,225,200,121,182,30,214,123,179,219,5,246,114,226,245,220,170,114,114,31,202,171,200,223,19,70,198,111,71,175,94,210,219,130,82,157,133,221,107,139,102,176,104,63,114,13,63,118,185,103,112,212,103,254,110,32,71,20,21,239,69,216,105,157,2,15,104,155,184,206,43,90,169,211,182,26,170,148,207,254,63,165,145,236,15,197,182,194,16,165,254,129,216,66,252,228,69,53,153,175,89,183,126,8,30,158,188,44,125,31,183,125,30,66,75,222,239,147,128,206,218,5,232,14,15,105,133,46,202,160,223,203,112,113,96,236,0,128,178,128,95,242,77,212,47,51,174,254,202,181,246,111,212,114,82,251,168,104,85,115,67,87,229,184,24,42,238,190,104,154,112,238,3,87,114,20,85,220,146,172,84,179,64,133,24,252,122,67,223,133,33,235,36,19,0,120,237,106,40,184,130,136,180,87,72,246,83,21,64,252,169,82,193,234,19,167,39,143,24,234,161,72,188,60,125,30,241,44,78,71,165,31,43,53,221,247,56,147,162,77,36,54,32,6,112,14,132,43,248,57,34,133,248,124,102,102,74,123,96,47,187,60,239,192,20,135,16,34,149,55,162,158,164,74,214,15,171,190,45,153,222,232,176,42],"output":2253824448},{"input":[81,10,112,226,54,119,226,221,213,45,241,62,206,112,137,54,185,98,183,105,191,101,134,141,60,77,9,198,23,153,10,94,107,14,170,129,209,11,29,75,240,235,148,227,135,78,249,39,206,127,66,62,159,68,157,141,190,11,216,230,148,82,42,124,41,151,17,26,171,66,137,209,127,54,255,69,149,221,112,255,7,130,47,114,24,100,110,102,147,1,208,48,243,172,10,137,252,151,217,164,44,97,44,65,146,228,48,109,174,91,226,68,108,204,42,237,208,189,169,113,132,162,113,132,203,204,34,95,126,112,199,115,199,67,227,47,222,226,126,99,68,127,216,38,124,198,84,6,166,248,187,37,59,75,63,235,37,198,108,223,96,164,53,55,99,173,55,177,190,54,90,201,58,20,193,135,185,39,103,194,177,250,143,12,99,31,212,187,203,45,132,47,129,43,81,225,91,170,58,104,7,10,33,123,42,154,196,95,210,12,60,195,186,198,20,206,199,81,69,111,28,199,153,32,30,70,200,166,39,246,216,178,127,20,102,157,230,102,176,95,225,212,116,65,188,219,204,105,102,32,72,47,190,196,250,129,182,164,251,182,57,173,187,122,107,77,221,254,115,248,19,65,227,83,59,197,161,50,105,87,145,218,23,160,87,121,40,53,9,133,196,208,164,54,131,121,155,60,241,233,111,41,19,5,59,122,196,76,48,54,122,185,91,252,88,58,164,87,203,241,118,217,88,236,223,90,122,54,30,237,129,74,165,23,202,109,53,185,234,195,138,30,29,82,2,89,101,24,79,42,116,200,50,158,135,108,22,70,105,16,105,9,4,205,219,117,68,6,74,230,222,149,204,28,128,63,3,239,222,116,248,138,204,63,196,153,208,133,122,57,205,185,215,143,27,235,207,193,134,51,163,31,43,129,188,93,60,231,89,130,142,208,188,1,74,194,100,24,61,8,113,205,189,129,12,250,119,134,213,52,14,86,146,152,107,154,38,204,114,69,223,137,45,245,207,55,251,178,222,252,57,155,62,104,6,238,41,249,21,42,67,81,167,19,212,67,235,93,11,41,180,171,83,63,192,217,183,207,196,117,85,85,17,189,95,194,11,230,179,66,177,58,116,118,57,112,70,218,217,64,42,29,11,205,109,112,85,67,242,21,226,147,88,218,174,44,241,59,114,71,98,190,243,202,37,177,137,210,239,156,159,109,244,194,76,157,80,26,158,142,129,138,85,45,63,169,126,196,176,147,188,85,41,254,148,75,62,235,240,233,30,71,30,64,110,104,10,186,253,180,234,215,102,254,132,4,130,80,133,229,139,8,177,79,85,119,7,112,152,249,104,100,204,253,132,228,157,155,232,81,124,112,111,42,180,4,128,42,182,147,80,92,247,175,144,100,161,71,19,76,148,231,205,250,108,22,154,171,223,163,69,85,34,149,238,255,210,250,127,49,180,248,80,193,131,22,207,62,173,125,30,161,27,66,135,237,63,173,120,255,106,42,184,232,192,233,146,92,117,67,194,49,27,206,150,254,14,174,106,24,136,222,89,39,15,206,252,248,160,16,209,222,9,240,88,47,204,51,249,218,117,17,93,113,198,82,163,51,65,20,198,149,83,57,24,66,167,140,65,58,213,32,22,28,186,78,238,76,87,172,116,31,242,41,90,171,249,106,82,144,157,38,156,239,35,77,12,217,121,187,70,136,171,61,70,226,107,237,185,208,159,192,238,124,129,134,138,54,127,153,200,82,235,30,146,120,43,107,71,9,176,46,123,139,255,117,51,222,90,13,57,107,110,11,34,55,131,63,166,119,15,118,69,201,143,194,208,34,231,204,43,224,178,185,70,88,181,10,251,194,237,71,12,7,228,72,254,94,0,24,57,13,211,129,106,150,213,16,184,1,23,3,131,212,92,249,220,49,88,138,59,203,72,208,155,204,0,90,64,146,54,114,113,114,51,181,109,179,36,15,4,174,157,189,197,171,90,31,69,248,140,41,220,159,15,85,228,53,157,248,58,119,89,214,25,10,68,119,105,216,88,50,104,38,58,146,229,180,137,47,101,247,181,206,55,13,66,190,112,58,77,83,6,119,65,146,39,19,137,186,162,236,30,212,37,122,32,40,49,62,195,8,13,166,53,106,0,200,36,198,61,131,3,224,2,249,57,161,167,231,131,20,0,122,120,24,88,52,201,246,43,113,157,61,70,230,82,14,143,192,233,67,198,250,226,247,110,40,185,28,180,186,3,10,235,30,62,102,78,242,82,175,78,35,45,136,48,222,153,232,225,142,111,108,21,22,114,56,117,162,182,40,70,246],"output":1835750255},{"input":[29,131,142,186,26,39,87,111,70,226,125,145,51,227,204,166,20,109,250,219,38,111,127,18,158,28,240,222,10,47,195,206,4,84,82,20,74,75,44,176,251,139,137,241,250,237,20,41,219,228,210,98,1,105,74,21,255,135,230,77,112,45,48,86,253,99,246,29,119,33,193,228,166,254,203,20,218,72,220,100,128,45,104,150,136,242,107,150,107,168,177,145,89,190,100,86,129,143,13,115,114,169,178,121,56,39,186,13,164,231,166,71,91,132,221,69,22,241,213,160,254,227,104,237,99,46,195,238,253,75,76,205,0,250,75,82,94,183,156,225,150,165,81,209,158,232,129,170,49,3,133,203,15,8,83,138,229,183,255,134,120,223,81,251,61,217,125,2,146,35,86,124,111,36,33,206,63,239,44,235,25,171,149,119,210,87,61,175,137,141,182,228,81,74,242,77,238,17,214,75,166,123,77,82,57,104,238,254,18,162,84,210,227,232,187,8,214,159,218,23,156,231,100,37,245,13,203,208,253,143,129,44,56,253,204,5,58,163,226,48,154,158,110,92,57,252,2,242,3,158,97,28,219,101,207,213,24,235,98,57,179,252,123,102,54,6,5,206,149,50,133,146,167,139,183,13,16,126,156,214,120,181,28,206,124,148,43,127,80,32,239,133,2,32,1,181,60,114,97,213,164,227,123,238,67,216,189,38,58,58,113,248,140,69,240,117,176,166,187,222,181,59,250,163,124,72,163,173,106,209,255,249,252,217,225,100,193,226,54,135,34,68,60,8,250,226,127,45,214,78,213,233,50,93,30,107,177,26,187,97,252,170,6,74,26,83,199,15,236,23,45,103,182,107,84,57,255,77,193,36,148,251,4,74,235,12,47,63,42,107,136,164,23,34,190,21,20,229,76,237,79,208,64,181,19,254,181,41,117,103,8,36,105,228,23,43,170,28,54,176,140,138,111,78,230,139,155,197,30,21,76,129,141,148,249,171,95,94,37,237,47,176,178,189,26,82,183,253,191,117,97,45,137,180,169,223,14,98,163,132,43,18,219,99,51,190,108,124,207,2,101,174,97,191,49,67,0,177,67,176,165,225,0,2,181,176,219,254,221,224,1,185,176,146,136,196,10,98,220,91,239,42,128,205,205,21,154,239,56,73,56,241,250,0,78,22,123,81,21,22,88,252,171,21,173,87,255,154,125,112,183,121,200,140,213,240,185,46,77,55,168,133,124,92,115,227,68,255,146,201,217,83,184,227,67,253,65,160,98,98,249,54,212,14,175,6,101,209,97,141,180,187,221,237,108,148,70,132,90,161,126,178,63,8,125,233,63,175,86,238,232,182,16,165,65,111,145,91,94,105,236,84,182,46,186,134,106,40,137,156,59,79,85,173,164,53,155,106,83,122,219,60,100,28,155,255,252,222,14,230,106,237,107,164,58,210,251,81,15,134,100,168,223,227,127,145,77,0,209,139,174,80,13,219,41,219,107,47,86,179,29,247,156,236,172,90,41,89,48,123,60,120,129,10,83,28,65,154,84,35,1,251,130,18,138,254,42,252,95,254,206,237,106,237,166,16,126,173,176,233,81,214,166,148,7,104,65,151,202,76,72,106,238,227,76,20,175,184,165,42,9,73,152,141,71,220,166,202,227,216,60,168,140,182,240,87,168,230,27,113,139,192,22,207,253,19,233,156,70,221,90,93,220,26,67,19,27,251,187,99,204,251,3,112,84,89,67,45,178,241,212,238,196,85,86,82,82,251,108,99,69,246,96,134,243,134,140,45,203,13,28,78,162,139,243,115,192,46,32,34,106,242,224,37,130,105,177,166,18,164,9,114,32,135,3,126,167,3,164,148,231,198,238,67,19,21,193,87,155,119,66,4,46,179,82,254,149,206,104,116,18,246,201,129,59,39,212,225,3,144,113,149,18,49,230,133,214,36,170,44,130,64,125,233,224,75,146,205,41,96,170,99,206,115,251,186,150,112,184,23,145,145,126,66,68,73,242,71,65,149,70,59,82,142,92,181,146,154,129,221,199,107,200,61,209,15,105,254,220,220,10,236,137,204,247,118,84,35,221,212,221,10,168,136,138,233,45,113,221,166,132,243,171,207,97,75,206,16,132,36,140,186,254,171,243,115,164,201,116,18,235,150,252,116,113,206,30,37,250,191,119,121,149,1,208,13,226,72,41,144,24,239,200,179,30,99,130,129,236,58,194,88,192,9,34,25,20,99,146,104,246,215,140,15,248,50,55,251,210,194,87,250,62,39,93,20,34,31,194,88,247,154,34,249,200,3,102,236,145,106,178,251,22,107],"output":4229392440},{"input":[138,70,225,233,25,117,113,238,138,215,236,220,148,216,99,76,199,21,200,100,114,14,155,202,121,136,41,174,174,95,15,153,244,12,196,171,1,203,75,27,107,75,77,219,124,59,194,102,213,103,241,156,2,244,90,146,155,141,205,65,216,183,80,176,70,50,179,161,243,220,241,158,5,40,205,144,137,53,221,145,171,71,19,160,252,68,133,113,63,33,150,237,182,237,216,171,209,200,244,17,138,171,100,98,147,123,51,241,242,144,164,246,143,134,226,227,26,167,217,68,156,234,84,21,147,128,173,147,34,41,121,255,158,242,160,252,180,197,63,55,207,117,251,167,146,235,2,82,141,102,225,165,195,250,70,154,128,91,85,108,9,204,31,164,149,242,204,120,132,250,75,14,250,159,117,56,108,161,188,58,144,122,45,214,52,41,148,97,40,218,60,31,144,195,143,145,164,178,200,200,141,37,192,226,106,33,181,247,112,110,205,206,214,193,191,79,106,223,254,181,111,121,105,130,89,176,150,9,16,44,54,48,212,69,20,65,163,208,248,57,40,49,252,0,33,11,169,164,26,43,61,236,67,90,175,63,165,188,97,163,247,223,241,44,98,141,151,159,81,24,22,93,171,168,151,144,162,5,83,237,226,212,133,177,115,2,206,179,12,41,137,114,254,14,28,48,231,152,230,209,37,75,254,180,179,141,200,178,137,62,196,159,46,94,0,28,33,189,4,29,211,191,196,121,229,223,159,35,87,69,196,100,247,166,55,91,54,195,240,63,154,185,61,124,43,175,253,249,37,198,60,33,51,47,35,129,112,227,240,249,109,57,14,199,2,84,29,194,204,213,86,190,56,202,29,74,27,172,107,36,175,18,168,13,109,202,52,44,111,111,29,46,193,94,199,111,218,117,254,254,157,125,204,111,62,124,218,105,253,221,59,180,2,76,126,104,195,68,218,89,68,186,221,40,150,219,1,35,106,209,135,151,36,212,150,181,44,218,218,86,59,30,240,124,248,130,245,101,69,164,174,49,127,137,226,99,254,90,216,245,110,176,131,135,137,214,116,246,112,115,229,114,175,11,56,185,218,194,77,199,113,2,181,240,186,132,111,162,118,15,204,79,32,220,154,248,16,235,85,171,250,46,246,165,191,100,72,118,51,202,60,203,245,233,47,118,164,18,203,206,38,141,172,48,227,213,123,197,105,190,84,144,196,148,165,121,166,53,115,58,58,93,100,4,44,237,133,226,210,182,58,108,121,75,206,4,147,252,114,174,237,207,122,173,111,64,137,125,85,24,21,186,11,184,108,235,101,234,254,21,206,59,23,174,15,13,234,255,215,90,248,6,220,228,138,92,143,145,106,63,35,186,43,72,213,213,68,220,168,168,161,210,2,53,156,36,128,148,8,171,240,135,209,250,18,176,62,73,220,232,128,200,75,79,35,37,143,100,40,78,220,166,248,51,181,117,88,172,36,222,94,195,237,166,59,254,16,45,7,102,132,29,154,205,83,142,128,155,137,111,172,210,72,63,14,148,251,89,100,28,140,6,247,125,7,68,77,105,137,192,215,45,88,164,237,231,173,144,63,214,191,186,54,91,114,140,4,182,222,83,224,29,103,253,168,184,99,40,6,42,233,68,138,135,26,3,2,200,221,55,69,204,43,11,128,201,226,125,62,190,229,90,137,98,101,173,253,55,69,219,89,14,94,201,135,255,125,129,76,93,227,20,234,197,141,139,59,14,70,216,104,51,88,42,169,119,9,51,207,114,107,0,125,211,167,52,39,230,149,254,35,223,190,157,41,55,237,95,184,5,75,185,189,79,104,171,176,28,127,141,92,98,114,24,163,172,184,84,60,44,93,164,111,88,29,204,237,134,180,64,65,190,75,136,173,12,158,179,233,101,37,15,162,126,149,27,237,114,175,217,42,172,49,243,138,197,162,94,216,81,170,223,176,102,113,36,79,15,221,140,57,21,239,88,182,222,59,98,249,51,120,229,200,77,159,56,15,213,126,104,69,189,207,179,49,128,143,164,196,46,114,135,84,242,195,145,57,76,54,143,44,85,117,117,193,50,35,53,41,193,7,147,251,65,202,94,31,30,176,184,39,229,102,118,240,78,236,125,211,187,107,11,39,2,216,16,243,158,107,219,147,43,138,145,88,231,0,105,50,19,211,136,241,56,192,147,172,235,65,25,151,45,231,84,50,114,56,252,221,250,67,109,23,84,38,149,243,31,83,66,174,105,205,166,65,208,196,178,13,131,251,0,28,199,92,219,99,240,88,172,63,67,8,236,69,170,145,222,212,94,227,72,243,231],"output":3515976007},{"input":[213,185,30,150,122,98,46,239,235,216,146,213,125,50,189,111,200,145,14,52,70,201,139,228,135,103,157,185,94,23,220,28,168,115,211,196,143,62,98,3,235,99,210,7,246,134,188,242,31,78,170,214,193,89,54,4,73,37,213,172,146,248,39,143,166,115,130,225,173,43,124,126,160,24,102,175,50,66,42,15,65,182,62,59,134,83,166,4,61,96,159,1,193,227,141,111,219,50,39,231,233,126,152,180,154,59,228,166,160,195,117,35,3,20,254,241,82,249,201,126,155,175,113,149,164,8,113,32,52,240,219,165,193,230,145,101,139,194,198,228,126,175,224,169,18,142,230,248,213,234,4,80,127,142,189,208,93,110,180,88,58,189,131,119,114,232,118,223,86,46,240,251,68,128,229,87,145,236,209,223,127,162,244,12,88,78,76,198,148,231,117,146,205,127,147,61,213,113,127,21,196,234,102,130,206,150,105,14,32,175,173,218,25,153,89,148,32,100,150,211,6,225,15,135,111,222,60,136,215,232,87,97,36,53,68,120,144,180,48,186,60,46,40,50,110,42,89,34,217,104,150,11,216,10,235,104,9,58,212,158,132,168,45,90,205,53,148,44,116,84,40,15,60,128,149,42,95,176,121,199,251,126,85,141,215,22,131,223,166,62,127,105,246,255,151,0,103,165,219,57,56,224,37,69,11,61,69,221,223,49,24,204,139,40,80,93,82,236,243,175,49,84,247,247,138,129,242,54,130,148,76,252,218,40,84,65,162,32,139,76,163,18,205,144,47,112,60,121,131,183,78,245,232,236,145,112,104,226,115,71,162,214,39,118,239,161,252,4,227,90,191,69,167,136,47,4,165,102,160,135,186,113,206,19,114,233,60,202,162,211,145,211,160,11,209,116,7,167,161,71,1,101,7,166,49,91,219,143,252,238,135,214,174,153,231,154,216,40,69,238,201,32,125,194,152,0,254,163,69,92,255,54,76,207,87,66,152,91,50,78,147,221,43,156,153,186,123,49,47,145,73,48,155,250,189,38,172,221,192,160,103,212,178,72,224,229,248,147,48,157,205,54,14,62,214,138,16,27,49,255,98,74,20,165,128,110,151,104,75,230,40,108,84,136,78,249,237,75,39,67,74,11,81,207,124,72,13,218,253,224,47,105,223,89,240,136,1,133,221,222,177,187,183,232,126,20,20,224,59,2,108,43,180,187,8,229,22,83,86,249,201,250,184,193,117,175,133,19,173,77,122,223,200,210,46,133,152,13,254,255,43,190,199,12,33,214,60,118,113,157,39,241,172,100,20,133,234,130,115,211,211,217,172,228,95,159,170,54,254,32,157,30,159,66,148,58,116,245,22,85,252,52,84,208,156,79,22,169,10,222,55,119,62,244,250,171,202,136,171,190,117,129,223,64,83,234,69,186,202,56,207,179,43,225,144,221,77,31,193,6,157,16,183,29,173,123,206,208,96,32,55,164,63,19,12,3,64,59,144,147,169,72,148,208,75,96,27,151,20,190,111,11,85,33,196,28,13,174,115,73,180,149,254,206,192,33,197,9,157,114,198,42,4,121,220,186,4,120,213,40,221,250,143,60,122,194,249,223,106,166,42,56,184,137,200,228,127,172,136,172,45,177,245,237,85,137,59,144,243,110,11,47,78,150,63,121,21,188,42,252,90,214,193,254,173,123,46,182,188,132,40,140,149,42,223,4,226,158,24,246,250,171,216,24,40,199,18,43,34,136,141,158,97,206,197,19,209,76,179,81,152,15,229,98,95,252,72,24,76,205,205,25,95,116,42,19,66,82,206,39,224,60,66,13,158,12,81,167,75,51,135,221,50,47,110,110,97,78,194,106,71,220,92,119,58,214,97,78,198,15,85,195,219,8,17,23,249,7,59,97,177,186,57,195,41,24,17,11,194,6,49,214,12,75,52,58,140,147,47,169,207,39,230,117,79,199,89,213,183,217,227,154,44,206,54,141,123,226,236,143,92,224,251,150,32,37,8,148,239,229,9,22,69,8,253,216,200,149,196,90,33,146,37,126,92,209,222,140,65,122,228,188,168,1,52,75,210,88,81,248,140,1,132,181,25,163,113,97,149,118,115,171,83,125,103,164,254,94,117,38,198,157,197,14,99,201,125,110,63,74,57,231,131,170,53,179,253,84,188,176,253,221,62,115,140,11,146,177,149,67,195,200,61,39,171,13,199,181,121,129,82,196,17,133,142,198,79,206,106,204,237,121,22,84,163,207,161,162,59,138,7,201,32,154,206,149,108,112,207,136,215,94,252,79,57,193,55,175,165,222,61,6,252,249],"output":3773655086},{"input":[187,43,139,38,146,151,70,61,167,88,39,112,199,36,212,98,174,198,251,113,70,42,123,138,23,29,245,145,124,159,15,187,91,1,109,35,232,0,131,54,181,187,118,57,244,106,27,195,150,65,60,102,198,207,62,251,172,7,219,12,253,251,242,222,113,22,215,221,240,18,138,26,130,58,145,122,161,72,102,239,3,18,176,224,115,221,150,30,75,152,199,71,248,121,68,151,92,13,101,209,91,161,114,173,44,211,169,163,64,148,54,218,253,75,42,13,244,49,172,245,61,142,75,176,148,117,250,7,76,197,20,191,204,121,245,249,193,63,254,88,145,38,208,108,55,111,200,169,80,95,5,191,225,212,224,234,8,117,103,117,205,172,117,3,69,49,208,45,124,218,198,40,225,97,206,187,115,40,208,202,215,116,195,201,183,153,85,124,168,50,98,233,211,101,115,194,204,192,231,166,69,219,90,121,3,121,217,75,17,66,234,153,248,100,112,221,253,236,72,181,222,19,52,221,133,242,227,193,11,126,15,204,5,4,53,1,145,189,33,167,166,246,239,253,237,88,230,185,143,213,212,76,180,34,32,135,101,39,134,114,235,88,150,146,56,20,21,172,208,217,8,198,223,48,197,252,14,228,186,229,146,44,33,200,35,130,144,251,82,20,9,41,190,28,247,247,205,146,42,117,234,144,134,53,245,121,150,25,41,27,237,85,36,191,0,27,189,97,102,14,159,239,153,139,157,114,126,63,211,253,110,66,216,129,190,211,48,163,20,0,127,169,7,32,208,174,160,161,6,97,47,125,99,189,253,121,249,173,79,7,45,96,107,182,133,159,141,174,109,109,75,213,166,112,103,196,112,108,132,29,54,5,202,9,117,102,169,86,50,74,202,55,35,127,78,187,118,24,254,197,72,118,143,60,59,233,37,77,114,162,49,186,29,126,41,170,164,141,24,120,30,114,24,81,118,227,167,45,171,218,182,128,153,97,110,171,134,104,227,117,189,203,240,230,215,108,123,6,166,208,86,223,158,183,6,95,74,226,170,66,57,80,73,190,176,31,4,73,92,66,117,63,147,160,130,7,44,152,26,146,33,170,255,76,37,75,9,203,30,253,24,169,141,138,65,141,35,0,203,76,200,211,209,17,43,119,202,229,203,138,48,204,4,104,92,51,68,101,241,105,121,83,132,63,198,118,115,144,175,84,115,215,69,164,141,214,161,31,204,115,77,20,79,111,24,72,100,125,228,90,10,56,181,75,152,13,209,104,148,140,1,66,86,38,17,187,171,252,5,230,161,174,212,94,163,147,6,247,61,112,131,233,33,61,113,239,183,53,193,6,99,16,133,60,217,151,177,238,155,251,50,204,68,228,179,228,5,153,211,115,204,190,34,252,22,17,199,228,71,10,244,237,214,184,240,19,224,56,189,36,80,19,155,174,226,70,168,181,224,230,203,118,76,51,77,245,21,113,216,71,245,235,204,14,151,124,199,246,135,236,76,93,176,38,84,39,9,2,195,146,112,212,121,216,84,253,69,176,177,149,151,197,25,237,174,135,255,184,35,64,43,235,49,215,43,120,197,113,74,111,232,47,98,119,247,198,16,153,175,129,242,4,227,53,144,114,247,85,182,207,97,46,230,126,87,197,128,0,31,79,136,39,252,195,138,119,81,169,136,23,87,12,198,245,32,5,235,233,162,19,18,65,153,148,80,206,112,240,118,28,213,54,89,99,41,149,134,69,89,176,107,102,27,244,42,55,211,57,201,206,189,145,160,122,72,193,200,204,219,38,212,69,169,79,72,89,203,64,221,85,208,215,193,204,16,106,174,102,77,132,119,36,211,154,21,165,130,179,106,2,167,67,190,190,14,9,198,109,129,6,251,105,67,82,185,248,200,73,82,74,205,180,93,20,114,213,183,95,190,185,8,107,18,220,63,213,206,248,17,227,104,128,222,51,201,189,150,6,57,15,218,178,145,154,92,7,164,94,163,244,253,67,228,23,34,81,76,205,48,169,123,88,176,206,133,104,170,237,105,117,43,19,148,16,13,46,223,178,183,245,36,29,81,107,44,154,15,242,223,149,132,74,48,140,245,200,109,220,231,61,67,28,202,242,35,223,36,205,169,204,217,237,149,149,148,51,252,244,14,107,175,155,139,159,164,146,12,128,151,180,172,112,247,138,233,80,66,228,241,213,131,26,26,90,78,190,58,103,133,230,77,245,89,3,210,234,77,42,208,42,29,245,177,164,171,170,116,70,202,250,200,234,60,11,9,119,19,176,79,97,45,239,168,147,238,204,67,129,204,129,147,168,184,69],"output":3949703181},{"input":[18,17,104,200,160,7,227,84,223,196,251,115,18,70,222,189,95,106,107,151,7,43,62,183,8,29,170,192,226,124,216,255,239,9,138,71,112,17,158,99,128,32,102,8,158,28,179,154,85,1,148,164,81,65,81,197,200,130,18,188,114,19,62,23,97,44,22,131,113,111,167,77,35,238,132,92,78,156,241,21,239,234,184,128,163,31,168,144,33,22,247,183,123,60,31,208,75,16,209,224,214,176,183,91,204,12,135,219,116,20,226,217,27,201,249,242,128,65,206,6,60,28,26,87,154,213,235,85,194,244,233,177,152,46,20,104,243,186,151,161,230,194,68,224,189,167,141,36,29,15,246,249,137,215,195,156,244,67,107,79,167,112,15,72,254,97,92,85,210,109,38,71,66,21,53,47,237,85,14,217,117,143,84,193,92,207,183,165,60,214,252,207,42,154,135,206,202,160,227,46,30,15,194,165,198,146,120,197,107,205,164,239,59,2,49,165,133,30,51,62,30,2,201,139,147,110,42,216,255,215,89,230,55,54,119,83,199,222,14,162,55,235,4,222,21,117,45,202,35,141,152,32,128,5,166,94,101,168,21,118,10,109,133,71,157,45,81,118,60,24,43,7,190,255,246,170,193,108,99,28,137,247,169,134,166,249,145,179,126,184,55,14,78,141,89,65,210,36,191,249,159,77,119,102,85,153,187,226,71,216,170,13,104,221,144,81,42,232,134,222,201,184,108,102,201,89,5,170,91,85,228,104,159,100,165,42,232,24,167,50,199,38,93,77,94,83,222,166,143,154,26,119,190,67,253,83,99,235,105,141,197,205,190,85,211,204,100,116,199,65,246,34,103,18,213,104,212,166,32,18,90,220,68,165,105,164,19,117,252,38,91,110,156,224,15,79,192,104,196,76,63,231,43,145,123,150,199,113,84,250,142,9,153,85,7,172,208,221,120,27,225,112,193,182,2,183,15,89,169,174,192,55,15,242,155,66,245,192,166,53,37,47,107,44,21,72,167,16,230,238,197,189,235,82,225,145,73,83,207,52,119,191,24,3,48,23,217,161,215,181,68,78,121,37,139,193,218,215,187,191,175,29,185,210,37,28,39,175,194,212,189,165,132,130,150,74,52,202,39,119,185,192,46,162,177,7,225,243,245,84,233,181,238,164,223,125,156,247,212,181,20,121,217,25,144,187,139,174,153,244,0,233,215,216,42,64,214,104,130,24,87,43,197,190,23,18,109,177,233,70,150,54,13,0,125,95,13,230,211,174,11,169,171,23,99,246,212,227,35,86,210,201,176,42,121,245,180,59,139,178,74,232,64,56,127,26,182,86,223,162,248,33,215,129,153,11,96,147,90,225,213,1,211,19,213,25,150,121,213,192,28,119,72,234,61,168,253,179,74,83,81,160,170,174,88,115,121,188,218,77,113,45,147,44,21,195,61,219,213,103,37,243,33,235,72,211,238,5,74,119,14,163,189,175,202,0,250,40,131,99,43,70,141,99,104,67,162,133,24,142,21,104,33,5,3,214,84,221,210,65,129,115,205,142,95,150,21,112,232,240,58,210,4,231,32,232,167,171,142,32,178,56,128,231,204,7,176,83,149,141,24,39,128,37,229,239,160,220,250,186,199,33,228,140,212,222,153,182,142,69,242,3,41,135,6,24,185,200,146,89,233,52,172,230,2,185,201,145,47,120,66,232,202,239,249,94,62,180,2,0,110,248,240,80,59,25,220,235,103,16,123,134,156,190,17,150,44,103,96,41,162,111,166,132,22,0,205,64,155,147,165,159,22,98,228,60,39,67,97,31,48,241,198,22,97,223,198,127,211,6,208,48,137,163,38,205,162,30,67,62,153,245,245,80,57,192,148,26,2,138,65,229,214,39,100,122,249,77,72,94,241,140,219,62,139,53,18,251,175,100,45,218,93,150,182,164,18,128,181,182,37,213,141,245,18,4,45,187,131,88,148,85,77,20,131,210,152,60,175,49,246,18,5,7,91,19,53,198,112,196,68,60,201,23,29,249,231,62,188,97,207,194,39,37,161,120,20,178,253,0,96,131,29,240,190,14,170,50,32,3,130,74,104,157,66,129,31,157,119,60,109,10,87,144,240,103,175,164,163,242,234,116,93,61,154,218,178,180,185,147,91,147,248,17,161,243,55,255,160,106,97,164,188,185,142,14,77,175,98,21,62,119,116,184,33,68,161,212,97,3,89,144,139,182,214,73,142,254,90,223,211,123,127,232,191,177,13,129,9,64,26,13,186,50,108,211,202,151,123,76,178,78,80,78,222,140,129,136,35,25,50,188,228,62],"output":4003433558},{"input":[134,251,133,137,211,223,181,124,141,148,214,151,36,189,190,34,21,7,230,4,237,226,78,145,205,205,164,41,249,146,201,92,144,234,229,50,207,159,106,193,165,180,156,192,71,246,221,184,172,113,192,43,30,82,166,8,136,118,254,179,90,206,23,102,160,212,0,218,134,135,166,135,241,94,123,236,166,66,30,31,57,86,88,231,198,206,61,160,66,187,71,73,227,241,91,105,1,184,31,173,125,68,161,173,69,104,200,200,213,14,80,85,187,0,80,127,117,143,210,238,140,32,103,122,72,4,58,210,175,251,164,222,214,32,209,221,53,124,251,17,82,199,129,76,33,113,56,10,123,117,251,73,96,32,177,3,21,117,192,59,159,145,128,246,74,172,96,243,103,73,141,48,115,119,170,13,133,16,126,202,164,112,14,53,232,81,165,69,135,207,122,254,91,183,105,177,26,205,75,229,93,70,83,117,219,28,225,206,33,147,64,188,49,201,65,232,117,147,33,164,196,204,104,219,81,127,43,196,122,76,45,75,4,146,15,174,185,37,228,81,27,140,137,245,139,130,197,115,87,243,217,243,15,17,247,242,154,233,142,183,46,177,197,74,43,91,50,78,233,106,80,64,102,46,76,29,130,26,64,70,57,28,2,165,7,69,133,18,76,150,124,255,16,29,61,15,93,128,72,46,164,70,219,203,88,205,75,142,209,175,201,20,71,242,205,39,35,72,206,75,106,50,62,15,16,215,54,235,169,62,145,50,118,165,216,160,83,89,192,251,177,6,111,175,204,229,96,53,51,84,158,62,7,41,184,87,100,233,205,157,98,60,125,104,142,6,48,240,156,13,164,185,124,114,34,186,115,163,24,181,99,245,81,93,199,211,15,203,230,48,90,58,230,10,238,254,213,38,169,102,163,169,90,219,243,11,78,52,242,164,213,6,234,153,234,46,163,119,110,50,167,229,86,52,167,224,56,70,91,23,97,165,197,236,101,158,192,62,73,235,75,81,136,146,159,2,224,1,163,127,204,29,209,209,180,188,158,132,71,35,30,41,108,138,138,80,43,162,76,113,132,177,110,62,98,155,171,123,75,133,46,29,121,169,9,245,175,5,51,211,0,11,233,205,66,42,196,191,42,203,210,159,157,98,221,201,160,53,122,24,95,98,120,15,60,170,111,248,98,105,28,108,32,52,56,51,242,112,180,250,242,147,91,91,160,85,253,129,116,111,213,221,213,186,15,168,103,245,117,223,166,137,48,150,112,75,201,219,59,199,108,24,210,164,91,146,48,88,28,226,86,247,221,137,82,158,55,188,200,225,185,129,81,68,43,125,255,12,96,77,220,198,9,242,158,36,3,179,123,240,169,143,52,248,133,4,84,184,245,0,139,54,75,4,249,168,125,179,63,97,44,140,77,160,184,101,154,138,96,189,47,158,76,74,60,255,235,166,173,202,163,185,141,94,71,54,124,201,214,87,96,209,99,31,30,23,107,250,38,137,39,117,134,57,93,0,232,156,118,250,134,207,36,89,49,231,78,160,112,23,43,93,55,154,77,69,43,47,76,8,233,4,65,101,122,145,209,91,86,69,204,18,186,163,75,110,230,95,172,73,8,108,135,243,64,139,84,248,1,198,191,246,251,103,215,71,157,68,187,210,254,46,100,220,109,55,154,150,85,3,61,126,116,98,184,16,249,149,13,188,99,175,36,0,52,130,75,239,40,252,151,89,11,197,170,75,93,226,210,103,237,146,124,212,243,102,164,98,181,167,51,93,217,99,43,85,137,75,72,178,168,144,2,246,122,145,167,128,192,210,158,243,38,55,90,184,91,12,172,96,153,161,151,230,16,120,239,240,88,149,18,240,177,214,216,237,83,173,94,56,252,24,234,240,2,31,64,104,156,65,18,9,118,28,67,241,158,166,59,95,137,100,115,97,140,149,198,150,65,106,89,155,59,71,1,188,23,195,165,48,77,100,91,84,203,17,136,137,233,222,214,28,8,167,170,156,174,155,255,46,35,244,214,111,4,77,92,41,221,75,178,233,31,11,28,197,51,180,231,227,69,163,239,24,250,27,93,173,106,67,160,208,153,160,128,151,203,111,202,119,91,50,109,64,186,52,253,19,205,126,101,164,73,227,249,176,165,77,37,17,100,146,6,246,108,249,99,103,16,90,132,109,54,8,214,220,152,137,120,219,31,117,106,43,115,129,24,224,187,144,214,98,50,35,133,13,93,172,248,82,83,56,254,180,53,195,39,194,20,105,225,251,116,83,160,100,55,204,126,28,11,194,222,99,171,17,213,61,116,111,38,63,56,186],"output":793910196},{"input":[],"output":0},{"input":[0],"output":1383945041}],"output":3243280864}} \ No newline at end of file +{"string":{"cases":[{"input":"WCaGU3iyjArOaY0Lv3naDh88u6eUELor1xdTiP2iFTA8zFsJO2HoCDNpvwTlT0H4ZGrz7NRmVHlcqsmTpDTKCGNir8Jz97XGbpYNuWXaTfJftjLyCfSMcqBDpDDzaQjeQ2TM1wmCufA5HBoi64JlV5HW57HOrsg2kiOYmNUBmwAfxEvDziguGFOEw91GPO3QXol5VE3A9i3TdoR9b2JkOj9GKXQuZDEObQYsMunHiwK2i68vv9HboT8CQTbQHJhu0nLNIbfMojLTymYzVtnaN4KZ9kVRt8raO9UYDrMpNuuBNtxVfQKsgCAblTOQAO7I7O2QFO6US4gJ19aXtcU7crEizHYdD09DdSMpoJCBQWtIL2B6grQlqI7fgAfelirs7E0j33EucEsTbaqNj2gsSMjsxHzMAOwrKED45oN3uwFWA2DVOyFBO5dNWWN24KkFmBffFx4YHsYhx1AcBbHzgmmXuD1zoCwFDE2O7NulVhPYxsz3lWWDCaP9T5lmauKyT06DTeAIrXMoIoNernc03oBUebP3ZO3gPwef6VBMFWie7jsByHpqSZXbcLPyfWIsyCw4bENgu7IDOtO9g8B92dkZr7zKYfsF21FiGNuBtwIBs1038ZfDufCrAkKwwe0rFuwmImRMuVNsokkPltu8IRSvshUyhyfOLH0c5cs5B7aJy3OryAQ3UiPE0lNEcKtUXpMewAiLakLuj09obYhvejN6S6TTSDPaAcVB4h59kEwwLSDVMotlA2aVseQhJg8hOf8eWP20LCYiagYuvQTXmkbVxQ6I1LjCV0CjKTCEiIK9O9Ed1b30gC85CReBmLjVr922O5QmMgXPl6scWsaCZuWcgLuS5dQE2uPuFUCnwq3sZ2ZXkc7ztKt4MoMgWQH8406Qph4XjaY645CAR5YujKAovIhrBT9aemG2EG2AMFd0HcJ729SrLM5VNphngMStYMb2pQo4b0AdyB9qaV2EIIDwBC9DR20naUjmjBwQSpDI6gCdDyM0pX42ni4ukaHk","output":2806299635},{"input":"45aO4r3C951KoGTp5iFTXT24GWFuJ8U17YVbCJ2YKj6ymn0y09NICjHcfG3Iny8AlWgO5JhSU8ZQNfOdVVDsgSq2qFc9SYbde8v2lPrts2rtv2qEiaVXyAX8guzFkW3CxNxwDtd6zNNrNeR5UlFZOlPGjhuKVxVrX8XgYlRi5wSzGlZfHw5hex7k7SPCUbyDVUUDWJ7myOEW78JYWT6pJEXqgTMsIVnAXciGwHtURzBdy2au1Njr1gJhrhLOUUZs60eBKwwR6AaUaRA6anSqGRiHvaIbhslDkVR6VzOZFM2lwv0M3nLyqJUrMCeFnqtngS7cswiPRnp8GTwojhTkJmI72LNCKzcxCyMyi1bcqsQpCpkT2OHz933b4YVJaRE9iJlilcdinWkYvE2mfXnwOz8SgbhekbkxMJ5LzWrpWdJxKZWtYn24A9mJyVGdPKEzuZRM6xXUGvITmtfMxVTiZEw2sJx1tBsLPtWNqHPUXw3Qxwk5GzmRAy9meuEXi79Hb4kIUTjR4x9Hisw2NNIsvwcWonzCGKaD8L5napocRCE4qnIPLwxiaIJeuWfeI2FPPFKTQwrMZ11bnm94SkUkvmOBuBlN2383bKmSPfj5LhwMOEoqnLruLHiSRCzUUhjvPS0Xs9wB4awjhEp8TIifXvE2ImGVAmhCnbqdATPekTDuN0rW9XTLu3bQ3cF9mJkG3ufecVRooybNVOwbozHRcxyJZz3qIxuLgODQipOlHmQUuDJYr40yHvGUtD0d10nnuCtfY93QHCAao85dYuBEe5mhsJzGRE5UIGB8IAN5ygoC24ujmR6RXzVHnnt0Wof0r4Lmunbzhim1EDyVuyTroMtW5aVuanreIeyIaR3nNWhLVRE3S73OxYPnKMb0iDpNJp2qEbCbEQiWX5GaaLWNoGmVTN3cDgeE8h76PY34aCQWyTgRzcTbAcz5XwxCRxUApVCp8NrTgYFNAaL8OEZLw3DZzsjDjGyYJkKRQDtcpJp3CvDuu1zv27WgVY2WhRce","output":4223559467},{"input":"cddrNBkGocgZLZSqH7y6pIG1JP9AGgg9RzWTUbcN7UHlRsqgqhxdezxvIwOw8GM5ePnrkpWErwsgmD9q9hZz00glCojRIats0V6olvbRs92bGL9jUj1mumk9IdH18b0SqJgyCuPsLiU2ogZYIrQyUYLKX0PuO99zWS4ZIX8Ael4fxWAmYLPn3wyrmxZNmK9yt8U2WgQfBiz7BV7QSvQWfPyKVpzcPDfyMcNJHNih8TioNEhVOffTrsUVKESQqal7swBAOMZaJPZ2v8Bikn4dn5lfl0KPCLdRAxSLwInc8rI9Y5M0UVUc4EZKdiQkOLl0WbsBkRjstuyGpN5iBJzRvHmT344omAiWJ7ikU0Sg4xwm5gRhXMBNu0S5RRvADXM5HGzkpAMPqy7sFDuBEVilSSLLiMsvl9s9sFIwb0dfxZYrWW0YjiM114ZjhBuj4QFBZELb1LPbEUnXmmxsBzj9IFEFRfqMZhxasjmnxvcrjjzbRVJtOe632gQY7Xe6DwKOpqVoZZJN4mGkC0zQqQImaSznBThmOQhRSGl5OlTs06OCjDLZdRamlXe7TfaiPdraDS6KHx83QcRCwJaa9iclA90EbtUv8VrVDDqOCTitXnv3ZjB6a5RUjYlh64sFX2PXFV7fMj0v615eZ8kk6Ydc31YOeEDwQY5peOtDSMAL1UXn7maV6JoSsX4w7sDZydmfFNWg4EDUay3Bq7fEzVIvmEzCQj4uxgdPn84xIomWH4T86EUWOSXfuO6DGswXq1pe7WDjt9WC9EleqbBQVEpe8nLHON4nJ0Y0shHenmsA34FN16nL5K8MAa1wDCh7iQIFApxdj3Lz98EuhEe38YQyDflEFraYWWSTD2k05nB7iNmC5hTnDhJZ0jqmXoSBRzj6R6koimmHd8d4zb8YU7okDj5qHwoRx7c0gcqwLohFX9NT25g74OBbFWx7uZZAsEatGwkXRvmmf6vMRwlqDygPk4PZZcZBOSzjSzjmzi6VTnSuaF3I5yxnBGFFjmYifCIL","output":4147532836},{"input":"bIspSCDeBFbpKVhcokQnsEs7sKyaJOM8oHOF7SrY1VmSAF9zZ29SRD6K8gRimOdKCGRoDAlrExujUDxp5nOe7xO3NWMNLM5ipy5BD3TJm1GAbRpe022gII9M6IB1RZbD3w7Zz3e5rTaLhX8gjpl9dMJC5wOTLoGpfOhYVoo0LLjVNzlOeBkvyISqu9E2IQrkMh50gW0ZqgyD6dwQsgPgg8JxxIGeu5yH6IQEXPqhGRAz5O7MOwoIoMdThHCd0ftM1naPrxwFZDJS6EWFvDaJn13pMrxfsXv6EPBb325wU9QojFimIjpeL4dVDOYqAy3x4pOybbLyzj2QhppkbVBhcHCXdWrVwL2yjYlTNi4eURhZGxocjILvkK9D0nKE2AMrwQnwxD7A4aUm7Y5RiDJLavao18zdcJmk21wK2m26lR1fM8wI3X5TDgkM2SgMWpL9JJYHWoOoRi7xYknB6tMPPXfS8YP9pQ2qBuOEDmAgO9HmuWEEuAgy7TBdxORnWfZ0WTIYLPhUqNC03aT7df9Sf7v8xLIJVQRObOSH0oJmYtdHjIqn2LJbyZPniZBiPd6m6c94QzcU20hDYN4bGRuWIS25S61YJxyjgyNYd88qJYg8ATQP6FJ4ZyEZC7O7tyUY3Dh8fL0hyFplmN3aLSK0i6Kc7ghizDlL51HtWSb6M9WvY1yUTmKynIlm4Pj8fmp8fKxbvtilF2mSVVKhlY7KAFEHGx30lMwUksdRPAgBAaB0aEc1TFQClm9G2j3bjStHOkDqVO3wIojfo9lBSDM8Q6CIXWZriFDveAvC1hXiPGWocphI1w82z3dA837BMyRGkpzcE5uKBYNXnhy80w9dey11TUGCuG5KW8gN3pAkeYLOYYXVKgFVsAm9C8CpF7MQbls9Kz0B4fNonsLpASrIDrbwldByngpbFxY4B2EDbeaPspBzKP8GsCmYvT3SekYngoFEYPQV6jE7fanBYfGSpS1lmyuAtkDbbUsYvWuaohlnVr1vij5BWCg1CWmYfXJW","output":2988448817},{"input":"STWXasNe31nBTj125LIIrMIJhXqtYrUjTdRVg0GsdUeCWm7y9YpzBFj1U972UiSmY4nD1QHKaIyqzWcYV52XgUKDTK8X6ZRrPwWwEJc7NxWIUzssmhdNisHCOkHOWluOqpWQ6INfqqlYYJYHv2KElunUBgB1V8PnoyQLg7siQyQHZ9K31cDpbUMsvsvj8tVqpNTr7Nb1nsq33KRF038BNk7e1hNwvHDVANC53yW5Moy8bThyWlLZtlk3jyCYfBjulkf8bNjbVLsvfOOSs9E5jeGg9cfxaBDo6hhT4GEDbeKxz2GmjhdMa9rq8J0NzUi6Nt5leIe1WpNdLRXYGlPEm6zXJQ1KK4zQ3E2MwJ1f1jexdY7xdTzdeeyxUOAcndpO8n6NG5YRp8foFdOXozqJqGpkZPCiFfHBoCsZQEArdxtrbDdwH3KoDnfR3ia2OoHJSjtbCtit83gMhFKS72s5r4SglgaLmlFVXAWmonaRIeoYnV7pOS1NhcxCZcpFFgkfr4KLhPxlZIbTU99k84g1emXIx8XHEzZc9LJBH6c6YnW9d423qqlIDn92HnHgD4gSkOvYX6pBhB4K7sa41Wnd3h7s5U2ydufdTiO6xs49AOOomdl8LvpJV6HasYHJUO02IJzZ7VInumPpyvMkkEP9RidFmrg6CAwerKEvZS7tz8zH9PeqpUalfb1htfNlrCYmgq4nsto82JvCu0ecNUxmtr6CG6c08MJWJ49PUCni1Ih1RzMqlLkL1VZl9W14ITs0mhyiPvQQTPf3eGo0BFjbwEVMxUaI4qRkQI1zRwX8aH1J1nH1xkr4H3vpi63LTFAW8rjVixyJEbYYE3GzuHncgq9A5NJo7NDpKcoGf9PqLvPyMMNs4AvZuWNVMg74qAPq5n5uTltWKGUmuRPNonKEKrS9ILj2hKmnkcJQfwawaH1bpyRYrSSxsOXbyZLFDJpbjongTxh0zO8VGX9ktS4RI7SceDDQlXJ3lL5uDyQHUD7cxzsvmBCnKMv7kZYxCwQC","output":2306399845},{"input":"AXwZMlUrkP4FzeFwnC5T79uNKCLYEXHSokyaIYd2u0inMquF5GxO85vb4RLBkctPOPCzICokjrd3uRtYgKgSNFOe2JdsaJDjRegTZujg5peIwdmuOuRDrdyK9wSrT6dcVcD02tR5ziLJd0IBDctzVnmI5rxkJIuivFgMCaL51bKtjuAba3ZvCD8dQ1ad9oVZ5Ir1pmsk3DSZcuy1wiYF1C5671nyUTFME95VKWikTieMmoWjOJceUaJaPDIii7qGVhn7awflEmPloPZnLrzrvwIVgY2hcmt9CV7pt8kkJX7ssySfzYilYBZwZHivs80tfnDDKspG0jNf7LNwYs5B1oF2eaZQUtlE7pincpU6WMG2xDE4FPPuBmJd4oxr1QUZw7XN9I2mLZ5L7dtvfuq3PlaBDsCVLGu0sl5SQ2i5rr1jrJYU3IucktObPqRWyGiMeNPLbiqXw5o4TlSZcNIF1NN7XCAoXaS3WgDW3s2mISFSlkdmB2nhu3oD932hpJxTa8mWWZ78imDTjZUgSgmcNxeeFPytAAwNSm2DUVcZvz4t1Vt7r0xaWO2pqRKDRiGNmmi0zQVl3ptPf5vhuTSXG5vl2NUkKGRC96tq10QrQVFEy258ProGP01KWmLppH47bxoAef2EdN3fjz67yy7JPGNaSJv99vm2dHgsoWy7iZZ664w5huC7KVJelNa50G1FKyMhWt0ywPojOTFZRsqMgMQEvurP7r7n6cXHsZ3AUGw9JAPeUWfIpj5kxV8Ra0JPnZJZDJYNoGgKQ6ty1XEtIZGHzH1EBduZlgaFWVvS9AiMemBrH6xGeGntlQtBbfvWDtG4mIU5zMnDvYEv8vVo2YYx70WpRW3Ozbs6oyh2s5hVaF0RX6F2ce44Mw26EpRrz40vMgxuxwwqG87kXAQ4oj9HXJW0naPJw7LpGjnRJw5nlRPgR5GuqBjQ8nzzp7QbhtrOOYGWhsNrDzVirw6VTh8RQjm1TbjclE5kVXRkQq2XGzgkuKhS9dEWn2ad6cfX","output":3933967456},{"input":"39NEudsITSO0xzE3TDetO5ws4Jiu43jeL2JHeYfjv0Fa9YGOgzvVBoHHYNrK3pGlf2JYC7dTTv9QrtAl0XdLahnWyTyM6vvFIKhFNmnM6Wd760LdwoCkUt76dqqHAKTyKZR45VsFRBIHCn796yW92j7ZAOp4g3qikMc7QbOQpA5o4MToZ1xyVcfumAnIaP1rGbG20vNWuVA3pAopmxPQ18zXcaxtOFys3vjTyB74QekiosBExEelBCM6BL8XnOsaqXkwiXpK3uWAONepa9cSEpioMPfSaKHWKqz93dbBMMh5j9f1cOq4TNXCU3pnSwY9YGQiWhOovidBsXsl5V7Sw0uXQMlicYLxEKkkaag3XDfORkvYM30c3mhvDp7iiQVUCMEATl04fOujh5uW8NyODwxfSoZjz4nsArGErMz0YrNyn6qUfR2KzTrvwnDy2TEec9TlzebY7qkhn7LcaqM56xtUYT8UrYURNMfYsVNSZbuQ64S9bMax1mrIBJK5EkGxkYlxhedsZavf8QEV80ydZH45YJ7HEBYx581oxFOAkuefpLoJjzVG6391ElF2UKPHCWdVMZOM8ERTlSScbYbM4bauNOdjPEwLzGha9V08Tq0YE9Dx6laIEVNP9cyVYLz2lnUR0bwKMOnarQICqDq8EoI2MgWjj2D16YxVIMlAm1y1FFlIaw31KcrnFvVcLJ8EAtWS5AkBQMZNp9tIzvaNXedTmqTLdQiIxUnRp7PSuh4h9OOBiEjJKRwUVRFZ1VSpV9QMe4K0Wdnvwcz4KYTfCU1WRnsbkuh4J2BkDdYayRFj70IkyDd59T7qmdqQbnkrMHfTraUYYPtTnLCNpMawgnY3BLPOqqOECerbdnMbkz6Gs35RrYpOzt3XVW68qlBDxSOnfPJliYM8itB1fOS0ABaCsDje3vJ6TY005025tQ9E6yAa3OXXqOHVuZxZV8tkWwIY8pRprfoW1SIxUnaiSsr9tHJUVlJJmiyff6GXJnc2hTzotNmcDq2CvNdcHYsO","output":973691436},{"input":"u083Lqzl0fAhnQZaJD8CDfUVeQHjfsH0YHHELeKQPkAhrJZAgO9560OsmCCs1YIFQ5HgNap1z7ZzmsVn1WfcYClx7pmgr7mvfKahhSXER7hbr8PI3qdnusaHprXVA2wcEUDSMuH23I1KLbvoRtEs6HS0fIArPlodCsPYo5KysssKwZIEXwyvH42rjat27x7AAr8jZRoyqMbCK58wwMzvpOOrzCAgRWHVSPpue0nlAkSjNBvhNOYikjMq5CiEjGbHx3Z70bhEysQZHbCw7iNHnPVl4yCO4MREQcOQHIaVJMfxwfGkCIL8rAefydZ8b7dm71CqMx3d8QnJJBjUI3rM6EYC8X0te57ddcoDRJEWFPx4jksVUj53Lp9tAPm1y9n9ekBqla6qdajEpqQt1PXnkG2jiF5fkEavU3TdxJZXI5RTQ44JWbBV3JIp1ZeXp4Djr2S48vVTYLwcwowr7EQFr2gvuEWmkGQv8xJ0g71zpQGiupknM4tthvC5HFQDVmDEECtVHw3eb4f6pTEG4iYWLNBK14uxexuIxHfMrkLzv9w4XzoZDk5DEQ4nqdbJA9STCf2CdMSsqMENbarFtnCm0wu2LZjntIttmDrLWqwnFyLOsyidu78rb8hAdwZe32L0YK565E59adOCKuOTkC9E6zhAGBOBAzxwlTVWWZgO4srbP17xBDKHF7hlDMEfrt8VewsOznx2jOru5cASS0BypknFWjxgPusXOlYcqdrNWqj0oxSpjeHFZCrN3ODLjs5Dq5U1x6AxtWEsJDMQCGILcdKKlhd2r2b9SJ0He3qSdm4ajEbxBFOC35jhnX865SarUlM7lsD4SwqpwQEvORaHp2QB3sKAnWDWPiyZN6dzvUSh19vWtFiAXhMtdQXk393NJAlijzg6eIHEHpbTWG6vBdei6QFtmAwqU3fVQe8QnBPgD7xkwCTNevyj3tGfM9m9F27N9olX8OBZ2R9xvbkTrTA18BSPQnibS50jpwvAPmh7b1p49nVQ2ZHJ6n4rMdeb","output":2826160456},{"input":"DpNr96RkbI9IhtUnmOYFZil8ofeOYefSLcPnTSlSOczz1yiuJE0N4Ug7RNvP7loncDDq0WoPl8lnRoL09iPKjx9EOSIvSutZsLcMC1PiJkzaBz9T1EhA42wYpb29zjc8pUiKDGV0DGkNighlkHmnYRW8HlCsEkvMqdJnt8Wj1x8jilslnlkFKgsRhF1Qj56o7e33RvRbCs4t5tIwdYVTM1RSrg1E77GlQkyYs4ZT53fiRObcmVBItfdDSI7XxFpqEdsJMmDEClOPfywMnsTIrrEwB6dtuocr8f70njLmVhQ6THhQlVLV8HSNlmWFgUWaHTjRytpzJF3zVyuv3J83bglFzpuwU0C83isxW4awi6aorxnt8Fs8IOtthS8j8KSNjAnFSDNcwNLYunyRUXePaSFyJwuqU6HaXp4VODb2fCP5zjgvjxDNS8AgmuafMiSrKj1NyQVtYlQAWYbUnyhCDT6568k6BmYKv3deZ77rFzNmMinFVhhGk1TcScRsoR0r2eETlAg83nEg6JrNdUNSdglQsk2YM6h4ksgQCKnA15lQveiLXqprxt4hpklvcWjanLmvPZ9EV92lF7JhvNzrLN6yNifTyzuwvB1deXwbyxAyf5SSM1ptpUdG6dO0MhJtUBmchLXCSH3YzmeoGbVfpOkqeLeHXAfl8sTBwIAWZSh2Uf4PuMMQu2BNMVWQc4RAzAS5RVtX5QdFhh90fNPuWbG43QHouacQljio2RMDib510r91WdJJCGxuOI5TnH3bNDG4gtwdD0Oc08fMyiFZU71BlD3gESAT9gN3XPiOXx3ri3hiRAZgkYA2RD0C8duKQKays7GFyCooRnHCUS9M2gt2W3QOSudkWeAhaapNAB4GrKYNEU2KSNjPUqgmtSYmCn3r89vwoGj861iu2zelJRrKHjJHkp1SdzwPeG6gBIdBlD3MsFdifygDfJX0HdSVvX9MPRIb0KZKiDlUcEwYldisAAw2oJ0egkNkeNhwSOOHiQisgheS1vYiGwBdlSy2","output":1255539688},{"input":"O7rukSoqhVom8jNJFRij7Vs3MNWZlFUR16Y3XvdW6L0yyPbsvL6R8h9snE6A7BnAJYsA76XM5WdUMTfFZT8AicF5jsM1rjZfClGhuJxRdNlWluRBXHV3FUWPnht63k3j6kZod2x5XvcPDs2itiuvCbyjHWlZ8QWQ8WYGwEe2qDHPICPauuXSuMy7ny689Rbm2c1oNuILpc2uxBleJSy5tyCcO58Po2HxlQhDZtitfrSiKOZQECAnY8AERoTAyHQL5OCqHQUQNXwfIaw32wqqPSeW5o9BvlvIMMbLm5AGXk2iQQ84C3HwMxkxzF6NH0IPu4f6vQtEYR7g2QVyVhReKwqkb3fILvc6Wc0SuDJHNgIVN0YGPlKiXKZdmT18RXVTTN4qlbJEY5sIvEaIDSagv8iDWtHoUEA50iGenrMcK7odNUb6b8bvXIsOainTua17yxf6MRImOXn09TPoo5LGYAdkIKdI8dXokVOQGg677AyGd5ZXX0nI4uWUFljMmxtgl3OgSQdOjVpGQLvLrtg4uLvEAzgxwawOu6MDY7WjeKvstp1ovSGwwfsIBBd3JSrQJR2D5av5eFgNCRaSw8mPyZy7JDbAkXnVaNXEZwt18Jq8D83KS2q2lmYUQy19FRPRbFhZRQoP7J0OnvKX1SbyVwTt74EPlowK03wyQri3nDrUuMQtblYx9ReoGYdRltOHvyI0R06IBZZbMRtp3muf6mP8gx39m3lnoL5opUAG4is0rcOrBj7ELgJqGclgeRQdvKlnN0kg6CZTYWQsLKapmUEU99XvLjvVFDTlJ2iDIbThO16AZLan4BlyqtHd2zS2Ppb0gvjJ1U1Odj80d95Uvo5iOe7GhIKNgTH86rfQRUBUWB0fDLw7NAKuie6vPsOVwWoS24fL3sqIFCvIiBswOAkGLgZXQvdFegSfpsu0dU8TETdooVnrMdhcLCqg9mZo5n0RYU52yjyBHAZ3pI8KQE9vmNfr51Jy3YQZ89X22uUfFe6yPegBQJRynvOXIjHI","output":3675899323},{"input":"","output":0},{"input":"\u0000","output":1383945041}],"output":3316944618},"buffer":{"cases":[{"input":{"type":"Buffer","data":[184,6,110,240,131,116,235,212,88,130,166,46,252,134,235,146,93,187,136,36,209,3,203,254,153,42,177,60,20,62,135,140,192,186,234,177,189,59,126,81,6,82,168,5,48,129,93,95,12,197,245,80,51,243,238,58,162,36,235,35,175,247,232,101,141,67,220,148,94,113,246,11,8,73,58,185,143,250,125,196,177,33,2,171,212,226,179,216,102,5,41,97,62,192,56,94,131,168,121,158,131,253,105,85,5,89,230,56,146,67,103,114,242,10,29,232,73,180,244,199,81,219,255,143,58,255,251,63,196,195,69,95,209,165,86,109,25,62,158,185,71,184,191,220,218,211,234,165,62,18,146,241,70,192,15,231,68,132,17,80,95,233,228,29,8,237,156,173,253,46,210,187,75,124,129,157,252,174,119,80,4,161,18,166,141,188,74,152,85,71,184,97,226,142,216,189,248,193,89,227,107,161,132,48,35,41,214,189,76,147,245,192,225,65,3,20,131,55,242,240,213,33,248,182,13,92,255,205,26,145,184,175,116,30,40,65,99,1,237,236,61,63,82,190,193,206,217,206,86,37,74,184,144,242,122,192,124,201,196,30,75,42,88,154,241,69,15,93,27,120,35,105,228,90,147,108,35,204,102,15,194,226,110,183,178,233,166,160,78,234,214,136,255,230,230,157,24,163,221,115,142,235,10,82,34,233,186,205,111,214,195,231,75,41,191,115,75,100,173,68,25,150,93,118,89,77,129,253,117,215,90,176,48,180,141,111,87,231,28,111,235,26,157,87,77,244,185,28,92,150,182,166,179,150,252,80,62,3,182,176,87,240,188,229,18,250,235,90,80,218,95,37,49,238,38,176,6,255,107,112,225,203,143,60,39,247,20,170,130,21,236,81,241,15,154,44,67,203,206,138,202,217,83,4,66,45,214,22,8,154,186,232,154,73,120,206,230,105,62,82,245,78,22,252,232,92,185,61,197,252,124,176,71,59,29,47,144,174,104,32,220,203,169,162,94,164,141,43,54,18,55,57,147,102,184,98,105,34,203,240,57,161,157,68,87,133,157,128,119,117,207,168,65,161,19,216,152,213,233,78,193,42,17,128,221,248,62,21,149,29,147,34,116,83,25,75,145,93,89,229,83,253,230,16,51,114,243,127,180,90,227,186,252,23,111,28,119,142,24,166,109,157,118,133,213,68,119,245,65,66,46,41,134,50,49,246,76,20,94,138,181,28,194,228,222,255,158,174,134,92,93,128,69,89,62,40,49,148,34,56,119,161,155,192,239,243,155,255,46,140,197,118,135,195,102,168,11,45,65,51,50,94,150,155,50,235,48,107,211,189,241,10,164,153,76,189,179,102,29,22,142,83,150,248,119,227,110,143,50,167,223,74,62,193,119,137,230,181,192,193,99,162,127,132,18,103,56,36,8,59,44,94,55,40,229,185,241,51,177,130,215,73,34,218,203,245,84,136,64,62,81,245,157,216,186,124,132,230,34,162,52,86,146,87,246,231,169,57,88,73,95,214,101,165,245,218,230,54,97,65,212,11,46,186,71,147,82,243,237,13,122,199,61,211,3,142,190,78,164,156,153,147,134,10,32,16,234,209,172,27,183,98,216,172,222,202,17,118,6,59,99,148,97,189,141,117,38,114,98,237,120,24,155,212,144,133,0,60,214,164,232,160,47,81,239,2,96,60,148,19,102,140,110,240,186,105,110,144,138,156,121,107,216,97,251,83,65,51,242,214,4,206,5,51,247,195,158,84,225,76,104,25,39,228,85,142,4,41,102,171,117,172,59,107,33,70,184,88,30,14,74,102,128,126,169,241,93,134,193,136,228,54,1,217,212,10,75,50,77,176,3,119,122,27,92,179,58,110,215,240,169,155,139,80,238,231,182,205,38,11,8,75,136,204,137,231,231,37,127,194,98,74,72,125,183,38,186,23,27,175,145,23,172,167,112,177,179,79,228,24,159,25,231,79,141,216,191,11,156,189,70,18,15,33,208,82,251,76,105,169,182,200,42,67,103,167,17,168,123,106,179,202,7,57,199,113,225,65,220,124,247,111,17,184,101,104,198,210,25,165,127,164,143,155,239,203,75,8,32,165,233,226,132,142,176,180,196,42,46,3,211,22,36,25,52,79,140,221,123,79,46,193,3,141,11,173,14,37,24,0,251,133,122,172,229,77,3,108,114,23,193,76,228,31,55,246,80,115,214,112,106,15,131,211,240,10,132,175,11,190,117,104,114,119,220,13,123,232,90,109,231,192,143,107,230,113,224,117,32,164,255,120,245,222,154,49,97,23,206,198,51,179,77,232]},"output":2117721159},{"input":{"type":"Buffer","data":[206,9,19,34,118,9,124,246,203,183,39,110,50,99,45,85,173,23,19,184,169,93,252,31,205,8,41,222,18,48,173,9,114,135,122,80,84,245,25,205,177,233,123,98,203,111,34,70,172,54,18,201,56,95,6,164,176,181,192,118,96,191,190,48,254,145,193,152,155,206,9,189,99,165,155,159,233,231,238,154,184,246,49,224,22,234,237,231,72,133,13,73,105,92,169,124,184,204,200,79,210,249,142,94,99,20,68,147,69,32,228,191,185,176,39,217,236,62,71,229,146,126,5,117,217,213,123,194,80,177,219,71,33,15,55,147,38,228,49,38,225,105,246,228,15,142,31,180,199,206,108,229,223,46,70,182,138,60,49,240,133,222,86,202,23,239,254,28,245,22,105,64,56,42,47,227,78,243,37,118,9,41,240,206,89,83,196,25,241,157,32,133,106,44,78,211,123,208,113,93,152,84,51,79,166,50,56,219,206,37,237,150,50,26,218,19,190,239,23,209,64,27,147,215,234,158,65,43,133,215,191,97,48,247,211,238,104,162,167,181,244,19,42,65,117,105,192,89,66,19,67,102,29,101,196,236,116,158,232,5,159,103,158,181,59,219,4,103,33,129,181,97,119,100,160,12,146,106,79,137,233,214,73,51,162,240,152,133,147,81,210,161,165,104,61,222,58,181,4,62,61,146,6,107,152,149,72,175,140,93,45,228,184,114,66,52,168,228,99,61,151,182,24,63,224,140,86,230,143,208,166,23,103,97,147,183,28,81,108,157,62,61,29,45,192,168,78,235,119,136,213,80,217,219,217,70,96,66,146,119,104,79,215,198,6,246,154,131,62,193,7,107,67,180,210,186,189,11,43,210,156,13,248,15,87,39,255,114,135,49,226,25,212,218,201,150,34,210,128,7,146,210,181,64,96,51,13,180,188,156,182,113,63,24,46,137,207,202,252,130,173,58,240,191,121,63,68,129,229,188,22,1,7,77,183,49,36,129,94,180,74,10,82,200,242,242,139,172,66,179,232,54,70,226,24,27,220,70,166,142,205,139,89,227,34,183,22,118,189,119,11,70,122,94,109,203,219,44,225,119,120,126,132,165,116,54,72,155,139,61,55,76,128,66,217,198,101,96,45,69,84,21,153,78,26,185,92,50,116,212,112,117,253,20,91,148,166,24,18,177,132,76,120,13,2,202,157,8,172,77,211,215,200,52,99,215,134,190,249,116,26,33,165,25,71,58,189,131,26,178,1,154,119,36,233,205,156,43,101,0,98,165,83,136,119,69,174,92,47,214,102,201,196,36,13,74,161,86,107,145,255,171,82,164,196,215,9,38,119,150,117,22,135,33,49,246,222,179,138,72,165,211,115,164,201,43,54,31,68,203,102,130,104,56,155,56,0,63,25,85,5,131,93,7,172,145,212,80,213,215,120,199,165,34,170,138,1,9,141,150,150,112,141,19,84,158,47,124,27,205,180,183,78,2,145,250,5,208,255,237,140,203,148,110,128,77,111,220,225,34,216,1,139,119,238,249,44,145,216,48,88,198,118,105,154,138,201,102,49,191,198,71,116,213,131,38,35,34,107,153,244,250,64,89,61,223,238,197,186,193,194,180,195,176,7,243,32,72,100,17,217,139,10,132,86,104,81,150,236,165,253,159,181,66,162,248,100,25,191,156,100,220,118,45,59,50,215,35,49,163,37,255,248,168,150,16,226,42,46,49,127,63,79,195,145,10,124,16,206,138,155,243,13,88,17,50,220,202,173,101,19,161,121,249,248,188,119,81,8,166,69,164,206,45,82,35,66,120,96,51,114,243,68,0,212,84,78,205,220,114,229,119,10,137,165,54,41,48,211,0,12,145,95,193,115,114,219,18,122,196,225,47,36,240,197,42,26,186,172,97,175,204,198,22,27,147,126,140,85,244,239,235,185,10,237,254,220,133,212,114,105,222,72,134,133,252,84,129,201,39,99,88,163,10,71,68,132,156,138,206,125,106,109,114,75,130,77,76,36,61,241,237,71,199,124,238,237,67,145,183,124,17,37,202,247,231,77,43,135,100,64,75,202,126,191,8,38,112,152,44,79,176,248,93,146,1,31,89,196,124,20,143,74,199,241,199,64,213,183,147,160,102,112,138,123,7,227,188,88,222,49,112,231,27,39,172,140,132,105,2,191,220,190,183,194,181,84,80,199,98,131,143,139,204,156,80,85,187,107,120,126,230,32,190,65,8,56,175,11,138,150,188,36,111,92,78,238,212,99,33,111,210,53,205,222,83,160,91,242,209,99,97,144,210,30,119,189,33,187,77,21,201,75,151]},"output":2302811726},{"input":{"type":"Buffer","data":[22,34,134,79,139,205,27,6,242,217,7,186,255,58,71,239,205,243,202,100,45,57,85,79,28,123,228,79,228,76,252,23,76,12,45,14,189,230,104,208,228,58,3,14,231,198,235,108,29,181,9,144,102,116,84,75,63,35,225,62,192,205,214,146,82,19,1,55,181,89,105,173,69,243,171,25,114,6,196,151,141,180,182,229,154,248,16,250,76,75,192,206,145,217,186,237,74,210,122,85,235,123,184,211,200,213,16,140,176,184,185,191,114,116,56,108,83,157,71,54,105,207,152,38,208,114,1,25,200,144,33,63,104,111,239,110,198,96,251,194,50,136,24,219,81,225,62,104,16,187,186,141,160,123,7,42,233,181,213,104,196,146,132,2,199,25,98,181,182,28,18,128,151,214,147,131,17,73,21,124,118,218,155,224,195,81,48,255,56,30,54,60,146,4,170,10,202,116,130,191,137,249,190,13,57,132,150,139,7,142,239,91,71,49,182,126,236,2,191,23,124,43,249,223,237,68,106,54,47,69,242,49,209,230,180,31,72,219,9,178,11,227,52,154,4,210,10,154,19,67,24,249,25,97,206,155,65,127,96,20,128,84,120,201,98,175,171,244,40,70,10,173,36,110,187,121,188,82,100,26,98,74,106,254,35,69,10,24,72,127,66,232,151,209,49,26,104,5,58,57,52,138,206,163,146,101,69,80,24,253,128,125,136,206,162,5,222,2,172,25,168,25,245,212,115,86,149,236,209,21,95,98,75,14,76,85,114,67,126,8,97,141,132,208,34,14,216,215,185,133,68,58,35,251,202,180,133,45,58,86,0,147,202,33,178,213,151,215,83,185,246,130,167,120,84,205,246,62,110,108,136,101,118,149,230,240,100,131,79,64,147,192,34,150,33,114,70,104,59,216,44,74,205,81,116,49,191,49,158,249,89,67,48,148,109,43,215,253,44,249,135,198,141,0,180,124,110,106,20,186,141,157,80,102,184,131,143,30,41,109,179,243,44,17,23,80,221,146,60,175,242,167,176,55,183,208,244,204,205,115,98,202,181,211,131,78,102,179,237,6,8,101,197,47,104,138,3,43,96,59,135,110,155,232,207,143,125,173,40,189,164,3,79,231,80,176,82,31,220,77,137,140,127,21,12,193,85,18,255,211,52,79,240,146,105,247,1,81,173,133,10,32,44,57,14,116,219,0,116,231,204,249,1,54,50,2,26,233,236,208,21,5,11,158,82,119,231,136,181,35,94,192,102,122,112,156,138,35,140,142,240,251,58,58,100,134,225,203,93,70,211,117,242,220,32,47,166,104,69,14,69,103,240,64,100,170,240,61,163,131,90,192,52,120,218,212,210,79,95,101,42,102,113,37,168,203,32,131,253,45,163,147,204,70,191,36,39,137,146,153,81,213,126,90,121,255,90,239,178,3,60,132,204,46,78,186,28,129,53,172,5,140,119,13,89,229,237,177,249,139,207,65,158,239,207,36,46,66,5,175,111,153,227,65,245,225,118,83,122,110,141,100,103,6,253,221,253,249,27,200,135,169,223,122,65,112,254,180,183,5,162,228,186,55,92,124,235,37,184,147,209,249,228,52,96,71,204,184,120,233,9,154,126,41,65,238,114,142,193,236,92,50,158,29,153,182,235,54,122,177,25,185,131,4,144,251,180,97,54,111,156,223,152,33,83,109,251,221,35,40,14,131,120,111,97,95,222,221,172,185,236,40,69,189,149,56,42,91,249,46,253,25,165,121,80,106,232,163,152,181,105,41,206,231,229,246,221,136,227,154,97,232,155,116,92,79,110,139,159,84,237,65,103,106,215,248,157,144,108,121,66,90,243,106,229,14,4,233,192,3,244,47,125,164,80,182,80,195,28,245,38,162,126,90,50,9,155,55,158,136,188,208,42,216,74,209,122,27,5,91,148,8,199,189,110,91,70,46,100,33,170,148,214,15,223,186,107,18,243,108,234,134,63,137,221,191,113,53,139,142,203,115,198,70,236,219,3,134,105,113,157,153,56,134,44,16,183,86,35,247,146,185,18,163,31,230,18,128,250,227,230,170,50,126,32,219,16,116,19,76,241,238,42,241,49,152,225,43,106,210,35,246,91,24,105,197,237,141,113,86,151,33,26,185,120,227,46,11,148,72,82,168,3,92,165,168,178,31,133,55,67,83,91,56,38,220,219,107,7,7,174,133,151,132,46,0,138,16,179,77,48,114,225,79,161,209,13,0,164,203,78,124,190,50,37,13,207,39,202,177,173,115,174,129,150,180,106,91,180,134,169,147,186,4,61,113,38,105,123,95,64,112,222,6]},"output":1468217786},{"input":{"type":"Buffer","data":[62,203,10,229,226,157,165,173,135,34,173,109,252,89,227,135,10,8,89,157,26,58,44,58,102,53,40,24,229,76,192,241,35,183,253,239,238,241,196,41,157,215,231,200,254,114,8,31,74,220,67,236,155,105,37,105,3,164,235,157,153,215,28,217,25,165,138,26,106,198,150,67,161,163,180,76,73,43,95,217,176,114,218,218,45,67,90,146,141,154,228,183,142,131,198,230,138,134,164,138,81,80,147,37,125,98,117,210,109,220,94,38,102,118,110,209,140,139,228,64,17,43,155,234,20,109,63,70,118,92,28,131,205,235,148,235,212,182,135,17,86,255,125,191,195,245,94,108,85,180,67,15,145,7,138,254,215,195,77,251,110,203,80,86,45,112,112,145,129,147,96,122,230,2,63,33,112,47,195,50,139,204,20,138,195,101,210,28,109,97,128,117,114,150,172,143,89,188,226,38,106,200,105,145,152,189,12,202,135,198,226,175,221,104,149,253,242,150,240,21,0,67,236,245,83,176,165,158,18,120,179,154,120,240,161,190,253,180,234,124,16,186,70,94,120,136,252,163,113,37,113,50,150,52,62,196,148,86,126,202,187,112,219,133,175,198,85,130,194,228,68,13,102,205,27,80,106,209,212,193,187,151,69,107,144,171,114,250,42,152,184,177,73,77,7,221,249,54,99,203,29,52,251,229,191,142,251,160,45,59,173,100,126,45,72,231,56,34,134,28,19,249,247,173,240,43,42,98,217,135,119,93,60,232,192,231,13,126,232,100,135,190,233,202,51,2,149,112,216,12,26,106,175,70,172,130,254,45,83,198,51,97,189,176,138,205,216,170,70,87,220,234,116,235,96,185,116,66,206,82,205,86,207,222,235,16,200,99,48,10,32,56,24,189,78,35,139,227,122,78,56,30,196,35,145,197,8,159,232,133,98,250,149,39,226,11,143,68,38,136,91,60,129,254,247,150,254,211,244,2,95,71,244,34,41,68,143,110,6,201,17,160,161,74,26,194,171,223,73,215,140,186,74,245,103,86,170,111,81,58,58,113,222,128,91,244,161,183,123,107,76,238,175,38,243,92,8,29,103,29,175,175,195,50,250,142,42,156,20,245,213,230,91,6,108,244,139,99,11,218,184,202,56,219,57,120,56,162,33,137,226,40,160,239,59,43,19,253,65,96,66,16,50,128,110,72,225,93,51,62,68,101,192,23,68,33,101,175,28,217,101,235,176,242,107,84,182,96,126,206,123,174,127,219,232,31,124,254,182,236,89,228,178,204,229,55,93,30,152,93,221,195,98,102,143,112,183,72,98,101,182,202,141,74,48,100,213,201,199,132,70,86,116,66,183,153,203,243,85,136,149,139,95,166,87,206,92,229,243,226,29,240,188,215,209,237,113,18,38,69,55,18,213,205,107,116,165,211,238,141,232,202,124,248,132,187,24,161,84,206,212,165,149,14,100,119,150,24,161,0,219,47,206,163,236,19,125,217,188,171,238,134,194,243,130,110,213,57,237,204,99,167,6,122,245,14,67,102,191,126,151,21,101,207,152,217,27,101,254,79,171,187,147,140,84,77,203,94,250,94,83,153,117,5,136,251,77,60,226,53,146,183,201,80,20,94,179,118,254,34,150,134,116,103,133,232,228,135,222,239,110,149,209,48,143,243,248,227,231,188,115,152,153,38,104,35,215,254,16,130,236,14,242,68,207,141,98,83,203,223,108,172,131,15,43,228,239,117,240,54,24,213,124,39,12,25,56,106,206,107,249,193,119,139,173,24,136,128,41,227,79,169,89,46,71,140,124,91,92,139,120,103,52,144,71,176,77,47,14,115,12,106,244,109,58,228,58,6,113,153,72,243,133,84,102,231,249,238,32,100,172,174,74,97,78,181,200,80,51,93,98,192,186,134,50,106,13,20,64,82,126,242,187,184,115,231,58,14,176,93,136,224,96,59,124,200,221,160,65,42,132,170,162,221,133,45,137,15,80,204,229,8,136,131,100,238,249,252,161,115,55,141,251,161,172,145,87,3,140,224,56,220,209,0,148,55,106,11,195,57,165,101,190,59,190,165,128,112,74,26,151,130,3,80,244,147,78,217,236,208,98,146,167,27,22,135,156,115,239,166,40,225,12,185,243,89,193,106,232,1,26,229,239,108,74,251,139,60,37,20,123,174,140,34,87,188,158,46,155,43,143,231,225,1,245,239,180,10,45,40,105,234,241,159,180,140,96,197,115,179,139,97,223,136,233,163,71,242,86,243,238,111,68,134,29,91,178,135,18,195,78,146,39,38,21,110,33,239,247,253,178,96,55,154]},"output":1025111898},{"input":{"type":"Buffer","data":[160,168,53,123,101,140,236,63,152,252,86,43,160,4,99,128,16,59,213,43,71,7,150,56,124,233,124,179,47,0,165,79,12,206,205,197,178,82,53,227,20,55,241,111,246,250,111,6,169,163,34,211,98,168,161,153,10,67,89,10,247,211,117,172,235,133,192,123,178,253,209,221,244,84,126,74,216,125,225,101,73,117,109,94,132,122,227,34,3,195,51,216,48,213,106,101,74,243,193,50,215,154,179,57,155,180,128,230,243,89,251,13,226,156,172,112,15,205,16,117,78,87,71,90,84,113,80,5,182,235,102,83,139,113,206,59,165,138,194,127,105,54,233,19,80,237,51,197,106,245,232,158,122,141,160,142,36,7,197,114,102,1,30,17,13,57,23,25,240,153,169,242,84,182,98,73,81,156,225,103,128,7,131,255,21,40,223,142,97,7,248,19,21,47,238,102,48,116,89,194,55,102,179,64,186,173,202,55,108,28,6,211,238,82,3,203,1,191,34,25,205,169,254,22,21,75,90,246,47,209,75,42,133,1,174,158,244,196,216,80,201,27,183,198,17,251,229,202,111,79,90,246,242,157,99,218,64,108,11,134,79,189,83,143,101,248,210,123,193,59,43,209,10,153,24,45,88,166,154,178,112,56,125,73,34,4,17,104,114,205,140,167,143,19,33,47,38,237,246,201,218,23,183,54,124,86,254,51,93,207,212,122,138,21,255,175,221,7,97,32,171,30,185,9,97,227,24,105,162,41,212,100,245,184,42,138,62,114,200,101,118,179,70,84,31,121,157,190,52,39,180,9,133,66,198,66,239,17,61,85,75,18,63,33,221,115,188,10,246,79,9,233,20,65,49,254,18,141,171,219,47,144,134,228,252,4,159,89,170,246,47,130,155,217,55,161,51,148,90,47,243,182,46,43,193,51,34,127,21,26,165,137,57,188,49,240,229,218,70,214,141,192,173,242,59,10,45,34,199,244,66,43,43,36,145,132,135,213,39,24,12,173,213,93,239,171,251,102,18,136,76,97,223,90,171,95,142,114,2,220,243,186,193,31,164,62,245,243,27,164,2,97,14,194,172,100,173,213,59,139,77,94,134,236,211,27,131,173,146,194,5,114,169,190,47,253,77,136,72,3,31,122,84,223,52,160,12,103,126,86,118,49,84,218,41,103,133,127,46,112,204,154,140,144,228,37,128,18,59,211,8,16,16,147,109,156,60,164,139,76,57,162,141,208,63,226,139,134,150,40,119,134,251,216,234,38,163,227,197,45,73,89,242,227,125,31,55,43,153,97,85,169,246,86,212,29,167,174,226,151,45,150,56,77,40,59,242,170,90,73,218,38,167,171,183,237,120,27,252,238,57,54,160,248,33,208,39,137,99,30,26,162,164,75,88,199,187,67,111,23,134,21,215,209,37,48,34,117,160,195,48,142,76,108,78,230,189,92,149,109,223,76,209,255,254,30,90,118,211,114,118,209,70,1,223,74,32,198,74,169,254,91,85,155,170,205,137,164,124,48,9,213,17,4,165,78,63,121,197,173,176,17,57,160,205,143,210,186,128,232,70,82,185,74,154,29,131,47,151,114,72,183,20,204,255,117,240,16,135,192,137,230,81,25,57,254,231,70,63,176,147,74,107,202,84,203,128,248,133,106,243,214,13,86,160,128,191,247,243,174,135,187,145,9,193,138,160,6,233,153,141,136,107,44,5,222,184,101,254,15,78,108,237,193,181,248,119,62,47,209,34,126,24,33,249,58,149,252,51,206,60,102,202,93,123,233,118,161,90,77,188,105,26,188,187,125,146,146,140,144,182,78,223,136,54,102,191,31,140,3,217,189,98,253,195,95,28,141,209,137,252,172,203,18,96,84,206,192,85,228,85,49,100,55,188,250,133,183,216,0,101,23,198,45,231,220,72,115,95,9,165,165,211,22,228,7,17,29,49,94,3,220,132,79,116,69,28,226,60,226,206,93,20,54,234,247,32,42,209,188,254,183,197,155,29,38,82,212,162,1,159,78,250,53,254,50,126,254,161,128,180,130,161,212,21,72,102,3,32,13,64,190,42,254,199,109,205,224,88,243,245,65,198,61,114,96,241,165,69,114,175,137,221,100,185,193,244,224,122,52,67,97,60,202,28,55,243,122,127,68,203,58,97,158,6,136,192,238,168,238,26,13,145,21,235,87,66,56,57,143,126,149,37,194,23,96,70,249,103,127,110,80,167,106,60,124,74,0,245,42,49,154,9,11,230,143,237,193,22,191,158,33,11,62,8,235,0,197,26,54,2,200,13,131,138,92,159,49,98,215,224,144,144,254]},"output":1401461962},{"input":{"type":"Buffer","data":[166,221,236,213,182,95,62,96,130,64,52,177,248,19,14,184,74,24,183,113,197,180,230,39,95,90,240,192,160,133,202,164,254,40,76,139,143,240,100,86,30,108,9,108,15,127,42,81,186,58,71,128,205,199,249,43,56,177,195,117,44,243,220,47,135,227,6,47,158,74,236,162,113,79,238,89,104,221,39,147,214,201,250,208,36,22,8,157,66,31,35,151,156,63,213,42,210,159,17,143,57,90,104,142,229,20,70,25,92,9,223,108,35,132,78,72,123,78,159,19,76,76,150,252,193,50,29,192,244,65,112,232,160,16,116,235,236,89,77,147,7,190,54,168,1,107,51,218,12,103,46,117,54,176,99,53,205,15,231,98,88,178,210,219,214,234,82,27,233,243,210,187,0,89,225,148,61,206,94,219,38,46,178,62,140,243,203,226,41,27,71,231,81,243,32,5,65,102,249,41,63,156,111,162,112,48,209,121,9,25,168,33,22,94,140,228,194,92,44,158,40,1,174,130,213,210,43,28,157,31,34,174,96,167,164,138,248,235,131,251,21,201,72,170,22,191,28,28,230,156,167,175,34,190,27,249,185,109,208,216,36,10,167,129,220,90,194,20,130,237,65,198,84,226,239,186,208,193,195,88,222,213,82,222,64,73,159,224,72,7,193,48,21,86,183,2,33,65,31,53,132,171,10,110,237,86,155,161,116,20,184,245,215,132,180,248,43,30,230,86,167,25,40,206,38,237,111,221,25,147,0,40,47,124,169,245,242,95,246,151,96,130,16,25,215,76,3,135,232,134,48,164,99,37,68,226,127,143,19,75,94,135,107,217,195,80,184,225,4,127,66,45,27,88,91,201,172,51,6,146,39,166,3,149,76,181,132,255,251,187,143,55,169,27,224,100,137,34,183,96,67,73,182,105,147,228,222,123,207,203,98,226,119,48,73,212,164,175,255,199,215,61,159,254,126,131,111,144,187,92,208,164,52,57,152,25,225,137,175,127,222,20,188,86,57,4,67,1,242,103,105,25,86,143,105,235,14,133,48,215,41,253,89,194,168,32,27,135,66,106,55,229,251,18,8,141,171,151,78,15,243,119,22,54,10,63,206,151,129,132,94,42,172,72,64,210,104,239,148,141,158,254,33,93,178,210,177,55,157,199,219,131,66,23,52,9,82,128,39,75,80,115,29,40,108,64,22,242,95,242,130,150,206,113,15,70,207,13,6,59,51,204,85,236,128,137,0,82,129,249,9,9,218,152,35,237,198,69,126,127,141,22,139,102,113,136,228,28,218,19,71,52,2,20,119,166,81,20,186,199,8,22,221,144,38,145,215,136,233,248,224,211,101,239,70,52,67,44,23,13,239,208,46,152,225,104,75,216,100,219,13,151,120,80,92,29,26,163,92,37,137,124,70,140,228,153,37,167,97,52,51,27,233,55,62,193,249,199,23,192,176,30,212,248,16,33,123,138,185,7,74,123,234,58,253,204,164,229,124,78,214,134,60,237,156,169,217,109,196,42,52,0,5,174,176,12,254,31,76,106,133,185,145,20,189,207,201,149,170,206,217,178,173,95,135,231,63,85,54,235,7,184,55,222,242,120,168,194,10,91,85,85,212,83,179,143,115,29,165,130,17,67,232,245,131,231,252,82,52,25,227,194,65,43,100,53,122,190,182,113,115,6,37,30,232,250,12,37,141,88,182,10,5,150,168,132,195,38,53,93,42,157,79,21,191,208,236,218,227,102,188,253,66,1,248,89,49,215,45,133,180,71,47,96,113,185,29,88,35,147,213,238,81,40,182,0,151,213,107,240,186,7,54,165,16,109,188,248,150,249,133,94,164,17,250,65,252,195,17,121,80,59,203,18,167,121,28,215,92,21,151,63,0,19,115,225,177,192,148,234,110,140,203,118,54,198,53,84,60,214,169,198,61,116,146,199,74,209,101,230,175,178,10,220,215,28,37,252,126,116,125,117,48,143,159,84,77,122,12,120,198,147,173,92,155,192,80,115,37,255,156,162,84,154,203,148,83,212,41,140,164,224,117,198,154,143,216,164,214,113,230,218,143,180,167,51,166,158,243,173,211,243,138,133,86,162,254,100,70,82,64,35,110,228,79,1,13,77,147,194,36,156,157,228,132,101,28,241,142,23,200,119,254,113,140,66,248,148,98,124,220,181,183,40,48,189,46,50,249,14,17,179,96,190,18,190,200,168,139,217,13,49,223,163,70,1,50,213,31,184,97,123,8,23,178,30,144,57,230,159,156,115,55,156,126,13,32,183,5,233,155,231,176,34,203,180,250,157,98,227,9,73,12,242]},"output":1395729717},{"input":{"type":"Buffer","data":[122,33,35,18,144,126,149,43,24,135,57,126,160,4,214,190,157,134,248,112,90,129,145,54,86,163,163,119,105,220,119,135,183,79,61,138,192,214,0,78,208,206,172,128,135,187,178,226,36,229,97,231,85,250,34,159,119,244,54,160,64,102,132,155,225,7,196,16,168,20,18,236,144,120,23,235,172,61,142,253,122,69,157,239,62,208,55,34,140,82,90,60,74,168,0,246,163,135,165,200,27,136,150,13,28,101,124,68,25,96,85,223,67,231,229,184,238,194,142,131,54,156,226,105,213,140,233,48,107,131,172,88,208,54,228,207,79,45,65,17,161,49,136,44,252,205,198,3,111,171,176,92,71,244,1,8,189,34,47,42,52,236,253,60,247,142,199,80,74,59,86,61,5,232,147,58,152,127,132,226,251,182,208,201,64,49,250,228,207,4,85,109,149,208,78,34,18,66,77,145,238,51,73,166,34,98,154,198,80,18,173,151,17,70,44,82,186,117,16,169,73,9,189,121,1,58,186,50,36,93,35,222,150,76,204,141,57,24,162,207,194,42,177,75,131,246,202,38,217,190,79,74,143,119,48,41,195,203,183,62,223,38,191,100,162,110,21,79,52,60,57,110,162,182,156,244,236,30,105,216,140,79,225,76,13,177,101,230,89,94,33,238,174,104,192,236,86,87,45,215,204,217,238,16,17,89,187,236,223,249,132,82,110,198,129,91,252,45,13,232,81,233,57,216,216,160,206,90,122,38,51,206,173,198,58,145,53,128,73,212,249,38,204,94,46,10,201,65,12,207,237,120,68,22,59,38,23,213,101,203,90,16,62,13,108,93,209,124,228,33,79,206,119,147,65,248,157,148,108,60,241,56,155,138,249,120,87,148,70,188,203,241,137,168,31,231,164,51,135,62,184,139,170,180,18,28,176,24,251,31,102,199,120,104,93,198,42,241,102,79,190,230,93,24,135,165,10,92,124,82,16,99,184,1,58,255,224,70,121,15,43,155,216,104,198,79,60,71,214,225,0,199,246,110,128,3,128,151,48,62,159,66,178,171,77,126,96,197,37,113,5,42,87,177,136,216,131,32,73,200,198,59,4,217,74,87,86,20,48,174,91,95,138,100,213,180,107,170,223,168,202,6,178,84,38,164,21,246,251,170,113,248,66,138,4,48,121,19,34,219,191,206,43,40,66,206,11,83,226,69,4,136,46,21,19,239,246,33,215,25,120,11,166,144,92,192,151,167,166,23,51,224,152,172,88,179,120,221,182,88,77,89,229,111,79,244,246,88,24,235,107,197,247,76,113,0,118,253,141,89,227,225,87,183,207,133,8,131,38,18,23,138,127,109,204,100,42,5,51,228,219,47,111,16,135,202,98,234,74,35,231,221,33,157,28,242,151,170,72,135,12,140,80,178,34,103,159,155,151,133,124,155,7,9,113,223,195,228,76,250,66,62,48,121,39,85,71,180,1,216,111,211,84,47,71,223,51,229,28,27,139,7,70,136,182,35,168,136,162,149,104,196,166,1,63,205,236,124,193,250,65,31,145,67,160,31,247,200,89,2,49,62,204,235,176,74,204,127,79,182,194,165,227,175,4,81,23,254,132,131,164,22,219,50,40,163,127,221,44,181,170,126,177,64,118,219,209,153,171,132,134,67,105,149,243,4,89,221,66,251,198,23,41,148,91,208,108,103,181,55,113,107,145,205,211,99,214,25,161,190,62,217,1,49,62,70,24,4,98,223,143,217,117,159,30,240,137,147,250,151,108,122,68,47,226,41,131,155,130,161,44,203,152,240,4,242,108,217,0,22,233,79,200,84,225,48,208,161,33,9,39,112,74,211,89,153,97,249,251,175,147,167,37,130,109,107,167,21,186,197,69,28,221,202,167,116,77,105,17,117,117,145,237,145,205,131,54,0,6,138,106,243,100,207,16,189,166,98,126,128,84,25,151,149,251,67,57,72,8,207,172,222,113,218,37,239,89,170,157,188,30,131,27,188,195,16,193,37,174,98,123,27,192,7,214,171,1,138,237,220,81,23,211,204,18,164,166,65,132,74,23,1,211,225,187,172,222,10,83,202,254,143,68,78,220,58,199,117,233,68,34,90,109,81,202,207,45,230,76,219,252,61,186,71,164,226,163,135,232,20,33,13,179,252,188,25,128,147,138,86,194,211,95,23,30,231,94,166,47,233,143,72,180,126,117,161,11,195,156,107,56,122,139,86,211,186,254,130,47,106,217,64,120,131,105,136,224,50,70,63,218,6,130,76,5,97,49,135,154,87,21,7,0,44,106,25,16,88,120,62,240,134,130,208]},"output":160637834},{"input":{"type":"Buffer","data":[38,80,192,133,17,160,205,126,187,160,187,241,22,17,230,218,128,50,157,3,154,44,14,157,106,230,146,243,221,8,208,23,37,201,166,77,188,181,116,129,240,108,20,6,24,178,195,198,108,113,227,30,114,228,45,139,214,21,92,180,149,174,118,51,132,125,52,0,18,49,63,18,99,10,120,124,230,36,93,72,134,93,6,97,140,156,250,8,228,212,228,78,222,112,215,123,246,241,84,98,202,135,110,80,159,194,149,56,40,114,53,33,212,210,104,255,211,113,60,217,131,73,57,157,140,236,180,186,99,167,219,239,214,43,0,71,99,223,45,208,244,236,80,93,237,123,81,94,9,200,243,7,139,168,31,174,118,9,43,77,107,159,224,145,114,39,213,124,166,37,102,205,101,53,77,223,28,183,114,155,118,68,32,215,80,234,20,230,246,151,77,192,21,7,164,218,117,60,169,135,200,74,20,252,252,113,163,119,183,235,3,20,19,176,137,63,85,91,242,79,96,137,164,184,187,90,243,184,30,87,35,80,96,230,110,160,247,218,252,146,198,67,63,99,50,41,131,234,32,35,215,135,200,154,39,239,72,133,49,62,19,209,223,170,206,254,168,126,48,28,92,21,202,70,28,113,132,32,49,134,244,86,32,56,83,146,46,65,6,6,112,0,115,172,40,66,80,90,195,242,238,215,187,133,148,255,72,231,114,61,121,55,58,218,193,18,84,185,84,0,56,213,35,65,122,6,249,197,146,219,150,32,140,179,104,215,240,179,151,41,176,79,211,189,54,71,86,186,199,200,140,216,105,67,61,233,155,63,128,160,244,47,178,43,85,138,35,92,234,139,38,142,173,135,179,131,105,95,34,194,67,188,151,46,161,147,211,77,117,153,15,160,250,129,235,64,74,144,43,130,29,56,181,132,94,241,221,2,202,190,191,202,26,189,60,232,102,109,52,108,250,211,102,148,156,52,239,229,174,96,84,107,37,77,33,194,232,159,54,161,249,63,160,180,184,255,29,23,201,65,4,171,124,101,230,242,227,77,83,155,255,18,204,68,136,140,134,235,21,34,86,235,120,228,107,226,66,212,157,67,16,138,189,18,77,171,50,59,69,209,184,88,182,58,65,91,56,120,80,245,110,209,4,194,7,19,133,16,163,44,128,53,5,64,236,178,172,207,192,142,37,243,248,151,191,246,142,107,82,39,48,194,67,245,142,193,157,52,53,122,235,193,92,75,184,34,161,151,197,196,224,141,81,89,238,187,13,17,11,88,170,163,127,50,155,115,246,161,150,187,44,81,223,251,90,21,57,4,221,121,168,46,58,126,5,249,204,179,160,103,171,39,152,166,97,235,43,199,167,219,18,214,216,91,32,173,223,58,212,20,6,80,162,135,13,167,178,195,189,240,133,32,3,207,18,6,189,112,80,96,43,5,222,216,1,37,236,126,98,251,25,182,91,17,99,178,25,112,62,143,119,17,97,144,113,135,81,225,50,207,120,176,67,37,151,36,130,49,57,194,22,169,153,60,54,219,127,131,246,183,181,117,62,192,36,0,228,151,91,125,141,238,3,58,73,137,108,152,80,158,27,186,215,78,198,14,11,229,138,184,220,244,224,178,254,106,205,83,41,177,75,178,27,134,124,18,100,119,233,138,112,98,7,161,2,244,230,26,80,133,18,249,68,216,249,113,30,116,142,194,145,111,213,35,15,14,252,123,144,23,33,78,3,93,10,65,172,56,182,32,102,4,73,125,155,17,244,110,158,70,227,197,182,209,91,79,129,28,35,88,38,144,20,184,58,230,52,210,242,253,244,104,157,126,135,158,240,106,96,44,114,52,6,100,206,83,95,17,206,26,78,130,57,10,99,21,136,84,228,170,145,148,203,145,176,82,23,246,236,209,154,26,98,220,189,172,18,90,113,237,83,38,4,177,37,240,9,202,165,34,249,158,198,113,215,77,149,47,28,226,152,159,122,239,165,6,188,240,241,176,12,78,169,195,154,236,121,146,194,81,190,2,186,174,131,249,63,133,142,152,213,22,119,38,163,54,173,120,146,2,179,23,77,102,172,7,99,12,25,69,237,243,195,39,78,20,225,164,175,99,45,151,249,88,151,50,143,73,120,91,21,175,78,28,81,204,169,204,120,59,71,224,81,107,223,191,7,41,139,213,92,205,127,63,62,121,237,234,167,124,125,173,209,57,24,186,164,233,118,209,209,169,79,211,20,252,58,36,102,87,153,198,96,232,114,181,61,13,90,27,145,37,250,116,235,97,132,52,85,31,181,201,98,155,238,99,216,85,173,150,186,42,173,254]},"output":1241843306},{"input":{"type":"Buffer","data":[29,59,15,152,99,222,82,60,205,20,139,158,236,243,131,240,109,188,208,222,195,31,47,48,94,156,35,140,4,126,175,250,122,27,224,173,81,93,196,115,87,86,210,211,82,46,86,131,11,87,47,162,194,16,130,14,250,173,51,63,174,87,156,48,188,75,40,84,35,87,79,220,217,216,170,225,74,8,29,63,219,7,74,177,186,148,214,20,117,58,13,238,100,188,42,153,112,32,141,27,99,217,42,56,90,224,245,4,232,213,224,178,181,219,164,25,34,11,119,159,127,181,47,28,98,67,172,73,141,13,1,224,200,76,158,164,50,16,148,206,203,232,220,126,246,40,64,5,180,182,119,124,98,161,71,64,64,62,96,57,144,98,173,144,186,42,167,136,100,61,64,158,195,46,237,175,140,48,85,79,31,54,184,194,237,175,226,222,213,94,139,28,24,237,197,84,250,219,95,199,161,30,215,246,64,179,61,109,6,185,195,58,62,61,171,133,114,244,130,94,223,199,194,232,199,10,195,166,161,149,80,184,156,219,43,219,44,85,42,43,174,35,184,19,246,175,199,127,95,56,101,239,58,53,244,164,209,230,54,81,189,240,27,103,131,12,152,174,93,0,218,12,86,194,163,185,83,68,58,197,17,108,106,180,34,107,108,195,194,103,4,206,188,55,198,81,162,138,147,61,154,154,72,250,126,73,151,55,173,97,109,230,133,217,1,193,212,195,51,0,3,60,181,18,219,245,92,39,249,118,10,112,228,150,181,107,30,19,28,112,64,81,158,100,12,29,147,82,6,65,187,148,169,243,113,73,39,21,170,191,13,241,66,46,129,19,127,2,235,178,57,214,202,235,64,15,174,231,112,15,191,252,250,125,54,64,55,124,185,43,2,53,221,235,26,131,138,111,93,202,7,40,73,10,249,59,0,47,41,66,21,174,79,92,49,100,225,138,170,226,48,180,130,113,0,189,6,25,191,127,79,87,133,101,18,17,139,237,206,165,112,179,149,34,64,116,75,130,188,128,142,110,125,236,137,97,40,0,12,28,152,2,139,132,223,11,137,58,100,45,130,141,209,109,134,97,241,106,70,11,216,71,107,91,51,207,193,75,66,4,203,150,65,53,40,212,237,129,127,196,216,133,192,75,73,74,104,46,220,212,156,129,90,69,99,10,222,144,165,15,10,246,117,56,173,131,208,208,198,181,25,54,136,29,74,147,243,156,181,205,58,78,162,233,193,108,201,66,69,23,53,171,243,177,161,49,88,76,205,35,184,203,20,252,237,204,149,31,7,137,88,60,61,114,191,127,129,79,142,229,249,148,88,20,211,233,55,46,44,195,48,191,103,84,67,191,244,164,60,92,158,191,90,242,118,112,70,10,109,232,45,13,171,117,253,98,141,48,236,217,9,248,160,241,235,114,96,191,150,242,61,3,159,8,255,35,85,204,158,208,88,10,194,135,58,200,40,149,166,234,161,179,121,55,89,137,154,76,105,126,52,48,33,109,240,90,215,86,62,234,242,140,110,250,202,138,250,42,120,23,213,51,231,112,34,177,109,87,33,233,160,153,183,157,160,152,193,47,54,157,245,50,150,0,93,117,149,150,249,252,201,81,98,90,50,55,183,204,29,92,81,63,211,58,128,211,209,128,53,93,62,234,198,21,123,138,143,43,162,83,44,89,236,220,156,226,79,70,143,232,199,95,50,197,210,163,138,235,160,233,128,42,173,140,134,247,154,29,2,22,198,171,131,98,31,17,9,127,94,224,127,221,246,159,166,74,201,188,4,118,114,145,101,197,254,239,143,233,28,32,12,156,232,32,90,234,237,162,127,92,149,45,230,36,89,247,184,192,192,185,130,181,180,91,252,243,45,66,113,107,134,116,126,65,64,110,92,185,100,193,181,183,241,127,143,199,41,185,97,28,75,90,231,100,91,159,58,237,59,177,61,170,245,161,246,218,199,153,115,62,228,185,100,208,111,79,175,179,85,10,13,118,42,210,185,64,212,27,11,77,82,189,131,57,78,151,150,1,61,246,44,77,227,95,17,240,151,216,34,63,254,43,128,149,91,90,211,184,4,53,91,223,64,181,21,142,238,242,197,157,141,177,41,164,64,65,44,30,99,72,26,51,75,141,12,78,12,135,13,249,181,112,62,100,141,81,152,120,174,82,26,20,70,82,32,163,110,255,98,38,56,40,182,173,49,96,217,178,163,139,5,167,234,237,103,164,1,212,82,8,214,99,188,75,26,97,188,132,217,252,218,149,153,171,172,107,126,62,184,236,182,11,139,243,148,234,74,73,104,202,152,84,105,127]},"output":1555019237},{"input":{"type":"Buffer","data":[48,173,71,65,106,63,250,104,227,160,246,148,177,138,212,45,126,121,234,214,143,94,181,169,211,251,110,156,200,244,11,102,16,138,152,182,38,193,80,62,33,170,68,89,66,8,133,66,181,230,148,224,201,215,76,189,162,64,249,211,207,16,180,163,46,14,224,221,186,40,178,220,73,129,88,93,81,92,107,50,72,113,228,53,82,49,137,127,114,211,24,98,242,130,149,19,109,80,203,62,215,213,95,8,132,100,203,109,149,41,156,122,170,209,212,178,72,203,219,204,88,101,101,159,219,120,217,29,155,60,76,174,213,242,239,206,35,167,234,39,228,191,161,230,117,109,82,51,24,183,218,85,156,51,131,158,154,181,31,22,183,173,207,48,218,250,175,166,136,216,8,2,183,79,119,153,200,251,226,229,106,17,173,138,87,48,15,215,60,83,238,197,165,60,8,176,34,181,9,252,102,53,222,121,197,196,177,182,220,23,10,148,92,61,111,235,8,187,254,58,12,21,20,131,153,238,63,26,31,189,113,125,12,66,71,203,83,171,3,34,47,102,27,0,50,130,169,52,105,221,3,40,65,24,219,174,173,155,4,65,220,27,42,3,108,233,104,82,93,79,32,38,217,82,239,137,218,97,246,190,2,100,43,159,17,235,60,189,61,13,80,178,239,59,90,180,127,114,30,216,214,119,144,58,100,254,3,92,229,13,32,72,212,220,240,194,139,37,109,226,194,186,166,175,141,84,14,184,107,26,128,50,84,254,106,60,25,164,191,7,109,172,7,98,113,184,180,6,93,251,121,9,219,250,21,49,239,120,65,17,231,249,165,231,35,71,231,17,218,203,105,248,131,38,13,98,67,60,114,53,122,30,227,148,141,233,192,38,200,119,189,168,127,100,167,0,82,236,9,103,2,121,80,162,198,129,128,129,57,186,13,180,160,125,92,24,28,86,212,237,36,221,190,26,209,233,90,182,133,210,32,249,83,186,107,97,192,80,216,170,71,128,87,156,14,149,12,238,12,154,154,231,225,188,147,70,219,111,129,6,168,24,46,63,35,77,80,82,229,97,226,120,38,161,214,107,43,93,147,100,120,137,79,127,229,14,103,158,92,79,81,102,141,253,21,233,164,72,171,197,220,92,71,46,157,128,228,147,171,50,200,89,65,82,37,198,23,97,114,189,214,161,207,49,125,105,95,201,48,106,152,68,209,66,172,210,28,146,224,207,243,42,93,228,100,197,113,77,206,146,180,176,123,196,191,46,130,37,23,99,211,52,99,103,109,177,28,174,220,145,94,245,28,82,176,133,83,40,28,79,112,242,96,169,86,16,156,45,90,162,241,68,38,63,163,167,212,78,6,51,129,167,201,248,86,128,94,110,154,70,83,216,93,127,8,67,81,75,151,109,71,216,34,201,81,206,125,1,77,26,141,152,177,160,141,59,244,102,159,214,213,20,13,234,122,44,68,241,143,88,252,94,156,210,60,3,127,90,176,199,76,115,205,233,208,245,10,245,195,16,148,142,114,74,18,59,84,46,140,78,80,192,123,44,42,244,144,60,108,251,212,87,168,117,5,169,239,208,248,89,195,115,254,110,35,91,146,157,86,6,181,26,225,208,4,67,218,38,187,159,255,160,255,85,236,22,55,133,171,37,10,198,154,102,40,149,67,22,238,213,66,114,182,152,32,72,25,252,112,179,56,20,102,50,178,230,194,112,247,130,60,191,0,55,17,227,83,223,185,170,66,189,86,244,232,129,94,11,133,127,74,107,213,161,213,36,55,154,74,92,111,66,44,139,233,37,60,207,218,91,168,216,237,2,141,22,166,40,84,5,245,133,167,88,134,6,14,5,223,12,35,220,1,3,29,197,38,75,141,220,130,246,160,108,125,219,86,167,207,178,29,23,192,67,155,248,248,120,78,193,31,230,150,12,21,156,220,239,74,197,168,27,213,157,23,104,119,89,167,137,36,10,139,148,79,81,232,57,176,112,45,213,63,212,189,11,185,114,156,88,137,194,177,38,143,193,208,84,125,44,141,83,158,169,6,206,163,72,10,12,124,133,224,161,163,237,93,27,147,217,41,219,20,23,21,44,12,37,88,158,36,35,125,223,106,248,7,198,148,252,158,84,124,42,166,105,103,204,26,27,192,98,120,234,230,39,33,42,123,166,31,164,104,99,197,215,55,213,130,67,78,42,124,69,216,135,144,217,27,211,54,111,15,57,18,19,24,128,117,160,63,114,104,218,133,42,72,200,181,208,87,110,123,219,251,6,245,23,84,71,112,41,221,129,106,236,143,102,191,218,253,177,33,186]},"output":3548814887},{"input":{"type":"Buffer","data":[]},"output":0},{"input":{"type":"Buffer","data":[0]},"output":1383945041}],"output":2392242360}} \ No newline at end of file From 772e6224af911ba674d609c7952c0719f9e7c8d8 Mon Sep 17 00:00:00 2001 From: Xiaoyi Shi Date: Fri, 4 Oct 2019 22:13:27 +0800 Subject: [PATCH 2/4] add lock as well --- yarn.lock | 1797 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1797 insertions(+) create mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..efa3f1a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1797 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" + integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== + dependencies: + "@babel/types" "^7.6.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + dependencies: + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== + dependencies: + "@babel/types" "^7.4.4" + +"@babel/highlight@^7.0.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" + integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== + +"@babel/template@^7.1.0", "@babel/template@^7.4.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" + integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" + +"@babel/traverse@^7.4.3": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" + integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.2" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.6.2" + "@babel/types" "^7.6.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.0.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" + integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-styles@^3.0.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansy@^1.0.0: + version "1.0.14" + resolved "https://registry.yarnpkg.com/ansy/-/ansy-1.0.14.tgz#7df7d0194a4cc2d97fd0204bb7faa0e6b29e7eb0" + integrity sha512-6EZU3oFiAFR5KdxMfBC7L9A5WtMSO9rXietMuQ0STnHx2n2qgrDld+7JkT2j9FHWRVOHekdH5nMs5Hry4oJzyg== + dependencies: + ansi-styles "^3.0.0" + custom-return "^1.0.0" + supports-color "^3.1.2" + ul "^5.2.1" + +append-transform@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" + integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== + dependencies: + default-require-extensions "^2.0.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +benchmark@^2.0.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" + integrity sha1-CfPeMckWQl1JjMLuVloOvzwqVik= + dependencies: + lodash "^4.17.4" + platform "^1.3.3" + +benchtable@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/benchtable/-/benchtable-0.1.0.tgz#b32a7d8442798106c1bd95bb18ca6cc9f995ff1c" + integrity sha1-syp9hEJ5gQbBvZW7GMpsyfmV/xw= + dependencies: + benchmark "^2.0.0" + cli-table "^0.3.1" + color-it "^1.2.0" + +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-crc32@^0.2.13: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +caching-transform@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70" + integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== + dependencies: + hasha "^3.0.0" + make-dir "^2.0.0" + package-hash "^3.0.0" + write-file-atomic "^2.4.2" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^2.0.0, chalk@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + dependencies: + colors "1.0.3" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +color-convert@^1.0.0, color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-it@^1.2.0: + version "1.2.11" + resolved "https://registry.yarnpkg.com/color-it/-/color-it-1.2.11.tgz#efe4e55a1f14430b697c6f105f350705dc287777" + integrity sha512-h5sw1F/paJHxzSCsXVBAOGAK6vHUO17yPbVmFENNwYNGAZotOvHMBSS+BieLBbruyfa8aIf6YDrUwnCLFNmEiQ== + dependencies: + couleurs "^6.0.6" + flat-colors "^3.1.0" + iterate-object "^1.1.0" + typpy "^2.3.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@~2.20.0: + version "2.20.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" + integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +couleurs@^6.0.6: + version "6.0.10" + resolved "https://registry.yarnpkg.com/couleurs/-/couleurs-6.0.10.tgz#a4a89a456f53ee98e65f106f2e69c6cb852e19fd" + integrity sha512-16ZvhVjVhEP75sMflsPtXcwbly+79os1zhBVcpRWNmnwifEbZChW+0URYING/A2ehBwp8i0pOXJYzdpiGO3Ivw== + dependencies: + ansy "^1.0.0" + color-convert "^1.0.0" + iterate-object "^1.3.1" + typpy "^2.3.1" + +coveralls@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.6.tgz#5c63b2759b6781118e7439bd870ba5e9ee428b25" + integrity sha512-Pgh4v3gCI4T/9VijVrm8Ym5v0OgjvGLKj3zTUwkvsCiwqae/p6VLzpsFNjQS2i6ewV7ef+DjFJ5TSKxYt/mCrA== + dependencies: + growl "~> 1.10.0" + js-yaml "^3.13.1" + lcov-parse "^0.0.10" + log-driver "^1.2.7" + minimist "^1.2.0" + request "^2.86.0" + +cp-file@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d" + integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== + dependencies: + graceful-fs "^4.1.2" + make-dir "^2.0.0" + nested-error-stacks "^2.0.0" + pify "^4.0.1" + safe-buffer "^5.0.1" + +cross-spawn@^4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +custom-return@^1.0.0: + version "1.0.11" + resolved "https://registry.yarnpkg.com/custom-return/-/custom-return-1.0.11.tgz#38461ed33435a641b27cdf6523ffd399e3edf91c" + integrity sha512-CM64m2bV2IQ1MiKRErXR3mRlIiFkIjkQGktTMVPXbmmKCZEiO/YGUlrg69/Gg2tGTSNv+Kyd3+bNJEJIlxhZbA== + dependencies: + noop6 "^1.0.0" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +default-require-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" + integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= + dependencies: + strip-bom "^3.0.0" + +deffy@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deffy/-/deffy-2.2.3.tgz#16671c969a8fc447c76dd6bb0d265dd2d1b9c361" + integrity sha512-c5JD8Z6V1aBWVzn1+aELL97R1pHCwEjXeU3hZXdigkZkxb9vhgFP162kAxGXl992TtAg0btwQyx7d54CqcQaXQ== + dependencies: + typpy "^2.0.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.1: + version "1.15.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" + integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat-colors@^3.1.0: + version "3.3.11" + resolved "https://registry.yarnpkg.com/flat-colors/-/flat-colors-3.3.11.tgz#869e372b70ae289d6512bbdabd8e3baf3ba7f942" + integrity sha512-JLOPZKATex6dUscEn2pbvYiNPbUoxubBN+wu2meJ/V4j6Jhuw3fJaPQBoOIk2D9Ndq1l6GAhiw+SW7d//Lg3Dg== + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +foreground-child@^1.5.6: + version "1.5.6" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" + integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= + dependencies: + cross-spawn "^4" + signal-exit "^3.0.0" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.name@^1.0.3: + version "1.0.12" + resolved "https://registry.yarnpkg.com/function.name/-/function.name-1.0.12.tgz#34eec84476d9fb67977924a4cdcb98ec85695726" + integrity sha512-C7Tu+rAFrWW5RjXqtKtXp2xOdCujq+4i8ZH3w0uz/xrYHBwXZrPt96x8cDAEHrIjeyEv/Jm6iDGyqupbaVQTlw== + dependencies: + noop6 "^1.0.1" + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.3: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" + integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== + +growl@1.10.5, "growl@~> 1.10.0": + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +handlebars@^4.1.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.2.tgz#8810a9821a9d6d52cb2f57d326d6ce7c3dfe741d" + integrity sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hasha@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39" + integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= + dependencies: + is-stream "^1.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-hook@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" + integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== + dependencies: + append-transform "^1.0.0" + +istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.4: + version "2.2.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== + dependencies: + handlebars "^4.1.2" + +iterate-object@^1.1.0, iterate-object@^1.3.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/iterate-object/-/iterate-object-1.3.3.tgz#c58e60f7f0caefa2d382027a484b215988a7a296" + integrity sha512-DximWbkke36cnrSfNJv6bgcB2QOMV9PRD2FiowwzCoMsh8RupFLdbNIzWe+cVDWT+NIMNJgGlB1dGxP6kpzGtA== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.13.1, js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +lcov-parse@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + +lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-driver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" + integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== + +log-symbols@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +mkdirp@0.5.1, mkdirp@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +mocha@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.1.tgz#da941c99437da9bac412097859ff99543969f94c" + integrity sha512-VCcWkLHwk79NYQc8cxhkmI8IigTIhsCwZ6RTxQsqK6go4UvEhzJkYuHm8B2YtlSxcYq2fY+ucr4JBwoD6ci80A== + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" + minimatch "3.0.4" + mkdirp "0.5.1" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.0" + yargs-parser "13.1.1" + yargs-unparser "1.6.0" + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +neo-async@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + +nested-error-stacks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" + integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== + +node-addon-api@^1.3.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.1.tgz#cf813cd69bb8d9100f6bdca6755fc268f54ac492" + integrity sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ== + +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +noop6@^1.0.0, noop6@^1.0.1: + version "1.0.8" + resolved "https://registry.yarnpkg.com/noop6/-/noop6-1.0.8.tgz#eff06e2e5b3621e9e5618f389d6a2294f76e64ad" + integrity sha512-+Al5csMVc40I8xRfJsyBcN1IbpyvebOuQmMfxdw+AL6ECELey12ANgNTRhMfTwNIDU4W9W0g8EHLcsb3+3qPFA== + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +nyc@^14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb" + integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== + dependencies: + archy "^1.0.0" + caching-transform "^3.0.2" + convert-source-map "^1.6.0" + cp-file "^6.2.0" + find-cache-dir "^2.1.0" + find-up "^3.0.0" + foreground-child "^1.5.6" + glob "^7.1.3" + istanbul-lib-coverage "^2.0.5" + istanbul-lib-hook "^2.0.7" + istanbul-lib-instrument "^3.3.0" + istanbul-lib-report "^2.0.8" + istanbul-lib-source-maps "^3.0.6" + istanbul-reports "^2.2.4" + js-yaml "^3.13.1" + make-dir "^2.1.0" + merge-source-map "^1.1.0" + resolve-from "^4.0.0" + rimraf "^2.6.3" + signal-exit "^3.0.2" + spawn-wrap "^1.4.2" + test-exclude "^5.2.3" + uuid "^3.3.2" + yargs "^13.2.2" + yargs-parser "^13.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +p-limit@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e" + integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== + dependencies: + graceful-fs "^4.1.15" + hasha "^3.0.0" + lodash.flattendeep "^4.4.0" + release-zalgo "^1.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +platform@^1.3.3: + version "1.3.5" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444" + integrity sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24: + version "1.4.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" + integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +random-string@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/random-string/-/random-string-0.2.0.tgz#a46e4375352beda9a0d7b0d19ed6d321ecd1d82d" + integrity sha1-pG5DdTUr7amg17DRntbTIezR2C0= + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= + dependencies: + es6-error "^4.0.1" + +request@^2.86.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +"semver@2 || 3 || 4 || 5", semver@^5.6.0, semver@^5.7.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +should-equal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" + integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== + dependencies: + should-type "^1.4.0" + +should-format@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" + integrity sha1-m/yPdPo5IFxT04w01xcwPidxJPE= + dependencies: + should-type "^1.3.0" + should-type-adaptors "^1.0.1" + +should-type-adaptors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" + integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== + dependencies: + should-type "^1.3.0" + should-util "^1.0.0" + +should-type@^1.3.0, should-type@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" + integrity sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM= + +should-util@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" + integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== + +should@^13.2.3: + version "13.2.3" + resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" + integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== + dependencies: + should-equal "^2.0.0" + should-format "^3.0.3" + should-type "^1.4.0" + should-type-adaptors "^1.0.1" + should-util "^1.0.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawn-wrap@^1.4.2: + version "1.4.3" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848" + integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== + dependencies: + foreground-child "^1.5.6" + mkdirp "^0.5.0" + os-homedir "^1.0.1" + rimraf "^2.6.2" + signal-exit "^3.0.2" + which "^1.3.0" + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sse4_crc32@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/sse4_crc32/-/sse4_crc32-6.0.1.tgz#3511c747ce48a224e0554ebb23d5835ba08a9637" + integrity sha512-FUTYXpLroqytNKWIfHzlDWoy9E4tmBB/RklNMy6w3VJs+/XEYAHgbiylg4SS43iOk/9bM0BlJ2EDpFAGT66IoQ== + dependencies: + bindings "^1.3.0" + node-addon-api "^1.3.0" + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + dependencies: + has-flag "^3.0.0" + +supports-color@^3.1.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +typpy@^2.0.0, typpy@^2.3.1, typpy@^2.3.3, typpy@^2.3.4: + version "2.3.11" + resolved "https://registry.yarnpkg.com/typpy/-/typpy-2.3.11.tgz#21a0d22c96fb646306e08b6c669ad43608e1b3b9" + integrity sha512-Jh/fykZSaxeKO0ceMAs6agki9T5TNA9kiIR6fzKbvafKpIw8UlNlHhzuqKyi5lfJJ5VojJOx9tooIbyy7vHV/g== + dependencies: + function.name "^1.0.3" + +uglify-js@^3.1.4: + version "3.6.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== + dependencies: + commander "~2.20.0" + source-map "~0.6.1" + +ul@^5.2.1: + version "5.2.14" + resolved "https://registry.yarnpkg.com/ul/-/ul-5.2.14.tgz#560abd28d0f9762010b0e7a84a56e7208166f61a" + integrity sha512-VaIRQZ5nkEd8VtI3OYo5qNbhHQuBtPtu5k5GrYaKCmcP1H+FkuWtS+XFTSU1oz5GiuAg2FJL5ka8ufr9zdm8eg== + dependencies: + deffy "^2.2.2" + typpy "^2.3.4" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +uuid@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1.3.1, which@^1.2.9, which@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.4.2: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yargs-parser@13.1.1, yargs-parser@^13.0.0, yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + +yargs@13.3.0, yargs@^13.2.2, yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" From f046efe376cbaa0277a6dbbe6517084590c64e49 Mon Sep 17 00:00:00 2001 From: Xiaoyi Shi Date: Fri, 4 Oct 2019 22:19:11 +0800 Subject: [PATCH 3/4] update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f00f10f..32aa6b5 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ register width (64bit) instead of CRC-32's 8bit. When using hardware acceleration, CRC-32C is about 7x ~ 9x faster than software implemented CRC-32C. -**Benchmark** +### Benchmark The 3 tested implementations are: @@ -20,7 +20,7 @@ The 3 tested implementations are: - **js_crc32c** Javascript implemented CRC-32C - **js_crc32** Javascript implemented CRC-32 from [buffer-crc32][buffer-crc32] -``` +```shell $ npm run-script benchmark > fast-crc32c@1.0.2 benchmark /Users/xshi/Projects/node-fast-crc32c From 81aba230017858c4ee45bbb3577e51437b9fe457 Mon Sep 17 00:00:00 2001 From: Xiaoyi Shi Date: Fri, 4 Oct 2019 22:19:52 +0800 Subject: [PATCH 4/4] update --- test/mocha.opts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/mocha.opts b/test/mocha.opts index 96a068d..c92b4a5 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,3 +1,2 @@ ---require blanket --require should --reporter dot