├── .github
└── workflows
│ └── test.yml
├── .gitignore
├── .jshintrc
├── .karma.conf.js.swp
├── LICENSE
├── README.md
├── bower.json
├── index.js
├── karma.conf.js
├── package-lock.json
├── package.json
├── src
└── zingchart-angularjs.js
└── test
└── defaults.js
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | # Name is optional and if present must be used
2 | # in the url path for badges
3 | name: Test
4 |
5 | # Run on a dev branch
6 | on:
7 | push:
8 | branches:
9 | - dev
10 | pull_request:
11 | branches:
12 | - master
13 |
14 | jobs:
15 | Test:
16 | name: Test
17 | runs-on: ubuntu-latest
18 | strategy:
19 | matrix:
20 | node-version: [10.13]
21 |
22 | steps:
23 | - name: Checkout Repository
24 | uses: actions/checkout@v1
25 | - name: Use Node.js ${{ matrix.node-version }}
26 | uses: actions/setup-node@v1
27 | with:
28 | node-version: ${{ matrix.node-version }}
29 | # npm ci REQUIRES a package-lock.json file
30 | - name: Install Fresh Dependencies
31 | run: |
32 | rm package-lock.json
33 | npm install
34 | - name: Run Unit Tests
35 | run: npm run test
36 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | ._*
4 | bower_components/
5 |
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | // See http://jshint.com/docs/ for more details
2 | {
3 |
4 | "maxerr" : 50, // {int} Maximum error before stopping
5 |
6 | // Enforcing
7 | "bitwise" : false, // true: Prohibit bitwise operators (&, |, ^, etc.)
8 | "camelcase" : true, // true: Identifiers must be in camelCase
9 | "curly" : true, // true: Require {} for every new block or scope
10 | "eqeqeq" : true, // true: Require triple equals (===) for comparison
11 | "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
12 | "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc.
13 | "immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
14 | "indent" : 4, // {int} Number of spaces to use for indentation
15 | "latedef" : true, // true: Require variables/functions to be defined before being used
16 | "newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
17 | "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
18 | "noempty" : true, // true: Prohibit use of empty blocks
19 | "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters.
20 | "nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
21 | "plusplus" : false, // true: Prohibit use of `++` & `--`
22 | "quotmark" : false, // Quotation mark consistency:
23 | // false : do nothing (default)
24 | // true : ensure whatever is used is consistent
25 | // "single" : require single quotes
26 | // "double" : require double quotes
27 | "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
28 | "unused" : true, // true: Require all defined variables be used
29 | "strict" : false, // true: Requires all functions run in ES5 Strict Mode
30 | "maxparams" : false, // {int} Max number of formal params allowed per function
31 | "maxdepth" : false, // {int} Max depth of nested blocks (within functions)
32 | "maxstatements" : false, // {int} Max number statements per function
33 | "maxcomplexity" : false, // {int} Max cyclomatic complexity per function
34 | "maxlen" : false, // {int} Max number of characters per line
35 |
36 | // Relaxing
37 | "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
38 | "boss" : false, // true: Tolerate assignments where comparisons would be expected
39 | "debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
40 | "eqnull" : false, // true: Tolerate use of `== null`
41 | "es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
42 | "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
43 | "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
44 | // (ex: `for each`, multiple try/catch, function expression…)
45 | "evil" : false, // true: Tolerate use of `eval` and `new Function()`
46 | "expr" : false, // true: Tolerate `ExpressionStatement` as Programs
47 | "funcscope" : false, // true: Tolerate defining variables inside control statements
48 | "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
49 | "iterator" : false, // true: Tolerate using the `__iterator__` property
50 | "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
51 | "laxbreak" : false, // true: Tolerate possibly unsafe line breakings
52 | "laxcomma" : false, // true: Tolerate comma-first style coding
53 | "loopfunc" : false, // true: Tolerate functions being defined in loops
54 | "multistr" : false, // true: Tolerate multi-line strings
55 | "noyield" : false, // true: Tolerate generator functions with no yield statement in them.
56 | "notypeof" : false, // true: Tolerate invalid typeof operator values
57 | "proto" : false, // true: Tolerate using the `__proto__` property
58 | "scripturl" : false, // true: Tolerate script-targeted URLs
59 | "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
60 | "sub" : true, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
61 | "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
62 | "validthis" : false, // true: Tolerate using this in a non-constructor function
63 |
64 | // Environments
65 | "browser" : true, // Web Browser (window, document, etc)
66 | "browserify" : false, // Browserify (node.js code in the browser)
67 | "couch" : false, // CouchDB
68 | "devel" : true, // Development/debugging (alert, confirm, etc)
69 | "dojo" : false, // Dojo Toolkit
70 | "jasmine" : false, // Jasmine
71 | "jquery" : false, // jQuery
72 | "mocha" : true, // Mocha
73 | "mootools" : false, // MooTools
74 | "node" : false, // Node.js
75 | "nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
76 | "prototypejs" : false, // Prototype and Scriptaculous
77 | "qunit" : false, // QUnit
78 | "rhino" : false, // Rhino
79 | "shelljs" : false, // ShellJS
80 | "worker" : false, // Web Workers
81 | "wsh" : false, // Windows Scripting Host
82 | "yui" : false, // Yahoo User Interface
83 |
84 | // Custom Globals
85 | // additional predefined global variables
86 | "globals" : {
87 | "angular" : true,
88 | "zingchart" : true,
89 | "module" : true
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/.karma.conf.js.swp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zingchart/ZingChart-AngularJS/14715baa423042e544c2046e2b5e3687f94346cb/.karma.conf.js.swp
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 ZingChart
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 | 
3 | 
4 |
5 | 
6 | 
7 |
8 |
9 | ## Quickstart Guide
10 |
11 | Quickly add charts to your Angular application with our ZingChart component
12 |
13 | This guide assumes some basic working knowledge of Angular and its Object Oriented interface.
14 |
15 | ---
16 | An AngularJS directive for ZingChart to make your charts work dynamically with your data.
17 |
18 | #### Check out our getting started page for examples! (http://zingchart.github.io/ZingChart-AngularJS)
19 | #### Fully detailed blog post @ (http://www.zingchart.com/blog/2015/03/05/zingchart-angularjs/)
20 |
21 | * [Install](#install)
22 | * [Usage](#usage)
23 | * [FAQ](#faq)
24 | * [Options](#options)
25 |
26 |
27 |
28 | ## Install
29 |
30 | Install the directive using one of the following options:
31 |
32 | **Bower**
33 |
34 | ```
35 | bower install zingchart-angularjs
36 | ```
37 |
38 | **NPM**
39 |
40 | ```
41 | npm install zingchart-angularjs
42 | ```
43 |
44 | **Download**
45 |
46 | [https://github.com/zingchart/ZingChart-AngularJS/archive/master.zip](https://github.com/zingchart/ZingChart-AngularJS/archive/master.zip)
47 |
48 |
49 | ## Quick Start
50 |
51 | **Step 1 : Include the following dependencies into your HTML file**
52 |
53 | ```
54 |
55 |
56 |
57 | ```
58 |
59 | **Step 2 :Inject the directive into your application**
60 |
61 | ```
62 | angular.module('myApp', ['zingchart-angularjs']);
63 | ```
64 |
65 | **Step 3 : Insert the ZingChart-AngularJS directive into your application**
66 |
67 | *As an element*
68 |
69 | ```html
70 |
71 | ```
72 |
73 | or
74 |
75 | *As an attribute*
76 |
77 | ```html
78 |
79 | ```
80 |
81 | **Step 4 : Configure your chart through a scope variable**
82 |
83 | ```
84 | ...
85 | $scope.myJson = {
86 | type : 'line',
87 | series : [
88 | { values : [54,23,34,23,43] },
89 | { values : [10,15,16,20,40] }
90 | ]
91 | };
92 | ...
93 | ```
94 |
95 |
96 |
97 | ##FAQ
98 |
99 | > How do I make my charts responsive?
100 |
101 | **Background**
102 |
103 | ZingChart internally attaches itself to the element that is specified in the render function, and continues to build children elements inside. In this Angular directives case, it will attach itself to either :
104 |
105 | * The `` if the element binding syntax is used
106 | * The `` if the `zingchart` attribute binding syntax is used.
107 |
108 | Since the element `zingchart` is not a valid HTML element, the browser will not assign css attributes to the element where as a div has inherit properties such as `display:block`.
109 |
110 | **How to**
111 |
112 | We reccomended using the attribute binding syntax on a div to automatically inherit the `display:block` CSS attribute. You will also need to apply a value of `100%` to the zc-height and zc-width attributes.
113 |
114 | Example :
115 |
116 | ```
117 |
118 | ```
119 |
120 |
121 |
122 | ## Options
123 | The ZingChart Component takes the following attributes:
124 |
125 |
126 | ### _id_ [string] ```(optional)```
127 | The id for the DOM element for ZingChart to attach to.
128 | ##### Example:
129 | ```html
130 |
131 | ```
132 |
133 | If no id is specified, the id will be autogenerated in the form of `zingchart-auto-#`
134 |
135 | ---
136 |
137 |
138 | ### _zc-values_ [array] ```(optional)```
139 | ```default : null```
140 |
141 | Either a single-dimensional or multi-dimensional array containing the values to be charted. **Must be an Angular scope variable to bind to the directive** Overrides the series values in the zc-render and zc-data objects.
142 |
143 | This parameter simulates the values parameter in each series object in a ZingChart json.
144 | ```js
145 | //ZingChart json example
146 | data:{
147 | series : [
148 | {'values' : [45,43,26]},
149 | {'values' : [0,1,5,3]}
150 | ]
151 | }
152 | ```
153 | The directive takes care of the work so you don't have to create this object
154 |
155 | ##### Example:
156 | ```js
157 | //.js
158 | $scope.myData = [0,2,2,3,3,4];
159 | $scope.myData2 = [[45,43,26],[0,1,5,3]];
160 |
161 | //.html
162 |
163 |
164 | ```
165 |
166 | ---
167 |
168 |
169 | ### _zc-json_ [object] ```(optional)```
170 | ```default : null```
171 |
172 | A ZingChart configuration object. **Must be an Angular scope variable to bind to the directive**. This is the same object you would use to configure a chart using zingchart.render.data. It is a pseudo-parent object of zc-values. The directive performs a deep-watch on the object for any changes, and stringifies the result as JSON to be rendered to ZingChart. More information : http://www.zingchart.com/docs/json-attributes-syntax/
173 |
174 | ##### Example:
175 | http://jsfiddle.net/mschultz/tne7uuq0/
176 | ```js
177 | //.js
178 | $scope.myValues = [[0,2,3,4],[9,6,4,3]];
179 | $scope.myObj = {
180 | series:[
181 | {
182 | lineColor:"#900000",
183 | marker:{
184 | backgroundColor:"#dc3737",
185 | borderWidth:1,
186 | shadow:0,
187 | borderColor:"#f56b6b"
188 | }
189 | },
190 | {
191 | lineColor:"#efe634",
192 | marker:{
193 | backgroundColor:"#fff41f",
194 | borderWidth:1,
195 | shadow:0,
196 | borderColor:"#fdffc0"
197 | }
198 | },
199 | ]
200 | };
201 |
202 | //.html
203 |
204 | ```
205 | Note: You can add series values into this object like you normally would while using ZingChart. However if you define the directives zc-values parameter, those values will override the "values" inside of your zc-data object. This only works when the `graphset` parameter is ommitted from your zc-json object. It was a design decision to simplify zc-values to target the first object in a graphset, rather than allowing the users to specify which object to target. If you do need the `graphset` parameter in zingchart, then simply use the zc-json object alone.
206 |
207 | ---
208 |
209 |
210 | ### _zc-license [string] ```(optional)```
211 |
212 | Sets the license key to remove the watermark from the chart.
213 | ##### Example:
214 | ```html
215 | //.html
216 |
217 | ```
218 | ```js
219 | //.js
220 | app.controller('MainController', function ($scope) {
221 | $scope.zcLicense = [''];
222 | ```
223 | ---
224 |
225 |
226 | ### _zc-render_ [object] ```(optional)```
227 | ```default : null```
228 |
229 | A ZingChart render object. This is the same object you would use to configure a chart using zingchart.render. You can change the render type, add events, and change other zingchart properties in here. Acts like a pseudo-parent of zc-values and zc-data. zc-render's properties will be overwritten if zc-values and zc-data are defined. More information : http://www.zingchart.com/docs/reference/zingchart-object/#zingchart__render
230 |
231 | Note: This object will not be watched inside the directive. It is a one-time setup. While you can insert your data values into the render object directly, it is encouraged to use the zc-values attribute to enable dynamic updating.
232 |
233 | ##### Example:
234 | ```js
235 | //.js
236 | $scope.myValues = [0,1,2];
237 | $scope.myRender = {
238 | output :'canvas',
239 | events: {
240 | complete : function(p) {...}
241 | }
242 | };
243 |
244 | //.html
245 |
246 | ```
247 |
248 | ---
249 |
250 |
251 | ### _zc-height_ [number] ```(optional)```
252 | ```default : 400```
253 |
254 | Will override the height inside of a zc-render object if defined.
255 | #####Example:
256 | ```html
257 | //.html
258 |
259 | ```
260 |
261 | ---
262 |
263 |
264 | ### _zc-width_ [number] ```(optional)```
265 | ```default : 600```
266 |
267 | Will override the width inside of a zc-render object if defined.
268 | ##### Example:
269 | ```html
270 | //.html
271 |
272 | ```
273 |
274 | ---
275 |
276 |
277 | ### _zc-type_ [string] ```(optional)```
278 | ```default : line```
279 |
280 | Will override the render type inside of a zc-render and zc-data object if defined.
281 | ##### Example:
282 | ```html
283 | //.html
284 |
285 | ```
286 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ZingChart-AngularJS",
3 | "version": "1.2.0",
4 | "description": "ZingChart AngularJS Component wrapper to allow native AngularJS syntax for javascript charts, chart events, chart methods and chart styling.",
5 | "license": "MIT",
6 | "repository": "zingchart/zingchart-angularjs",
7 | "homepage": "https://www.zingchart.com/",
8 | "main": "src/zingchart-angularjs.js",
9 | "keywords": [
10 | "zingchart",
11 | "angularjs",
12 | "charts",
13 | "charting",
14 | "javascript charts",
15 | "html5 charts"
16 | ],
17 | "authors": [
18 | "ZingChart"
19 | ],
20 | "dependencies": {
21 | "zingchart": "latest"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | require('./src/zingchart-angularjs');
2 | module.exports = 'zingchart-angularjs';
3 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration
2 | // Generated on Thu Feb 26 2015 13:16:16 GMT-0800 (PST)
3 |
4 | module.exports = function(config) {
5 | config.set({
6 |
7 | // base path that will be used to resolve all patterns (eg. files, exclude)
8 | basePath: '',
9 |
10 |
11 | // frameworks to use
12 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
13 | frameworks: ['mocha', 'chai'],
14 |
15 |
16 | // list of files / patterns to load in the browser
17 | files: [
18 | './node_modules/zingchart/zingchart.min.js',
19 | './node_modules/angular/angular.js',
20 | './node_modules/jquery/dist/jquery.min.js',
21 | './node_modules/angular-mocks/angular-mocks.js',
22 | './test/*.js',
23 | './src/*.js'
24 | ],
25 |
26 |
27 | // list of files to exclude
28 | exclude: [
29 | ],
30 |
31 |
32 | // preprocess matching files before serving them to the browser
33 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
34 | preprocessors: {
35 | },
36 |
37 |
38 | // test results reporter to use
39 | // possible values: 'dots', 'progress'
40 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
41 | reporters: ['progress'],
42 |
43 |
44 | // web server port
45 | port: 9876,
46 |
47 |
48 | // enable / disable colors in the output (reporters and logs)
49 | colors: true,
50 |
51 |
52 | // level of logging
53 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
54 | logLevel: config.LOG_INFO,
55 |
56 |
57 | // enable / disable watching file and executing tests whenever any file changes
58 | autoWatch: true,
59 |
60 |
61 | // start these browsers
62 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
63 | browsers: ['Chrome'],
64 |
65 |
66 | // Continuous Integration mode
67 | // if true, Karma captures browsers, runs the tests and exits
68 | singleRun: false
69 | });
70 | };
71 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "zingchart-angularjs",
3 | "version": "1.2.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "accepts": {
8 | "version": "1.3.3",
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
10 | "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
11 | "dev": true,
12 | "requires": {
13 | "mime-types": "~2.1.11",
14 | "negotiator": "0.6.1"
15 | }
16 | },
17 | "after": {
18 | "version": "0.8.2",
19 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
20 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
21 | "dev": true
22 | },
23 | "ajv": {
24 | "version": "6.12.3",
25 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
26 | "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
27 | "dev": true,
28 | "requires": {
29 | "fast-deep-equal": "^3.1.1",
30 | "fast-json-stable-stringify": "^2.0.0",
31 | "json-schema-traverse": "^0.4.1",
32 | "uri-js": "^4.2.2"
33 | }
34 | },
35 | "angular": {
36 | "version": "1.8.0",
37 | "resolved": "https://registry.npmjs.org/angular/-/angular-1.8.0.tgz",
38 | "integrity": "sha512-VdaMx+Qk0Skla7B5gw77a8hzlcOakwF8mjlW13DpIWIDlfqwAbSSLfd8N/qZnzEmQF4jC4iofInd3gE7vL8ZZg=="
39 | },
40 | "angular-mocks": {
41 | "version": "1.8.0",
42 | "resolved": "https://registry.npmjs.org/angular-mocks/-/angular-mocks-1.8.0.tgz",
43 | "integrity": "sha512-oFKJIqR6zcsW6V9UQMuUYCXIcTy+n7oYExXxZkvU57hwJQdU1nuNZcSMQA9URiEAPyo7v3bqm0eOP3Ezi7Bigg==",
44 | "dev": true
45 | },
46 | "anymatch": {
47 | "version": "1.3.2",
48 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
49 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
50 | "dev": true,
51 | "requires": {
52 | "micromatch": "^2.1.5",
53 | "normalize-path": "^2.0.0"
54 | }
55 | },
56 | "arr-diff": {
57 | "version": "2.0.0",
58 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
59 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
60 | "dev": true,
61 | "requires": {
62 | "arr-flatten": "^1.0.1"
63 | }
64 | },
65 | "arr-flatten": {
66 | "version": "1.1.0",
67 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
68 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
69 | "dev": true
70 | },
71 | "arr-union": {
72 | "version": "3.1.0",
73 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
74 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
75 | "dev": true
76 | },
77 | "array-slice": {
78 | "version": "0.2.3",
79 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
80 | "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
81 | "dev": true
82 | },
83 | "array-unique": {
84 | "version": "0.2.1",
85 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
86 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
87 | "dev": true
88 | },
89 | "arraybuffer.slice": {
90 | "version": "0.0.6",
91 | "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
92 | "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
93 | "dev": true
94 | },
95 | "asn1": {
96 | "version": "0.2.4",
97 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
98 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
99 | "dev": true,
100 | "requires": {
101 | "safer-buffer": "~2.1.0"
102 | }
103 | },
104 | "assert-plus": {
105 | "version": "1.0.0",
106 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
107 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
108 | "dev": true
109 | },
110 | "assertion-error": {
111 | "version": "1.0.0",
112 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
113 | "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
114 | "dev": true
115 | },
116 | "assign-symbols": {
117 | "version": "1.0.0",
118 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
119 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
120 | "dev": true
121 | },
122 | "async-each": {
123 | "version": "1.0.3",
124 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
125 | "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
126 | "dev": true
127 | },
128 | "asynckit": {
129 | "version": "0.4.0",
130 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
131 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
132 | "dev": true
133 | },
134 | "atob": {
135 | "version": "2.1.2",
136 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
137 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
138 | "dev": true
139 | },
140 | "aws-sign2": {
141 | "version": "0.7.0",
142 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
143 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
144 | "dev": true
145 | },
146 | "aws4": {
147 | "version": "1.10.0",
148 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
149 | "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
150 | "dev": true
151 | },
152 | "backo2": {
153 | "version": "1.0.2",
154 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
155 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
156 | "dev": true
157 | },
158 | "balanced-match": {
159 | "version": "1.0.0",
160 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
161 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
162 | "dev": true
163 | },
164 | "base": {
165 | "version": "0.11.2",
166 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
167 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
168 | "dev": true,
169 | "requires": {
170 | "cache-base": "^1.0.1",
171 | "class-utils": "^0.3.5",
172 | "component-emitter": "^1.2.1",
173 | "define-property": "^1.0.0",
174 | "isobject": "^3.0.1",
175 | "mixin-deep": "^1.2.0",
176 | "pascalcase": "^0.1.1"
177 | },
178 | "dependencies": {
179 | "define-property": {
180 | "version": "1.0.0",
181 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
182 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
183 | "dev": true,
184 | "requires": {
185 | "is-descriptor": "^1.0.0"
186 | }
187 | },
188 | "is-accessor-descriptor": {
189 | "version": "1.0.0",
190 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
191 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
192 | "dev": true,
193 | "requires": {
194 | "kind-of": "^6.0.0"
195 | }
196 | },
197 | "is-data-descriptor": {
198 | "version": "1.0.0",
199 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
200 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
201 | "dev": true,
202 | "requires": {
203 | "kind-of": "^6.0.0"
204 | }
205 | },
206 | "is-descriptor": {
207 | "version": "1.0.2",
208 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
209 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
210 | "dev": true,
211 | "requires": {
212 | "is-accessor-descriptor": "^1.0.0",
213 | "is-data-descriptor": "^1.0.0",
214 | "kind-of": "^6.0.2"
215 | }
216 | },
217 | "isobject": {
218 | "version": "3.0.1",
219 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
220 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
221 | "dev": true
222 | },
223 | "kind-of": {
224 | "version": "6.0.3",
225 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
226 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
227 | "dev": true
228 | }
229 | }
230 | },
231 | "base64-arraybuffer": {
232 | "version": "0.1.5",
233 | "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
234 | "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
235 | "dev": true
236 | },
237 | "base64id": {
238 | "version": "1.0.0",
239 | "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
240 | "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
241 | "dev": true
242 | },
243 | "bcrypt-pbkdf": {
244 | "version": "1.0.2",
245 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
246 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
247 | "dev": true,
248 | "requires": {
249 | "tweetnacl": "^0.14.3"
250 | }
251 | },
252 | "better-assert": {
253 | "version": "1.0.2",
254 | "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
255 | "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
256 | "dev": true,
257 | "requires": {
258 | "callsite": "1.0.0"
259 | }
260 | },
261 | "binary-extensions": {
262 | "version": "1.13.1",
263 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
264 | "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
265 | "dev": true
266 | },
267 | "bindings": {
268 | "version": "1.5.0",
269 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
270 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
271 | "dev": true,
272 | "optional": true,
273 | "requires": {
274 | "file-uri-to-path": "1.0.0"
275 | }
276 | },
277 | "blob": {
278 | "version": "0.0.4",
279 | "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
280 | "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
281 | "dev": true
282 | },
283 | "bluebird": {
284 | "version": "3.7.2",
285 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
286 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
287 | "dev": true
288 | },
289 | "body-parser": {
290 | "version": "1.19.0",
291 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
292 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
293 | "dev": true,
294 | "requires": {
295 | "bytes": "3.1.0",
296 | "content-type": "~1.0.4",
297 | "debug": "2.6.9",
298 | "depd": "~1.1.2",
299 | "http-errors": "1.7.2",
300 | "iconv-lite": "0.4.24",
301 | "on-finished": "~2.3.0",
302 | "qs": "6.7.0",
303 | "raw-body": "2.4.0",
304 | "type-is": "~1.6.17"
305 | }
306 | },
307 | "brace-expansion": {
308 | "version": "1.1.11",
309 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
310 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
311 | "dev": true,
312 | "requires": {
313 | "balanced-match": "^1.0.0",
314 | "concat-map": "0.0.1"
315 | }
316 | },
317 | "braces": {
318 | "version": "1.8.5",
319 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
320 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
321 | "dev": true,
322 | "requires": {
323 | "expand-range": "^1.8.1",
324 | "preserve": "^0.2.0",
325 | "repeat-element": "^1.1.2"
326 | }
327 | },
328 | "buffer-alloc": {
329 | "version": "1.2.0",
330 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
331 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
332 | "dev": true,
333 | "requires": {
334 | "buffer-alloc-unsafe": "^1.1.0",
335 | "buffer-fill": "^1.0.0"
336 | }
337 | },
338 | "buffer-alloc-unsafe": {
339 | "version": "1.1.0",
340 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
341 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
342 | "dev": true
343 | },
344 | "buffer-crc32": {
345 | "version": "0.2.13",
346 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
347 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
348 | "dev": true
349 | },
350 | "buffer-fill": {
351 | "version": "1.0.0",
352 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
353 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
354 | "dev": true
355 | },
356 | "buffer-from": {
357 | "version": "1.1.1",
358 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
359 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
360 | "dev": true
361 | },
362 | "bytes": {
363 | "version": "3.1.0",
364 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
365 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
366 | "dev": true
367 | },
368 | "cache-base": {
369 | "version": "1.0.1",
370 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
371 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
372 | "dev": true,
373 | "requires": {
374 | "collection-visit": "^1.0.0",
375 | "component-emitter": "^1.2.1",
376 | "get-value": "^2.0.6",
377 | "has-value": "^1.0.0",
378 | "isobject": "^3.0.1",
379 | "set-value": "^2.0.0",
380 | "to-object-path": "^0.3.0",
381 | "union-value": "^1.0.0",
382 | "unset-value": "^1.0.0"
383 | },
384 | "dependencies": {
385 | "isobject": {
386 | "version": "3.0.1",
387 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
388 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
389 | "dev": true
390 | }
391 | }
392 | },
393 | "callsite": {
394 | "version": "1.0.0",
395 | "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
396 | "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
397 | "dev": true
398 | },
399 | "caseless": {
400 | "version": "0.12.0",
401 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
402 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
403 | "dev": true
404 | },
405 | "chai": {
406 | "version": "2.3.0",
407 | "resolved": "https://registry.npmjs.org/chai/-/chai-2.3.0.tgz",
408 | "integrity": "sha1-ii9qNHSNqAEJD9cyh7Kqc5pOkJo=",
409 | "dev": true,
410 | "requires": {
411 | "assertion-error": "1.0.0",
412 | "deep-eql": "0.1.3"
413 | }
414 | },
415 | "chokidar": {
416 | "version": "1.7.0",
417 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
418 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
419 | "dev": true,
420 | "requires": {
421 | "anymatch": "^1.3.0",
422 | "async-each": "^1.0.0",
423 | "fsevents": "^1.0.0",
424 | "glob-parent": "^2.0.0",
425 | "inherits": "^2.0.1",
426 | "is-binary-path": "^1.0.0",
427 | "is-glob": "^2.0.0",
428 | "path-is-absolute": "^1.0.0",
429 | "readdirp": "^2.0.0"
430 | }
431 | },
432 | "class-utils": {
433 | "version": "0.3.6",
434 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
435 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
436 | "dev": true,
437 | "requires": {
438 | "arr-union": "^3.1.0",
439 | "define-property": "^0.2.5",
440 | "isobject": "^3.0.0",
441 | "static-extend": "^0.1.1"
442 | },
443 | "dependencies": {
444 | "define-property": {
445 | "version": "0.2.5",
446 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
447 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
448 | "dev": true,
449 | "requires": {
450 | "is-descriptor": "^0.1.0"
451 | }
452 | },
453 | "isobject": {
454 | "version": "3.0.1",
455 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
456 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
457 | "dev": true
458 | }
459 | }
460 | },
461 | "collection-visit": {
462 | "version": "1.0.0",
463 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
464 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
465 | "dev": true,
466 | "requires": {
467 | "map-visit": "^1.0.0",
468 | "object-visit": "^1.0.0"
469 | }
470 | },
471 | "colors": {
472 | "version": "1.4.0",
473 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
474 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
475 | "dev": true
476 | },
477 | "combine-lists": {
478 | "version": "1.0.1",
479 | "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
480 | "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
481 | "dev": true,
482 | "requires": {
483 | "lodash": "^4.5.0"
484 | },
485 | "dependencies": {
486 | "lodash": {
487 | "version": "4.17.19",
488 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
489 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
490 | "dev": true
491 | }
492 | }
493 | },
494 | "combined-stream": {
495 | "version": "1.0.8",
496 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
497 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
498 | "dev": true,
499 | "requires": {
500 | "delayed-stream": "~1.0.0"
501 | }
502 | },
503 | "commander": {
504 | "version": "2.3.0",
505 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
506 | "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=",
507 | "dev": true
508 | },
509 | "component-bind": {
510 | "version": "1.0.0",
511 | "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
512 | "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
513 | "dev": true
514 | },
515 | "component-emitter": {
516 | "version": "1.3.0",
517 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
518 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
519 | "dev": true
520 | },
521 | "component-inherit": {
522 | "version": "0.0.3",
523 | "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
524 | "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
525 | "dev": true
526 | },
527 | "concat-map": {
528 | "version": "0.0.1",
529 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
530 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
531 | "dev": true
532 | },
533 | "concat-stream": {
534 | "version": "1.6.2",
535 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
536 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
537 | "dev": true,
538 | "requires": {
539 | "buffer-from": "^1.0.0",
540 | "inherits": "^2.0.3",
541 | "readable-stream": "^2.2.2",
542 | "typedarray": "^0.0.6"
543 | }
544 | },
545 | "connect": {
546 | "version": "3.7.0",
547 | "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
548 | "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
549 | "dev": true,
550 | "requires": {
551 | "debug": "2.6.9",
552 | "finalhandler": "1.1.2",
553 | "parseurl": "~1.3.3",
554 | "utils-merge": "1.0.1"
555 | }
556 | },
557 | "content-type": {
558 | "version": "1.0.4",
559 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
560 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
561 | "dev": true
562 | },
563 | "cookie": {
564 | "version": "0.3.1",
565 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
566 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
567 | "dev": true
568 | },
569 | "copy-descriptor": {
570 | "version": "0.1.1",
571 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
572 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
573 | "dev": true
574 | },
575 | "core-js": {
576 | "version": "2.6.11",
577 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
578 | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
579 | "dev": true
580 | },
581 | "core-util-is": {
582 | "version": "1.0.2",
583 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
584 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
585 | "dev": true
586 | },
587 | "custom-event": {
588 | "version": "1.0.1",
589 | "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
590 | "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
591 | "dev": true
592 | },
593 | "dashdash": {
594 | "version": "1.14.1",
595 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
596 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
597 | "dev": true,
598 | "requires": {
599 | "assert-plus": "^1.0.0"
600 | }
601 | },
602 | "debug": {
603 | "version": "2.6.9",
604 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
605 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
606 | "dev": true,
607 | "requires": {
608 | "ms": "2.0.0"
609 | }
610 | },
611 | "decode-uri-component": {
612 | "version": "0.2.0",
613 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
614 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
615 | "dev": true
616 | },
617 | "deep-eql": {
618 | "version": "0.1.3",
619 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
620 | "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
621 | "dev": true,
622 | "requires": {
623 | "type-detect": "0.1.1"
624 | }
625 | },
626 | "define-property": {
627 | "version": "2.0.2",
628 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
629 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
630 | "dev": true,
631 | "requires": {
632 | "is-descriptor": "^1.0.2",
633 | "isobject": "^3.0.1"
634 | },
635 | "dependencies": {
636 | "is-accessor-descriptor": {
637 | "version": "1.0.0",
638 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
639 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
640 | "dev": true,
641 | "requires": {
642 | "kind-of": "^6.0.0"
643 | }
644 | },
645 | "is-data-descriptor": {
646 | "version": "1.0.0",
647 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
648 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
649 | "dev": true,
650 | "requires": {
651 | "kind-of": "^6.0.0"
652 | }
653 | },
654 | "is-descriptor": {
655 | "version": "1.0.2",
656 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
657 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
658 | "dev": true,
659 | "requires": {
660 | "is-accessor-descriptor": "^1.0.0",
661 | "is-data-descriptor": "^1.0.0",
662 | "kind-of": "^6.0.2"
663 | }
664 | },
665 | "isobject": {
666 | "version": "3.0.1",
667 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
668 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
669 | "dev": true
670 | },
671 | "kind-of": {
672 | "version": "6.0.3",
673 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
674 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
675 | "dev": true
676 | }
677 | }
678 | },
679 | "delayed-stream": {
680 | "version": "1.0.0",
681 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
682 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
683 | "dev": true
684 | },
685 | "depd": {
686 | "version": "1.1.2",
687 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
688 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
689 | "dev": true
690 | },
691 | "di": {
692 | "version": "0.0.1",
693 | "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
694 | "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
695 | "dev": true
696 | },
697 | "diff": {
698 | "version": "1.4.0",
699 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
700 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
701 | "dev": true
702 | },
703 | "dom-serialize": {
704 | "version": "2.2.1",
705 | "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
706 | "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
707 | "dev": true,
708 | "requires": {
709 | "custom-event": "~1.0.0",
710 | "ent": "~2.2.0",
711 | "extend": "^3.0.0",
712 | "void-elements": "^2.0.0"
713 | }
714 | },
715 | "ecc-jsbn": {
716 | "version": "0.1.2",
717 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
718 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
719 | "dev": true,
720 | "requires": {
721 | "jsbn": "~0.1.0",
722 | "safer-buffer": "^2.1.0"
723 | }
724 | },
725 | "ee-first": {
726 | "version": "1.1.1",
727 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
728 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
729 | "dev": true
730 | },
731 | "encodeurl": {
732 | "version": "1.0.2",
733 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
734 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
735 | "dev": true
736 | },
737 | "engine.io": {
738 | "version": "1.8.3",
739 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
740 | "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
741 | "dev": true,
742 | "requires": {
743 | "accepts": "1.3.3",
744 | "base64id": "1.0.0",
745 | "cookie": "0.3.1",
746 | "debug": "2.3.3",
747 | "engine.io-parser": "1.3.2",
748 | "ws": "1.1.2"
749 | },
750 | "dependencies": {
751 | "debug": {
752 | "version": "2.3.3",
753 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
754 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
755 | "dev": true,
756 | "requires": {
757 | "ms": "0.7.2"
758 | }
759 | },
760 | "ms": {
761 | "version": "0.7.2",
762 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
763 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
764 | "dev": true
765 | }
766 | }
767 | },
768 | "engine.io-client": {
769 | "version": "1.8.3",
770 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
771 | "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
772 | "dev": true,
773 | "requires": {
774 | "component-emitter": "1.2.1",
775 | "component-inherit": "0.0.3",
776 | "debug": "2.3.3",
777 | "engine.io-parser": "1.3.2",
778 | "has-cors": "1.1.0",
779 | "indexof": "0.0.1",
780 | "parsejson": "0.0.3",
781 | "parseqs": "0.0.5",
782 | "parseuri": "0.0.5",
783 | "ws": "1.1.2",
784 | "xmlhttprequest-ssl": "1.5.3",
785 | "yeast": "0.1.2"
786 | },
787 | "dependencies": {
788 | "component-emitter": {
789 | "version": "1.2.1",
790 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
791 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
792 | "dev": true
793 | },
794 | "debug": {
795 | "version": "2.3.3",
796 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
797 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
798 | "dev": true,
799 | "requires": {
800 | "ms": "0.7.2"
801 | }
802 | },
803 | "ms": {
804 | "version": "0.7.2",
805 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
806 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
807 | "dev": true
808 | }
809 | }
810 | },
811 | "engine.io-parser": {
812 | "version": "1.3.2",
813 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
814 | "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
815 | "dev": true,
816 | "requires": {
817 | "after": "0.8.2",
818 | "arraybuffer.slice": "0.0.6",
819 | "base64-arraybuffer": "0.1.5",
820 | "blob": "0.0.4",
821 | "has-binary": "0.1.7",
822 | "wtf-8": "1.0.0"
823 | }
824 | },
825 | "ent": {
826 | "version": "2.2.0",
827 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
828 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
829 | "dev": true
830 | },
831 | "es6-promise": {
832 | "version": "4.2.8",
833 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
834 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
835 | "dev": true
836 | },
837 | "escape-html": {
838 | "version": "1.0.3",
839 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
840 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
841 | "dev": true
842 | },
843 | "escape-string-regexp": {
844 | "version": "1.0.2",
845 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
846 | "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=",
847 | "dev": true
848 | },
849 | "eventemitter3": {
850 | "version": "4.0.4",
851 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
852 | "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
853 | "dev": true
854 | },
855 | "expand-braces": {
856 | "version": "0.1.2",
857 | "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
858 | "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
859 | "dev": true,
860 | "requires": {
861 | "array-slice": "^0.2.3",
862 | "array-unique": "^0.2.1",
863 | "braces": "^0.1.2"
864 | },
865 | "dependencies": {
866 | "braces": {
867 | "version": "0.1.5",
868 | "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
869 | "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
870 | "dev": true,
871 | "requires": {
872 | "expand-range": "^0.1.0"
873 | }
874 | },
875 | "expand-range": {
876 | "version": "0.1.1",
877 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
878 | "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
879 | "dev": true,
880 | "requires": {
881 | "is-number": "^0.1.1",
882 | "repeat-string": "^0.2.2"
883 | }
884 | },
885 | "is-number": {
886 | "version": "0.1.1",
887 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
888 | "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
889 | "dev": true
890 | },
891 | "repeat-string": {
892 | "version": "0.2.2",
893 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
894 | "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
895 | "dev": true
896 | }
897 | }
898 | },
899 | "expand-brackets": {
900 | "version": "0.1.5",
901 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
902 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
903 | "dev": true,
904 | "requires": {
905 | "is-posix-bracket": "^0.1.0"
906 | }
907 | },
908 | "expand-range": {
909 | "version": "1.8.2",
910 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
911 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
912 | "dev": true,
913 | "requires": {
914 | "fill-range": "^2.1.0"
915 | }
916 | },
917 | "extend": {
918 | "version": "3.0.2",
919 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
920 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
921 | "dev": true
922 | },
923 | "extend-shallow": {
924 | "version": "3.0.2",
925 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
926 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
927 | "dev": true,
928 | "requires": {
929 | "assign-symbols": "^1.0.0",
930 | "is-extendable": "^1.0.1"
931 | },
932 | "dependencies": {
933 | "is-extendable": {
934 | "version": "1.0.1",
935 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
936 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
937 | "dev": true,
938 | "requires": {
939 | "is-plain-object": "^2.0.4"
940 | }
941 | }
942 | }
943 | },
944 | "extglob": {
945 | "version": "0.3.2",
946 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
947 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
948 | "dev": true,
949 | "requires": {
950 | "is-extglob": "^1.0.0"
951 | }
952 | },
953 | "extract-zip": {
954 | "version": "1.7.0",
955 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
956 | "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
957 | "dev": true,
958 | "requires": {
959 | "concat-stream": "^1.6.2",
960 | "debug": "^2.6.9",
961 | "mkdirp": "^0.5.4",
962 | "yauzl": "^2.10.0"
963 | }
964 | },
965 | "extsprintf": {
966 | "version": "1.3.0",
967 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
968 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
969 | "dev": true
970 | },
971 | "fast-deep-equal": {
972 | "version": "3.1.3",
973 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
974 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
975 | "dev": true
976 | },
977 | "fast-json-stable-stringify": {
978 | "version": "2.1.0",
979 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
980 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
981 | "dev": true
982 | },
983 | "fd-slicer": {
984 | "version": "1.1.0",
985 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
986 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
987 | "dev": true,
988 | "requires": {
989 | "pend": "~1.2.0"
990 | }
991 | },
992 | "file-uri-to-path": {
993 | "version": "1.0.0",
994 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
995 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
996 | "dev": true,
997 | "optional": true
998 | },
999 | "filename-regex": {
1000 | "version": "2.0.1",
1001 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
1002 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
1003 | "dev": true
1004 | },
1005 | "fill-range": {
1006 | "version": "2.2.4",
1007 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
1008 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
1009 | "dev": true,
1010 | "requires": {
1011 | "is-number": "^2.1.0",
1012 | "isobject": "^2.0.0",
1013 | "randomatic": "^3.0.0",
1014 | "repeat-element": "^1.1.2",
1015 | "repeat-string": "^1.5.2"
1016 | }
1017 | },
1018 | "finalhandler": {
1019 | "version": "1.1.2",
1020 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
1021 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
1022 | "dev": true,
1023 | "requires": {
1024 | "debug": "2.6.9",
1025 | "encodeurl": "~1.0.2",
1026 | "escape-html": "~1.0.3",
1027 | "on-finished": "~2.3.0",
1028 | "parseurl": "~1.3.3",
1029 | "statuses": "~1.5.0",
1030 | "unpipe": "~1.0.0"
1031 | }
1032 | },
1033 | "follow-redirects": {
1034 | "version": "1.13.0",
1035 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
1036 | "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==",
1037 | "dev": true
1038 | },
1039 | "for-in": {
1040 | "version": "1.0.2",
1041 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1042 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1043 | "dev": true
1044 | },
1045 | "for-own": {
1046 | "version": "0.1.5",
1047 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
1048 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
1049 | "dev": true,
1050 | "requires": {
1051 | "for-in": "^1.0.1"
1052 | }
1053 | },
1054 | "forever-agent": {
1055 | "version": "0.6.1",
1056 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1057 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
1058 | "dev": true
1059 | },
1060 | "form-data": {
1061 | "version": "2.3.3",
1062 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1063 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1064 | "dev": true,
1065 | "requires": {
1066 | "asynckit": "^0.4.0",
1067 | "combined-stream": "^1.0.6",
1068 | "mime-types": "^2.1.12"
1069 | }
1070 | },
1071 | "fragment-cache": {
1072 | "version": "0.2.1",
1073 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1074 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1075 | "dev": true,
1076 | "requires": {
1077 | "map-cache": "^0.2.2"
1078 | }
1079 | },
1080 | "fs-extra": {
1081 | "version": "1.0.0",
1082 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
1083 | "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
1084 | "dev": true,
1085 | "requires": {
1086 | "graceful-fs": "^4.1.2",
1087 | "jsonfile": "^2.1.0",
1088 | "klaw": "^1.0.0"
1089 | }
1090 | },
1091 | "fs.realpath": {
1092 | "version": "1.0.0",
1093 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1094 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1095 | "dev": true
1096 | },
1097 | "fsevents": {
1098 | "version": "1.2.13",
1099 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
1100 | "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
1101 | "dev": true,
1102 | "optional": true,
1103 | "requires": {
1104 | "bindings": "^1.5.0",
1105 | "nan": "^2.12.1"
1106 | }
1107 | },
1108 | "get-value": {
1109 | "version": "2.0.6",
1110 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1111 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1112 | "dev": true
1113 | },
1114 | "getpass": {
1115 | "version": "0.1.7",
1116 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1117 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1118 | "dev": true,
1119 | "requires": {
1120 | "assert-plus": "^1.0.0"
1121 | }
1122 | },
1123 | "glob": {
1124 | "version": "7.1.6",
1125 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1126 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1127 | "dev": true,
1128 | "requires": {
1129 | "fs.realpath": "^1.0.0",
1130 | "inflight": "^1.0.4",
1131 | "inherits": "2",
1132 | "minimatch": "^3.0.4",
1133 | "once": "^1.3.0",
1134 | "path-is-absolute": "^1.0.0"
1135 | }
1136 | },
1137 | "glob-base": {
1138 | "version": "0.3.0",
1139 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1140 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1141 | "dev": true,
1142 | "requires": {
1143 | "glob-parent": "^2.0.0",
1144 | "is-glob": "^2.0.0"
1145 | }
1146 | },
1147 | "glob-parent": {
1148 | "version": "2.0.0",
1149 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1150 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1151 | "dev": true,
1152 | "requires": {
1153 | "is-glob": "^2.0.0"
1154 | }
1155 | },
1156 | "graceful-fs": {
1157 | "version": "4.2.4",
1158 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1159 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
1160 | "dev": true
1161 | },
1162 | "growl": {
1163 | "version": "1.9.2",
1164 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
1165 | "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
1166 | "dev": true
1167 | },
1168 | "har-schema": {
1169 | "version": "2.0.0",
1170 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1171 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
1172 | "dev": true
1173 | },
1174 | "har-validator": {
1175 | "version": "5.1.5",
1176 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1177 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1178 | "dev": true,
1179 | "requires": {
1180 | "ajv": "^6.12.3",
1181 | "har-schema": "^2.0.0"
1182 | }
1183 | },
1184 | "has-binary": {
1185 | "version": "0.1.7",
1186 | "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
1187 | "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
1188 | "dev": true,
1189 | "requires": {
1190 | "isarray": "0.0.1"
1191 | },
1192 | "dependencies": {
1193 | "isarray": {
1194 | "version": "0.0.1",
1195 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1196 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
1197 | "dev": true
1198 | }
1199 | }
1200 | },
1201 | "has-cors": {
1202 | "version": "1.1.0",
1203 | "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
1204 | "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
1205 | "dev": true
1206 | },
1207 | "has-value": {
1208 | "version": "1.0.0",
1209 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1210 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1211 | "dev": true,
1212 | "requires": {
1213 | "get-value": "^2.0.6",
1214 | "has-values": "^1.0.0",
1215 | "isobject": "^3.0.0"
1216 | },
1217 | "dependencies": {
1218 | "isobject": {
1219 | "version": "3.0.1",
1220 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1221 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1222 | "dev": true
1223 | }
1224 | }
1225 | },
1226 | "has-values": {
1227 | "version": "1.0.0",
1228 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1229 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1230 | "dev": true,
1231 | "requires": {
1232 | "is-number": "^3.0.0",
1233 | "kind-of": "^4.0.0"
1234 | },
1235 | "dependencies": {
1236 | "is-number": {
1237 | "version": "3.0.0",
1238 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1239 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1240 | "dev": true,
1241 | "requires": {
1242 | "kind-of": "^3.0.2"
1243 | },
1244 | "dependencies": {
1245 | "kind-of": {
1246 | "version": "3.2.2",
1247 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1248 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1249 | "dev": true,
1250 | "requires": {
1251 | "is-buffer": "^1.1.5"
1252 | }
1253 | }
1254 | }
1255 | },
1256 | "kind-of": {
1257 | "version": "4.0.0",
1258 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1259 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1260 | "dev": true,
1261 | "requires": {
1262 | "is-buffer": "^1.1.5"
1263 | }
1264 | }
1265 | }
1266 | },
1267 | "hasha": {
1268 | "version": "2.2.0",
1269 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
1270 | "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
1271 | "dev": true,
1272 | "requires": {
1273 | "is-stream": "^1.0.1",
1274 | "pinkie-promise": "^2.0.0"
1275 | }
1276 | },
1277 | "http-errors": {
1278 | "version": "1.7.2",
1279 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
1280 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
1281 | "dev": true,
1282 | "requires": {
1283 | "depd": "~1.1.2",
1284 | "inherits": "2.0.3",
1285 | "setprototypeof": "1.1.1",
1286 | "statuses": ">= 1.5.0 < 2",
1287 | "toidentifier": "1.0.0"
1288 | }
1289 | },
1290 | "http-proxy": {
1291 | "version": "1.18.1",
1292 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
1293 | "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
1294 | "dev": true,
1295 | "requires": {
1296 | "eventemitter3": "^4.0.0",
1297 | "follow-redirects": "^1.0.0",
1298 | "requires-port": "^1.0.0"
1299 | }
1300 | },
1301 | "http-signature": {
1302 | "version": "1.2.0",
1303 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1304 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1305 | "dev": true,
1306 | "requires": {
1307 | "assert-plus": "^1.0.0",
1308 | "jsprim": "^1.2.2",
1309 | "sshpk": "^1.7.0"
1310 | }
1311 | },
1312 | "iconv-lite": {
1313 | "version": "0.4.24",
1314 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1315 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1316 | "dev": true,
1317 | "requires": {
1318 | "safer-buffer": ">= 2.1.2 < 3"
1319 | }
1320 | },
1321 | "indexof": {
1322 | "version": "0.0.1",
1323 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
1324 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
1325 | "dev": true
1326 | },
1327 | "inflight": {
1328 | "version": "1.0.6",
1329 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1330 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1331 | "dev": true,
1332 | "requires": {
1333 | "once": "^1.3.0",
1334 | "wrappy": "1"
1335 | }
1336 | },
1337 | "inherits": {
1338 | "version": "2.0.3",
1339 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1340 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
1341 | "dev": true
1342 | },
1343 | "is-accessor-descriptor": {
1344 | "version": "0.1.6",
1345 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1346 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1347 | "dev": true,
1348 | "requires": {
1349 | "kind-of": "^3.0.2"
1350 | }
1351 | },
1352 | "is-binary-path": {
1353 | "version": "1.0.1",
1354 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1355 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1356 | "dev": true,
1357 | "requires": {
1358 | "binary-extensions": "^1.0.0"
1359 | }
1360 | },
1361 | "is-buffer": {
1362 | "version": "1.1.6",
1363 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1364 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1365 | "dev": true
1366 | },
1367 | "is-data-descriptor": {
1368 | "version": "0.1.4",
1369 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1370 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1371 | "dev": true,
1372 | "requires": {
1373 | "kind-of": "^3.0.2"
1374 | }
1375 | },
1376 | "is-descriptor": {
1377 | "version": "0.1.6",
1378 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
1379 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
1380 | "dev": true,
1381 | "requires": {
1382 | "is-accessor-descriptor": "^0.1.6",
1383 | "is-data-descriptor": "^0.1.4",
1384 | "kind-of": "^5.0.0"
1385 | },
1386 | "dependencies": {
1387 | "kind-of": {
1388 | "version": "5.1.0",
1389 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1390 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1391 | "dev": true
1392 | }
1393 | }
1394 | },
1395 | "is-dotfile": {
1396 | "version": "1.0.3",
1397 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1398 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1399 | "dev": true
1400 | },
1401 | "is-equal-shallow": {
1402 | "version": "0.1.3",
1403 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1404 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1405 | "dev": true,
1406 | "requires": {
1407 | "is-primitive": "^2.0.0"
1408 | }
1409 | },
1410 | "is-extendable": {
1411 | "version": "0.1.1",
1412 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1413 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1414 | "dev": true
1415 | },
1416 | "is-extglob": {
1417 | "version": "1.0.0",
1418 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1419 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1420 | "dev": true
1421 | },
1422 | "is-glob": {
1423 | "version": "2.0.1",
1424 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1425 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1426 | "dev": true,
1427 | "requires": {
1428 | "is-extglob": "^1.0.0"
1429 | }
1430 | },
1431 | "is-number": {
1432 | "version": "2.1.0",
1433 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1434 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1435 | "dev": true,
1436 | "requires": {
1437 | "kind-of": "^3.0.2"
1438 | }
1439 | },
1440 | "is-plain-object": {
1441 | "version": "2.0.4",
1442 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1443 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1444 | "dev": true,
1445 | "requires": {
1446 | "isobject": "^3.0.1"
1447 | },
1448 | "dependencies": {
1449 | "isobject": {
1450 | "version": "3.0.1",
1451 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1452 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1453 | "dev": true
1454 | }
1455 | }
1456 | },
1457 | "is-posix-bracket": {
1458 | "version": "0.1.1",
1459 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1460 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1461 | "dev": true
1462 | },
1463 | "is-primitive": {
1464 | "version": "2.0.0",
1465 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1466 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1467 | "dev": true
1468 | },
1469 | "is-stream": {
1470 | "version": "1.1.0",
1471 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1472 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
1473 | "dev": true
1474 | },
1475 | "is-typedarray": {
1476 | "version": "1.0.0",
1477 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1478 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
1479 | "dev": true
1480 | },
1481 | "is-windows": {
1482 | "version": "1.0.2",
1483 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1484 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1485 | "dev": true
1486 | },
1487 | "isarray": {
1488 | "version": "1.0.0",
1489 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1490 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1491 | "dev": true
1492 | },
1493 | "isbinaryfile": {
1494 | "version": "3.0.3",
1495 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
1496 | "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
1497 | "dev": true,
1498 | "requires": {
1499 | "buffer-alloc": "^1.2.0"
1500 | }
1501 | },
1502 | "isexe": {
1503 | "version": "2.0.0",
1504 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1505 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1506 | "dev": true
1507 | },
1508 | "isobject": {
1509 | "version": "2.1.0",
1510 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1511 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1512 | "dev": true,
1513 | "requires": {
1514 | "isarray": "1.0.0"
1515 | }
1516 | },
1517 | "isstream": {
1518 | "version": "0.1.2",
1519 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1520 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
1521 | "dev": true
1522 | },
1523 | "jade": {
1524 | "version": "0.26.3",
1525 | "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
1526 | "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
1527 | "dev": true,
1528 | "requires": {
1529 | "commander": "0.6.1",
1530 | "mkdirp": "0.3.0"
1531 | },
1532 | "dependencies": {
1533 | "commander": {
1534 | "version": "0.6.1",
1535 | "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
1536 | "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=",
1537 | "dev": true
1538 | },
1539 | "mkdirp": {
1540 | "version": "0.3.0",
1541 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
1542 | "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",
1543 | "dev": true
1544 | }
1545 | }
1546 | },
1547 | "jquery": {
1548 | "version": "2.2.4",
1549 | "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz",
1550 | "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=",
1551 | "dev": true
1552 | },
1553 | "jsbn": {
1554 | "version": "0.1.1",
1555 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1556 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
1557 | "dev": true
1558 | },
1559 | "json-schema": {
1560 | "version": "0.2.3",
1561 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1562 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
1563 | "dev": true
1564 | },
1565 | "json-schema-traverse": {
1566 | "version": "0.4.1",
1567 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1568 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1569 | "dev": true
1570 | },
1571 | "json-stringify-safe": {
1572 | "version": "5.0.1",
1573 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1574 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
1575 | "dev": true
1576 | },
1577 | "json3": {
1578 | "version": "3.3.2",
1579 | "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
1580 | "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
1581 | "dev": true
1582 | },
1583 | "jsonfile": {
1584 | "version": "2.4.0",
1585 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
1586 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
1587 | "dev": true,
1588 | "requires": {
1589 | "graceful-fs": "^4.1.6"
1590 | }
1591 | },
1592 | "jsprim": {
1593 | "version": "1.4.1",
1594 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1595 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1596 | "dev": true,
1597 | "requires": {
1598 | "assert-plus": "1.0.0",
1599 | "extsprintf": "1.3.0",
1600 | "json-schema": "0.2.3",
1601 | "verror": "1.10.0"
1602 | }
1603 | },
1604 | "karma": {
1605 | "version": "1.7.1",
1606 | "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
1607 | "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==",
1608 | "dev": true,
1609 | "requires": {
1610 | "bluebird": "^3.3.0",
1611 | "body-parser": "^1.16.1",
1612 | "chokidar": "^1.4.1",
1613 | "colors": "^1.1.0",
1614 | "combine-lists": "^1.0.0",
1615 | "connect": "^3.6.0",
1616 | "core-js": "^2.2.0",
1617 | "di": "^0.0.1",
1618 | "dom-serialize": "^2.2.0",
1619 | "expand-braces": "^0.1.1",
1620 | "glob": "^7.1.1",
1621 | "graceful-fs": "^4.1.2",
1622 | "http-proxy": "^1.13.0",
1623 | "isbinaryfile": "^3.0.0",
1624 | "lodash": "^3.8.0",
1625 | "log4js": "^0.6.31",
1626 | "mime": "^1.3.4",
1627 | "minimatch": "^3.0.2",
1628 | "optimist": "^0.6.1",
1629 | "qjobs": "^1.1.4",
1630 | "range-parser": "^1.2.0",
1631 | "rimraf": "^2.6.0",
1632 | "safe-buffer": "^5.0.1",
1633 | "socket.io": "1.7.3",
1634 | "source-map": "^0.5.3",
1635 | "tmp": "0.0.31",
1636 | "useragent": "^2.1.12"
1637 | }
1638 | },
1639 | "karma-chai": {
1640 | "version": "0.1.0",
1641 | "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",
1642 | "integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=",
1643 | "dev": true
1644 | },
1645 | "karma-chrome-launcher": {
1646 | "version": "0.1.12",
1647 | "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.12.tgz",
1648 | "integrity": "sha1-CsDiLlc2UPZUExL9ynlcOCTM+WI=",
1649 | "dev": true,
1650 | "requires": {
1651 | "which": "^1.0.9"
1652 | }
1653 | },
1654 | "karma-jasmine": {
1655 | "version": "1.1.2",
1656 | "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
1657 | "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
1658 | "dev": true
1659 | },
1660 | "karma-mocha": {
1661 | "version": "0.1.10",
1662 | "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.10.tgz",
1663 | "integrity": "sha1-Ke1R1LEhrxNzRE7FVbIKkFv0K5I=",
1664 | "dev": true
1665 | },
1666 | "karma-phantomjs-launcher": {
1667 | "version": "1.0.4",
1668 | "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
1669 | "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
1670 | "dev": true,
1671 | "requires": {
1672 | "lodash": "^4.0.1",
1673 | "phantomjs-prebuilt": "^2.1.7"
1674 | },
1675 | "dependencies": {
1676 | "lodash": {
1677 | "version": "4.17.19",
1678 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
1679 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
1680 | "dev": true
1681 | }
1682 | }
1683 | },
1684 | "kew": {
1685 | "version": "0.7.0",
1686 | "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
1687 | "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
1688 | "dev": true
1689 | },
1690 | "kind-of": {
1691 | "version": "3.2.2",
1692 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1693 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1694 | "dev": true,
1695 | "requires": {
1696 | "is-buffer": "^1.1.5"
1697 | }
1698 | },
1699 | "klaw": {
1700 | "version": "1.3.1",
1701 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
1702 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
1703 | "dev": true,
1704 | "requires": {
1705 | "graceful-fs": "^4.1.9"
1706 | }
1707 | },
1708 | "lodash": {
1709 | "version": "3.10.1",
1710 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
1711 | "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
1712 | "dev": true
1713 | },
1714 | "log4js": {
1715 | "version": "0.6.38",
1716 | "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
1717 | "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
1718 | "dev": true,
1719 | "requires": {
1720 | "readable-stream": "~1.0.2",
1721 | "semver": "~4.3.3"
1722 | },
1723 | "dependencies": {
1724 | "isarray": {
1725 | "version": "0.0.1",
1726 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1727 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
1728 | "dev": true
1729 | },
1730 | "readable-stream": {
1731 | "version": "1.0.34",
1732 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
1733 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
1734 | "dev": true,
1735 | "requires": {
1736 | "core-util-is": "~1.0.0",
1737 | "inherits": "~2.0.1",
1738 | "isarray": "0.0.1",
1739 | "string_decoder": "~0.10.x"
1740 | }
1741 | },
1742 | "string_decoder": {
1743 | "version": "0.10.31",
1744 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1745 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
1746 | "dev": true
1747 | }
1748 | }
1749 | },
1750 | "lru-cache": {
1751 | "version": "4.1.5",
1752 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
1753 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
1754 | "dev": true,
1755 | "requires": {
1756 | "pseudomap": "^1.0.2",
1757 | "yallist": "^2.1.2"
1758 | }
1759 | },
1760 | "map-cache": {
1761 | "version": "0.2.2",
1762 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1763 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
1764 | "dev": true
1765 | },
1766 | "map-visit": {
1767 | "version": "1.0.0",
1768 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1769 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1770 | "dev": true,
1771 | "requires": {
1772 | "object-visit": "^1.0.0"
1773 | }
1774 | },
1775 | "math-random": {
1776 | "version": "1.0.4",
1777 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
1778 | "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
1779 | "dev": true
1780 | },
1781 | "media-typer": {
1782 | "version": "0.3.0",
1783 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1784 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
1785 | "dev": true
1786 | },
1787 | "micromatch": {
1788 | "version": "2.3.11",
1789 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
1790 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
1791 | "dev": true,
1792 | "requires": {
1793 | "arr-diff": "^2.0.0",
1794 | "array-unique": "^0.2.1",
1795 | "braces": "^1.8.2",
1796 | "expand-brackets": "^0.1.4",
1797 | "extglob": "^0.3.1",
1798 | "filename-regex": "^2.0.0",
1799 | "is-extglob": "^1.0.0",
1800 | "is-glob": "^2.0.1",
1801 | "kind-of": "^3.0.2",
1802 | "normalize-path": "^2.0.1",
1803 | "object.omit": "^2.0.0",
1804 | "parse-glob": "^3.0.4",
1805 | "regex-cache": "^0.4.2"
1806 | }
1807 | },
1808 | "mime": {
1809 | "version": "1.6.0",
1810 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1811 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
1812 | "dev": true
1813 | },
1814 | "mime-db": {
1815 | "version": "1.44.0",
1816 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
1817 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
1818 | "dev": true
1819 | },
1820 | "mime-types": {
1821 | "version": "2.1.27",
1822 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
1823 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
1824 | "dev": true,
1825 | "requires": {
1826 | "mime-db": "1.44.0"
1827 | }
1828 | },
1829 | "minimatch": {
1830 | "version": "3.0.4",
1831 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1832 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1833 | "dev": true,
1834 | "requires": {
1835 | "brace-expansion": "^1.1.7"
1836 | }
1837 | },
1838 | "minimist": {
1839 | "version": "0.0.10",
1840 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
1841 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
1842 | "dev": true
1843 | },
1844 | "mixin-deep": {
1845 | "version": "1.3.2",
1846 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1847 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1848 | "dev": true,
1849 | "requires": {
1850 | "for-in": "^1.0.2",
1851 | "is-extendable": "^1.0.1"
1852 | },
1853 | "dependencies": {
1854 | "is-extendable": {
1855 | "version": "1.0.1",
1856 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1857 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1858 | "dev": true,
1859 | "requires": {
1860 | "is-plain-object": "^2.0.4"
1861 | }
1862 | }
1863 | }
1864 | },
1865 | "mkdirp": {
1866 | "version": "0.5.5",
1867 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1868 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1869 | "dev": true,
1870 | "requires": {
1871 | "minimist": "^1.2.5"
1872 | },
1873 | "dependencies": {
1874 | "minimist": {
1875 | "version": "1.2.5",
1876 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1877 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1878 | "dev": true
1879 | }
1880 | }
1881 | },
1882 | "mocha": {
1883 | "version": "2.5.3",
1884 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
1885 | "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=",
1886 | "dev": true,
1887 | "requires": {
1888 | "commander": "2.3.0",
1889 | "debug": "2.2.0",
1890 | "diff": "1.4.0",
1891 | "escape-string-regexp": "1.0.2",
1892 | "glob": "3.2.11",
1893 | "growl": "1.9.2",
1894 | "jade": "0.26.3",
1895 | "mkdirp": "0.5.1",
1896 | "supports-color": "1.2.0",
1897 | "to-iso-string": "0.0.2"
1898 | },
1899 | "dependencies": {
1900 | "debug": {
1901 | "version": "2.2.0",
1902 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
1903 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
1904 | "dev": true,
1905 | "requires": {
1906 | "ms": "0.7.1"
1907 | }
1908 | },
1909 | "glob": {
1910 | "version": "3.2.11",
1911 | "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
1912 | "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
1913 | "dev": true,
1914 | "requires": {
1915 | "inherits": "2",
1916 | "minimatch": "0.3"
1917 | }
1918 | },
1919 | "lru-cache": {
1920 | "version": "2.7.3",
1921 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
1922 | "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
1923 | "dev": true
1924 | },
1925 | "minimatch": {
1926 | "version": "0.3.0",
1927 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
1928 | "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
1929 | "dev": true,
1930 | "requires": {
1931 | "lru-cache": "2",
1932 | "sigmund": "~1.0.0"
1933 | }
1934 | },
1935 | "minimist": {
1936 | "version": "0.0.8",
1937 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
1938 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
1939 | "dev": true
1940 | },
1941 | "mkdirp": {
1942 | "version": "0.5.1",
1943 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
1944 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
1945 | "dev": true,
1946 | "requires": {
1947 | "minimist": "0.0.8"
1948 | }
1949 | },
1950 | "ms": {
1951 | "version": "0.7.1",
1952 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
1953 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
1954 | "dev": true
1955 | }
1956 | }
1957 | },
1958 | "ms": {
1959 | "version": "2.0.0",
1960 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1961 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1962 | "dev": true
1963 | },
1964 | "nan": {
1965 | "version": "2.14.1",
1966 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
1967 | "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
1968 | "dev": true,
1969 | "optional": true
1970 | },
1971 | "nanomatch": {
1972 | "version": "1.2.13",
1973 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1974 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1975 | "dev": true,
1976 | "requires": {
1977 | "arr-diff": "^4.0.0",
1978 | "array-unique": "^0.3.2",
1979 | "define-property": "^2.0.2",
1980 | "extend-shallow": "^3.0.2",
1981 | "fragment-cache": "^0.2.1",
1982 | "is-windows": "^1.0.2",
1983 | "kind-of": "^6.0.2",
1984 | "object.pick": "^1.3.0",
1985 | "regex-not": "^1.0.0",
1986 | "snapdragon": "^0.8.1",
1987 | "to-regex": "^3.0.1"
1988 | },
1989 | "dependencies": {
1990 | "arr-diff": {
1991 | "version": "4.0.0",
1992 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
1993 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
1994 | "dev": true
1995 | },
1996 | "array-unique": {
1997 | "version": "0.3.2",
1998 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
1999 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2000 | "dev": true
2001 | },
2002 | "kind-of": {
2003 | "version": "6.0.3",
2004 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2005 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2006 | "dev": true
2007 | }
2008 | }
2009 | },
2010 | "negotiator": {
2011 | "version": "0.6.1",
2012 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
2013 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
2014 | "dev": true
2015 | },
2016 | "normalize-path": {
2017 | "version": "2.1.1",
2018 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2019 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2020 | "dev": true,
2021 | "requires": {
2022 | "remove-trailing-separator": "^1.0.1"
2023 | }
2024 | },
2025 | "oauth-sign": {
2026 | "version": "0.9.0",
2027 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
2028 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
2029 | "dev": true
2030 | },
2031 | "object-assign": {
2032 | "version": "4.1.0",
2033 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
2034 | "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
2035 | "dev": true
2036 | },
2037 | "object-component": {
2038 | "version": "0.0.3",
2039 | "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
2040 | "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
2041 | "dev": true
2042 | },
2043 | "object-copy": {
2044 | "version": "0.1.0",
2045 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
2046 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
2047 | "dev": true,
2048 | "requires": {
2049 | "copy-descriptor": "^0.1.0",
2050 | "define-property": "^0.2.5",
2051 | "kind-of": "^3.0.3"
2052 | },
2053 | "dependencies": {
2054 | "define-property": {
2055 | "version": "0.2.5",
2056 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2057 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2058 | "dev": true,
2059 | "requires": {
2060 | "is-descriptor": "^0.1.0"
2061 | }
2062 | }
2063 | }
2064 | },
2065 | "object-visit": {
2066 | "version": "1.0.1",
2067 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
2068 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
2069 | "dev": true,
2070 | "requires": {
2071 | "isobject": "^3.0.0"
2072 | },
2073 | "dependencies": {
2074 | "isobject": {
2075 | "version": "3.0.1",
2076 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2077 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2078 | "dev": true
2079 | }
2080 | }
2081 | },
2082 | "object.omit": {
2083 | "version": "2.0.1",
2084 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2085 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2086 | "dev": true,
2087 | "requires": {
2088 | "for-own": "^0.1.4",
2089 | "is-extendable": "^0.1.1"
2090 | }
2091 | },
2092 | "object.pick": {
2093 | "version": "1.3.0",
2094 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
2095 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
2096 | "dev": true,
2097 | "requires": {
2098 | "isobject": "^3.0.1"
2099 | },
2100 | "dependencies": {
2101 | "isobject": {
2102 | "version": "3.0.1",
2103 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2104 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2105 | "dev": true
2106 | }
2107 | }
2108 | },
2109 | "on-finished": {
2110 | "version": "2.3.0",
2111 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2112 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
2113 | "dev": true,
2114 | "requires": {
2115 | "ee-first": "1.1.1"
2116 | }
2117 | },
2118 | "once": {
2119 | "version": "1.4.0",
2120 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2121 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2122 | "dev": true,
2123 | "requires": {
2124 | "wrappy": "1"
2125 | }
2126 | },
2127 | "optimist": {
2128 | "version": "0.6.1",
2129 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
2130 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
2131 | "dev": true,
2132 | "requires": {
2133 | "minimist": "~0.0.1",
2134 | "wordwrap": "~0.0.2"
2135 | }
2136 | },
2137 | "options": {
2138 | "version": "0.0.6",
2139 | "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
2140 | "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
2141 | "dev": true
2142 | },
2143 | "os-tmpdir": {
2144 | "version": "1.0.2",
2145 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2146 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2147 | "dev": true
2148 | },
2149 | "parse-glob": {
2150 | "version": "3.0.4",
2151 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2152 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2153 | "dev": true,
2154 | "requires": {
2155 | "glob-base": "^0.3.0",
2156 | "is-dotfile": "^1.0.0",
2157 | "is-extglob": "^1.0.0",
2158 | "is-glob": "^2.0.0"
2159 | }
2160 | },
2161 | "parsejson": {
2162 | "version": "0.0.3",
2163 | "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
2164 | "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
2165 | "dev": true,
2166 | "requires": {
2167 | "better-assert": "~1.0.0"
2168 | }
2169 | },
2170 | "parseqs": {
2171 | "version": "0.0.5",
2172 | "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
2173 | "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
2174 | "dev": true,
2175 | "requires": {
2176 | "better-assert": "~1.0.0"
2177 | }
2178 | },
2179 | "parseuri": {
2180 | "version": "0.0.5",
2181 | "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
2182 | "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
2183 | "dev": true,
2184 | "requires": {
2185 | "better-assert": "~1.0.0"
2186 | }
2187 | },
2188 | "parseurl": {
2189 | "version": "1.3.3",
2190 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
2191 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
2192 | "dev": true
2193 | },
2194 | "pascalcase": {
2195 | "version": "0.1.1",
2196 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
2197 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
2198 | "dev": true
2199 | },
2200 | "path-is-absolute": {
2201 | "version": "1.0.1",
2202 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2203 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2204 | "dev": true
2205 | },
2206 | "pend": {
2207 | "version": "1.2.0",
2208 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
2209 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
2210 | "dev": true
2211 | },
2212 | "performance-now": {
2213 | "version": "2.1.0",
2214 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
2215 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
2216 | "dev": true
2217 | },
2218 | "phantomjs-prebuilt": {
2219 | "version": "2.1.16",
2220 | "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
2221 | "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
2222 | "dev": true,
2223 | "requires": {
2224 | "es6-promise": "^4.0.3",
2225 | "extract-zip": "^1.6.5",
2226 | "fs-extra": "^1.0.0",
2227 | "hasha": "^2.2.0",
2228 | "kew": "^0.7.0",
2229 | "progress": "^1.1.8",
2230 | "request": "^2.81.0",
2231 | "request-progress": "^2.0.1",
2232 | "which": "^1.2.10"
2233 | }
2234 | },
2235 | "pinkie": {
2236 | "version": "2.0.4",
2237 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2238 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
2239 | "dev": true
2240 | },
2241 | "pinkie-promise": {
2242 | "version": "2.0.1",
2243 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2244 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
2245 | "dev": true,
2246 | "requires": {
2247 | "pinkie": "^2.0.0"
2248 | }
2249 | },
2250 | "posix-character-classes": {
2251 | "version": "0.1.1",
2252 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
2253 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
2254 | "dev": true
2255 | },
2256 | "preserve": {
2257 | "version": "0.2.0",
2258 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2259 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
2260 | "dev": true
2261 | },
2262 | "process-nextick-args": {
2263 | "version": "2.0.1",
2264 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2265 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
2266 | "dev": true
2267 | },
2268 | "progress": {
2269 | "version": "1.1.8",
2270 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
2271 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
2272 | "dev": true
2273 | },
2274 | "pseudomap": {
2275 | "version": "1.0.2",
2276 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
2277 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
2278 | "dev": true
2279 | },
2280 | "psl": {
2281 | "version": "1.8.0",
2282 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
2283 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
2284 | "dev": true
2285 | },
2286 | "punycode": {
2287 | "version": "2.1.1",
2288 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2289 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2290 | "dev": true
2291 | },
2292 | "qjobs": {
2293 | "version": "1.2.0",
2294 | "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
2295 | "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
2296 | "dev": true
2297 | },
2298 | "qs": {
2299 | "version": "6.7.0",
2300 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
2301 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
2302 | "dev": true
2303 | },
2304 | "randomatic": {
2305 | "version": "3.1.1",
2306 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
2307 | "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
2308 | "dev": true,
2309 | "requires": {
2310 | "is-number": "^4.0.0",
2311 | "kind-of": "^6.0.0",
2312 | "math-random": "^1.0.1"
2313 | },
2314 | "dependencies": {
2315 | "is-number": {
2316 | "version": "4.0.0",
2317 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
2318 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
2319 | "dev": true
2320 | },
2321 | "kind-of": {
2322 | "version": "6.0.3",
2323 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2324 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2325 | "dev": true
2326 | }
2327 | }
2328 | },
2329 | "range-parser": {
2330 | "version": "1.2.1",
2331 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
2332 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
2333 | "dev": true
2334 | },
2335 | "raw-body": {
2336 | "version": "2.4.0",
2337 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
2338 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
2339 | "dev": true,
2340 | "requires": {
2341 | "bytes": "3.1.0",
2342 | "http-errors": "1.7.2",
2343 | "iconv-lite": "0.4.24",
2344 | "unpipe": "1.0.0"
2345 | }
2346 | },
2347 | "readable-stream": {
2348 | "version": "2.3.7",
2349 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
2350 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
2351 | "dev": true,
2352 | "requires": {
2353 | "core-util-is": "~1.0.0",
2354 | "inherits": "~2.0.3",
2355 | "isarray": "~1.0.0",
2356 | "process-nextick-args": "~2.0.0",
2357 | "safe-buffer": "~5.1.1",
2358 | "string_decoder": "~1.1.1",
2359 | "util-deprecate": "~1.0.1"
2360 | },
2361 | "dependencies": {
2362 | "safe-buffer": {
2363 | "version": "5.1.2",
2364 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2365 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2366 | "dev": true
2367 | }
2368 | }
2369 | },
2370 | "readdirp": {
2371 | "version": "2.2.1",
2372 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
2373 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
2374 | "dev": true,
2375 | "requires": {
2376 | "graceful-fs": "^4.1.11",
2377 | "micromatch": "^3.1.10",
2378 | "readable-stream": "^2.0.2"
2379 | },
2380 | "dependencies": {
2381 | "arr-diff": {
2382 | "version": "4.0.0",
2383 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
2384 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
2385 | "dev": true
2386 | },
2387 | "array-unique": {
2388 | "version": "0.3.2",
2389 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
2390 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2391 | "dev": true
2392 | },
2393 | "braces": {
2394 | "version": "2.3.2",
2395 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
2396 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2397 | "dev": true,
2398 | "requires": {
2399 | "arr-flatten": "^1.1.0",
2400 | "array-unique": "^0.3.2",
2401 | "extend-shallow": "^2.0.1",
2402 | "fill-range": "^4.0.0",
2403 | "isobject": "^3.0.1",
2404 | "repeat-element": "^1.1.2",
2405 | "snapdragon": "^0.8.1",
2406 | "snapdragon-node": "^2.0.1",
2407 | "split-string": "^3.0.2",
2408 | "to-regex": "^3.0.1"
2409 | },
2410 | "dependencies": {
2411 | "extend-shallow": {
2412 | "version": "2.0.1",
2413 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2414 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2415 | "dev": true,
2416 | "requires": {
2417 | "is-extendable": "^0.1.0"
2418 | }
2419 | }
2420 | }
2421 | },
2422 | "expand-brackets": {
2423 | "version": "2.1.4",
2424 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
2425 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2426 | "dev": true,
2427 | "requires": {
2428 | "debug": "^2.3.3",
2429 | "define-property": "^0.2.5",
2430 | "extend-shallow": "^2.0.1",
2431 | "posix-character-classes": "^0.1.0",
2432 | "regex-not": "^1.0.0",
2433 | "snapdragon": "^0.8.1",
2434 | "to-regex": "^3.0.1"
2435 | },
2436 | "dependencies": {
2437 | "define-property": {
2438 | "version": "0.2.5",
2439 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2440 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2441 | "dev": true,
2442 | "requires": {
2443 | "is-descriptor": "^0.1.0"
2444 | }
2445 | },
2446 | "extend-shallow": {
2447 | "version": "2.0.1",
2448 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2449 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2450 | "dev": true,
2451 | "requires": {
2452 | "is-extendable": "^0.1.0"
2453 | }
2454 | },
2455 | "is-accessor-descriptor": {
2456 | "version": "0.1.6",
2457 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2458 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2459 | "dev": true,
2460 | "requires": {
2461 | "kind-of": "^3.0.2"
2462 | },
2463 | "dependencies": {
2464 | "kind-of": {
2465 | "version": "3.2.2",
2466 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2467 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2468 | "dev": true,
2469 | "requires": {
2470 | "is-buffer": "^1.1.5"
2471 | }
2472 | }
2473 | }
2474 | },
2475 | "is-data-descriptor": {
2476 | "version": "0.1.4",
2477 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2478 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2479 | "dev": true,
2480 | "requires": {
2481 | "kind-of": "^3.0.2"
2482 | },
2483 | "dependencies": {
2484 | "kind-of": {
2485 | "version": "3.2.2",
2486 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2487 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2488 | "dev": true,
2489 | "requires": {
2490 | "is-buffer": "^1.1.5"
2491 | }
2492 | }
2493 | }
2494 | },
2495 | "is-descriptor": {
2496 | "version": "0.1.6",
2497 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2498 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2499 | "dev": true,
2500 | "requires": {
2501 | "is-accessor-descriptor": "^0.1.6",
2502 | "is-data-descriptor": "^0.1.4",
2503 | "kind-of": "^5.0.0"
2504 | }
2505 | },
2506 | "kind-of": {
2507 | "version": "5.1.0",
2508 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2509 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2510 | "dev": true
2511 | }
2512 | }
2513 | },
2514 | "extglob": {
2515 | "version": "2.0.4",
2516 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2517 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2518 | "dev": true,
2519 | "requires": {
2520 | "array-unique": "^0.3.2",
2521 | "define-property": "^1.0.0",
2522 | "expand-brackets": "^2.1.4",
2523 | "extend-shallow": "^2.0.1",
2524 | "fragment-cache": "^0.2.1",
2525 | "regex-not": "^1.0.0",
2526 | "snapdragon": "^0.8.1",
2527 | "to-regex": "^3.0.1"
2528 | },
2529 | "dependencies": {
2530 | "define-property": {
2531 | "version": "1.0.0",
2532 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2533 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2534 | "dev": true,
2535 | "requires": {
2536 | "is-descriptor": "^1.0.0"
2537 | }
2538 | },
2539 | "extend-shallow": {
2540 | "version": "2.0.1",
2541 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2542 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2543 | "dev": true,
2544 | "requires": {
2545 | "is-extendable": "^0.1.0"
2546 | }
2547 | }
2548 | }
2549 | },
2550 | "fill-range": {
2551 | "version": "4.0.0",
2552 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2553 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2554 | "dev": true,
2555 | "requires": {
2556 | "extend-shallow": "^2.0.1",
2557 | "is-number": "^3.0.0",
2558 | "repeat-string": "^1.6.1",
2559 | "to-regex-range": "^2.1.0"
2560 | },
2561 | "dependencies": {
2562 | "extend-shallow": {
2563 | "version": "2.0.1",
2564 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2565 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2566 | "dev": true,
2567 | "requires": {
2568 | "is-extendable": "^0.1.0"
2569 | }
2570 | }
2571 | }
2572 | },
2573 | "is-accessor-descriptor": {
2574 | "version": "1.0.0",
2575 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2576 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2577 | "dev": true,
2578 | "requires": {
2579 | "kind-of": "^6.0.0"
2580 | }
2581 | },
2582 | "is-data-descriptor": {
2583 | "version": "1.0.0",
2584 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2585 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2586 | "dev": true,
2587 | "requires": {
2588 | "kind-of": "^6.0.0"
2589 | }
2590 | },
2591 | "is-descriptor": {
2592 | "version": "1.0.2",
2593 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2594 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2595 | "dev": true,
2596 | "requires": {
2597 | "is-accessor-descriptor": "^1.0.0",
2598 | "is-data-descriptor": "^1.0.0",
2599 | "kind-of": "^6.0.2"
2600 | }
2601 | },
2602 | "is-number": {
2603 | "version": "3.0.0",
2604 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2605 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2606 | "dev": true,
2607 | "requires": {
2608 | "kind-of": "^3.0.2"
2609 | },
2610 | "dependencies": {
2611 | "kind-of": {
2612 | "version": "3.2.2",
2613 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2614 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2615 | "dev": true,
2616 | "requires": {
2617 | "is-buffer": "^1.1.5"
2618 | }
2619 | }
2620 | }
2621 | },
2622 | "isobject": {
2623 | "version": "3.0.1",
2624 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2625 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2626 | "dev": true
2627 | },
2628 | "kind-of": {
2629 | "version": "6.0.3",
2630 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2631 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2632 | "dev": true
2633 | },
2634 | "micromatch": {
2635 | "version": "3.1.10",
2636 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2637 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2638 | "dev": true,
2639 | "requires": {
2640 | "arr-diff": "^4.0.0",
2641 | "array-unique": "^0.3.2",
2642 | "braces": "^2.3.1",
2643 | "define-property": "^2.0.2",
2644 | "extend-shallow": "^3.0.2",
2645 | "extglob": "^2.0.4",
2646 | "fragment-cache": "^0.2.1",
2647 | "kind-of": "^6.0.2",
2648 | "nanomatch": "^1.2.9",
2649 | "object.pick": "^1.3.0",
2650 | "regex-not": "^1.0.0",
2651 | "snapdragon": "^0.8.1",
2652 | "to-regex": "^3.0.2"
2653 | }
2654 | }
2655 | }
2656 | },
2657 | "regex-cache": {
2658 | "version": "0.4.4",
2659 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
2660 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
2661 | "dev": true,
2662 | "requires": {
2663 | "is-equal-shallow": "^0.1.3"
2664 | }
2665 | },
2666 | "regex-not": {
2667 | "version": "1.0.2",
2668 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
2669 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
2670 | "dev": true,
2671 | "requires": {
2672 | "extend-shallow": "^3.0.2",
2673 | "safe-regex": "^1.1.0"
2674 | }
2675 | },
2676 | "remove-trailing-separator": {
2677 | "version": "1.1.0",
2678 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
2679 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
2680 | "dev": true
2681 | },
2682 | "repeat-element": {
2683 | "version": "1.1.3",
2684 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
2685 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
2686 | "dev": true
2687 | },
2688 | "repeat-string": {
2689 | "version": "1.6.1",
2690 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
2691 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
2692 | "dev": true
2693 | },
2694 | "request": {
2695 | "version": "2.88.2",
2696 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
2697 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
2698 | "dev": true,
2699 | "requires": {
2700 | "aws-sign2": "~0.7.0",
2701 | "aws4": "^1.8.0",
2702 | "caseless": "~0.12.0",
2703 | "combined-stream": "~1.0.6",
2704 | "extend": "~3.0.2",
2705 | "forever-agent": "~0.6.1",
2706 | "form-data": "~2.3.2",
2707 | "har-validator": "~5.1.3",
2708 | "http-signature": "~1.2.0",
2709 | "is-typedarray": "~1.0.0",
2710 | "isstream": "~0.1.2",
2711 | "json-stringify-safe": "~5.0.1",
2712 | "mime-types": "~2.1.19",
2713 | "oauth-sign": "~0.9.0",
2714 | "performance-now": "^2.1.0",
2715 | "qs": "~6.5.2",
2716 | "safe-buffer": "^5.1.2",
2717 | "tough-cookie": "~2.5.0",
2718 | "tunnel-agent": "^0.6.0",
2719 | "uuid": "^3.3.2"
2720 | },
2721 | "dependencies": {
2722 | "qs": {
2723 | "version": "6.5.2",
2724 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
2725 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
2726 | "dev": true
2727 | }
2728 | }
2729 | },
2730 | "request-progress": {
2731 | "version": "2.0.1",
2732 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
2733 | "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
2734 | "dev": true,
2735 | "requires": {
2736 | "throttleit": "^1.0.0"
2737 | }
2738 | },
2739 | "requires-port": {
2740 | "version": "1.0.0",
2741 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
2742 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
2743 | "dev": true
2744 | },
2745 | "resolve-url": {
2746 | "version": "0.2.1",
2747 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
2748 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
2749 | "dev": true
2750 | },
2751 | "ret": {
2752 | "version": "0.1.15",
2753 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
2754 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
2755 | "dev": true
2756 | },
2757 | "rimraf": {
2758 | "version": "2.7.1",
2759 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
2760 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
2761 | "dev": true,
2762 | "requires": {
2763 | "glob": "^7.1.3"
2764 | }
2765 | },
2766 | "safe-buffer": {
2767 | "version": "5.2.1",
2768 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2769 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2770 | "dev": true
2771 | },
2772 | "safe-regex": {
2773 | "version": "1.1.0",
2774 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
2775 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
2776 | "dev": true,
2777 | "requires": {
2778 | "ret": "~0.1.10"
2779 | }
2780 | },
2781 | "safer-buffer": {
2782 | "version": "2.1.2",
2783 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2784 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2785 | "dev": true
2786 | },
2787 | "semver": {
2788 | "version": "4.3.6",
2789 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
2790 | "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
2791 | "dev": true
2792 | },
2793 | "set-value": {
2794 | "version": "2.0.1",
2795 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
2796 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
2797 | "dev": true,
2798 | "requires": {
2799 | "extend-shallow": "^2.0.1",
2800 | "is-extendable": "^0.1.1",
2801 | "is-plain-object": "^2.0.3",
2802 | "split-string": "^3.0.1"
2803 | },
2804 | "dependencies": {
2805 | "extend-shallow": {
2806 | "version": "2.0.1",
2807 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2808 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2809 | "dev": true,
2810 | "requires": {
2811 | "is-extendable": "^0.1.0"
2812 | }
2813 | }
2814 | }
2815 | },
2816 | "setprototypeof": {
2817 | "version": "1.1.1",
2818 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
2819 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
2820 | "dev": true
2821 | },
2822 | "sigmund": {
2823 | "version": "1.0.1",
2824 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
2825 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
2826 | "dev": true
2827 | },
2828 | "snapdragon": {
2829 | "version": "0.8.2",
2830 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
2831 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
2832 | "dev": true,
2833 | "requires": {
2834 | "base": "^0.11.1",
2835 | "debug": "^2.2.0",
2836 | "define-property": "^0.2.5",
2837 | "extend-shallow": "^2.0.1",
2838 | "map-cache": "^0.2.2",
2839 | "source-map": "^0.5.6",
2840 | "source-map-resolve": "^0.5.0",
2841 | "use": "^3.1.0"
2842 | },
2843 | "dependencies": {
2844 | "define-property": {
2845 | "version": "0.2.5",
2846 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2847 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2848 | "dev": true,
2849 | "requires": {
2850 | "is-descriptor": "^0.1.0"
2851 | }
2852 | },
2853 | "extend-shallow": {
2854 | "version": "2.0.1",
2855 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2856 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2857 | "dev": true,
2858 | "requires": {
2859 | "is-extendable": "^0.1.0"
2860 | }
2861 | }
2862 | }
2863 | },
2864 | "snapdragon-node": {
2865 | "version": "2.1.1",
2866 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
2867 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
2868 | "dev": true,
2869 | "requires": {
2870 | "define-property": "^1.0.0",
2871 | "isobject": "^3.0.0",
2872 | "snapdragon-util": "^3.0.1"
2873 | },
2874 | "dependencies": {
2875 | "define-property": {
2876 | "version": "1.0.0",
2877 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2878 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2879 | "dev": true,
2880 | "requires": {
2881 | "is-descriptor": "^1.0.0"
2882 | }
2883 | },
2884 | "is-accessor-descriptor": {
2885 | "version": "1.0.0",
2886 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2887 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2888 | "dev": true,
2889 | "requires": {
2890 | "kind-of": "^6.0.0"
2891 | }
2892 | },
2893 | "is-data-descriptor": {
2894 | "version": "1.0.0",
2895 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2896 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2897 | "dev": true,
2898 | "requires": {
2899 | "kind-of": "^6.0.0"
2900 | }
2901 | },
2902 | "is-descriptor": {
2903 | "version": "1.0.2",
2904 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2905 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2906 | "dev": true,
2907 | "requires": {
2908 | "is-accessor-descriptor": "^1.0.0",
2909 | "is-data-descriptor": "^1.0.0",
2910 | "kind-of": "^6.0.2"
2911 | }
2912 | },
2913 | "isobject": {
2914 | "version": "3.0.1",
2915 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2916 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2917 | "dev": true
2918 | },
2919 | "kind-of": {
2920 | "version": "6.0.3",
2921 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2922 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2923 | "dev": true
2924 | }
2925 | }
2926 | },
2927 | "snapdragon-util": {
2928 | "version": "3.0.1",
2929 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
2930 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
2931 | "dev": true,
2932 | "requires": {
2933 | "kind-of": "^3.2.0"
2934 | }
2935 | },
2936 | "socket.io": {
2937 | "version": "1.7.3",
2938 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
2939 | "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
2940 | "dev": true,
2941 | "requires": {
2942 | "debug": "2.3.3",
2943 | "engine.io": "1.8.3",
2944 | "has-binary": "0.1.7",
2945 | "object-assign": "4.1.0",
2946 | "socket.io-adapter": "0.5.0",
2947 | "socket.io-client": "1.7.3",
2948 | "socket.io-parser": "2.3.1"
2949 | },
2950 | "dependencies": {
2951 | "debug": {
2952 | "version": "2.3.3",
2953 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
2954 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
2955 | "dev": true,
2956 | "requires": {
2957 | "ms": "0.7.2"
2958 | }
2959 | },
2960 | "ms": {
2961 | "version": "0.7.2",
2962 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
2963 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
2964 | "dev": true
2965 | }
2966 | }
2967 | },
2968 | "socket.io-adapter": {
2969 | "version": "0.5.0",
2970 | "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
2971 | "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
2972 | "dev": true,
2973 | "requires": {
2974 | "debug": "2.3.3",
2975 | "socket.io-parser": "2.3.1"
2976 | },
2977 | "dependencies": {
2978 | "debug": {
2979 | "version": "2.3.3",
2980 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
2981 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
2982 | "dev": true,
2983 | "requires": {
2984 | "ms": "0.7.2"
2985 | }
2986 | },
2987 | "ms": {
2988 | "version": "0.7.2",
2989 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
2990 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
2991 | "dev": true
2992 | }
2993 | }
2994 | },
2995 | "socket.io-client": {
2996 | "version": "1.7.3",
2997 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
2998 | "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
2999 | "dev": true,
3000 | "requires": {
3001 | "backo2": "1.0.2",
3002 | "component-bind": "1.0.0",
3003 | "component-emitter": "1.2.1",
3004 | "debug": "2.3.3",
3005 | "engine.io-client": "1.8.3",
3006 | "has-binary": "0.1.7",
3007 | "indexof": "0.0.1",
3008 | "object-component": "0.0.3",
3009 | "parseuri": "0.0.5",
3010 | "socket.io-parser": "2.3.1",
3011 | "to-array": "0.1.4"
3012 | },
3013 | "dependencies": {
3014 | "component-emitter": {
3015 | "version": "1.2.1",
3016 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
3017 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
3018 | "dev": true
3019 | },
3020 | "debug": {
3021 | "version": "2.3.3",
3022 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
3023 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
3024 | "dev": true,
3025 | "requires": {
3026 | "ms": "0.7.2"
3027 | }
3028 | },
3029 | "ms": {
3030 | "version": "0.7.2",
3031 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
3032 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
3033 | "dev": true
3034 | }
3035 | }
3036 | },
3037 | "socket.io-parser": {
3038 | "version": "2.3.1",
3039 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
3040 | "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
3041 | "dev": true,
3042 | "requires": {
3043 | "component-emitter": "1.1.2",
3044 | "debug": "2.2.0",
3045 | "isarray": "0.0.1",
3046 | "json3": "3.3.2"
3047 | },
3048 | "dependencies": {
3049 | "component-emitter": {
3050 | "version": "1.1.2",
3051 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
3052 | "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
3053 | "dev": true
3054 | },
3055 | "debug": {
3056 | "version": "2.2.0",
3057 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
3058 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
3059 | "dev": true,
3060 | "requires": {
3061 | "ms": "0.7.1"
3062 | }
3063 | },
3064 | "isarray": {
3065 | "version": "0.0.1",
3066 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
3067 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
3068 | "dev": true
3069 | },
3070 | "ms": {
3071 | "version": "0.7.1",
3072 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
3073 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
3074 | "dev": true
3075 | }
3076 | }
3077 | },
3078 | "source-map": {
3079 | "version": "0.5.7",
3080 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3081 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
3082 | "dev": true
3083 | },
3084 | "source-map-resolve": {
3085 | "version": "0.5.3",
3086 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
3087 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
3088 | "dev": true,
3089 | "requires": {
3090 | "atob": "^2.1.2",
3091 | "decode-uri-component": "^0.2.0",
3092 | "resolve-url": "^0.2.1",
3093 | "source-map-url": "^0.4.0",
3094 | "urix": "^0.1.0"
3095 | }
3096 | },
3097 | "source-map-url": {
3098 | "version": "0.4.0",
3099 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3100 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
3101 | "dev": true
3102 | },
3103 | "split-string": {
3104 | "version": "3.1.0",
3105 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3106 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3107 | "dev": true,
3108 | "requires": {
3109 | "extend-shallow": "^3.0.0"
3110 | }
3111 | },
3112 | "sshpk": {
3113 | "version": "1.16.1",
3114 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
3115 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
3116 | "dev": true,
3117 | "requires": {
3118 | "asn1": "~0.2.3",
3119 | "assert-plus": "^1.0.0",
3120 | "bcrypt-pbkdf": "^1.0.0",
3121 | "dashdash": "^1.12.0",
3122 | "ecc-jsbn": "~0.1.1",
3123 | "getpass": "^0.1.1",
3124 | "jsbn": "~0.1.0",
3125 | "safer-buffer": "^2.0.2",
3126 | "tweetnacl": "~0.14.0"
3127 | }
3128 | },
3129 | "static-extend": {
3130 | "version": "0.1.2",
3131 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3132 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3133 | "dev": true,
3134 | "requires": {
3135 | "define-property": "^0.2.5",
3136 | "object-copy": "^0.1.0"
3137 | },
3138 | "dependencies": {
3139 | "define-property": {
3140 | "version": "0.2.5",
3141 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3142 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3143 | "dev": true,
3144 | "requires": {
3145 | "is-descriptor": "^0.1.0"
3146 | }
3147 | }
3148 | }
3149 | },
3150 | "statuses": {
3151 | "version": "1.5.0",
3152 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
3153 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
3154 | "dev": true
3155 | },
3156 | "string_decoder": {
3157 | "version": "1.1.1",
3158 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3159 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3160 | "dev": true,
3161 | "requires": {
3162 | "safe-buffer": "~5.1.0"
3163 | },
3164 | "dependencies": {
3165 | "safe-buffer": {
3166 | "version": "5.1.2",
3167 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3168 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3169 | "dev": true
3170 | }
3171 | }
3172 | },
3173 | "supports-color": {
3174 | "version": "1.2.0",
3175 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",
3176 | "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=",
3177 | "dev": true
3178 | },
3179 | "throttleit": {
3180 | "version": "1.0.0",
3181 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
3182 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
3183 | "dev": true
3184 | },
3185 | "tmp": {
3186 | "version": "0.0.31",
3187 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
3188 | "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
3189 | "dev": true,
3190 | "requires": {
3191 | "os-tmpdir": "~1.0.1"
3192 | }
3193 | },
3194 | "to-array": {
3195 | "version": "0.1.4",
3196 | "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
3197 | "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
3198 | "dev": true
3199 | },
3200 | "to-iso-string": {
3201 | "version": "0.0.2",
3202 | "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz",
3203 | "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=",
3204 | "dev": true
3205 | },
3206 | "to-object-path": {
3207 | "version": "0.3.0",
3208 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
3209 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
3210 | "dev": true,
3211 | "requires": {
3212 | "kind-of": "^3.0.2"
3213 | }
3214 | },
3215 | "to-regex": {
3216 | "version": "3.0.2",
3217 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
3218 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
3219 | "dev": true,
3220 | "requires": {
3221 | "define-property": "^2.0.2",
3222 | "extend-shallow": "^3.0.2",
3223 | "regex-not": "^1.0.2",
3224 | "safe-regex": "^1.1.0"
3225 | }
3226 | },
3227 | "to-regex-range": {
3228 | "version": "2.1.1",
3229 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
3230 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
3231 | "dev": true,
3232 | "requires": {
3233 | "is-number": "^3.0.0",
3234 | "repeat-string": "^1.6.1"
3235 | },
3236 | "dependencies": {
3237 | "is-number": {
3238 | "version": "3.0.0",
3239 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3240 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3241 | "dev": true,
3242 | "requires": {
3243 | "kind-of": "^3.0.2"
3244 | }
3245 | }
3246 | }
3247 | },
3248 | "toidentifier": {
3249 | "version": "1.0.0",
3250 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
3251 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
3252 | "dev": true
3253 | },
3254 | "tough-cookie": {
3255 | "version": "2.5.0",
3256 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
3257 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
3258 | "dev": true,
3259 | "requires": {
3260 | "psl": "^1.1.28",
3261 | "punycode": "^2.1.1"
3262 | }
3263 | },
3264 | "tunnel-agent": {
3265 | "version": "0.6.0",
3266 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
3267 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
3268 | "dev": true,
3269 | "requires": {
3270 | "safe-buffer": "^5.0.1"
3271 | }
3272 | },
3273 | "tweetnacl": {
3274 | "version": "0.14.5",
3275 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
3276 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
3277 | "dev": true
3278 | },
3279 | "type-detect": {
3280 | "version": "0.1.1",
3281 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
3282 | "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
3283 | "dev": true
3284 | },
3285 | "type-is": {
3286 | "version": "1.6.18",
3287 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
3288 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
3289 | "dev": true,
3290 | "requires": {
3291 | "media-typer": "0.3.0",
3292 | "mime-types": "~2.1.24"
3293 | }
3294 | },
3295 | "typedarray": {
3296 | "version": "0.0.6",
3297 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
3298 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
3299 | "dev": true
3300 | },
3301 | "ultron": {
3302 | "version": "1.0.2",
3303 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
3304 | "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
3305 | "dev": true
3306 | },
3307 | "union-value": {
3308 | "version": "1.0.1",
3309 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
3310 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
3311 | "dev": true,
3312 | "requires": {
3313 | "arr-union": "^3.1.0",
3314 | "get-value": "^2.0.6",
3315 | "is-extendable": "^0.1.1",
3316 | "set-value": "^2.0.1"
3317 | }
3318 | },
3319 | "unpipe": {
3320 | "version": "1.0.0",
3321 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
3322 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
3323 | "dev": true
3324 | },
3325 | "unset-value": {
3326 | "version": "1.0.0",
3327 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
3328 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
3329 | "dev": true,
3330 | "requires": {
3331 | "has-value": "^0.3.1",
3332 | "isobject": "^3.0.0"
3333 | },
3334 | "dependencies": {
3335 | "has-value": {
3336 | "version": "0.3.1",
3337 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
3338 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
3339 | "dev": true,
3340 | "requires": {
3341 | "get-value": "^2.0.3",
3342 | "has-values": "^0.1.4",
3343 | "isobject": "^2.0.0"
3344 | },
3345 | "dependencies": {
3346 | "isobject": {
3347 | "version": "2.1.0",
3348 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
3349 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
3350 | "dev": true,
3351 | "requires": {
3352 | "isarray": "1.0.0"
3353 | }
3354 | }
3355 | }
3356 | },
3357 | "has-values": {
3358 | "version": "0.1.4",
3359 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
3360 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
3361 | "dev": true
3362 | },
3363 | "isobject": {
3364 | "version": "3.0.1",
3365 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3366 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3367 | "dev": true
3368 | }
3369 | }
3370 | },
3371 | "uri-js": {
3372 | "version": "4.2.2",
3373 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
3374 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
3375 | "dev": true,
3376 | "requires": {
3377 | "punycode": "^2.1.0"
3378 | }
3379 | },
3380 | "urix": {
3381 | "version": "0.1.0",
3382 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
3383 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
3384 | "dev": true
3385 | },
3386 | "use": {
3387 | "version": "3.1.1",
3388 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
3389 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
3390 | "dev": true
3391 | },
3392 | "useragent": {
3393 | "version": "2.3.0",
3394 | "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
3395 | "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
3396 | "dev": true,
3397 | "requires": {
3398 | "lru-cache": "4.1.x",
3399 | "tmp": "0.0.x"
3400 | }
3401 | },
3402 | "util-deprecate": {
3403 | "version": "1.0.2",
3404 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3405 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3406 | "dev": true
3407 | },
3408 | "utils-merge": {
3409 | "version": "1.0.1",
3410 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
3411 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
3412 | "dev": true
3413 | },
3414 | "uuid": {
3415 | "version": "3.4.0",
3416 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3417 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
3418 | "dev": true
3419 | },
3420 | "verror": {
3421 | "version": "1.10.0",
3422 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
3423 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
3424 | "dev": true,
3425 | "requires": {
3426 | "assert-plus": "^1.0.0",
3427 | "core-util-is": "1.0.2",
3428 | "extsprintf": "^1.2.0"
3429 | }
3430 | },
3431 | "void-elements": {
3432 | "version": "2.0.1",
3433 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
3434 | "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
3435 | "dev": true
3436 | },
3437 | "which": {
3438 | "version": "1.3.1",
3439 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
3440 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
3441 | "dev": true,
3442 | "requires": {
3443 | "isexe": "^2.0.0"
3444 | }
3445 | },
3446 | "wordwrap": {
3447 | "version": "0.0.3",
3448 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
3449 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
3450 | "dev": true
3451 | },
3452 | "wrappy": {
3453 | "version": "1.0.2",
3454 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3455 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3456 | "dev": true
3457 | },
3458 | "ws": {
3459 | "version": "1.1.2",
3460 | "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
3461 | "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
3462 | "dev": true,
3463 | "requires": {
3464 | "options": ">=0.0.5",
3465 | "ultron": "1.0.x"
3466 | }
3467 | },
3468 | "wtf-8": {
3469 | "version": "1.0.0",
3470 | "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
3471 | "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
3472 | "dev": true
3473 | },
3474 | "xmlhttprequest-ssl": {
3475 | "version": "1.5.3",
3476 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
3477 | "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
3478 | "dev": true
3479 | },
3480 | "yallist": {
3481 | "version": "2.1.2",
3482 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
3483 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
3484 | "dev": true
3485 | },
3486 | "yauzl": {
3487 | "version": "2.10.0",
3488 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
3489 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
3490 | "dev": true,
3491 | "requires": {
3492 | "buffer-crc32": "~0.2.3",
3493 | "fd-slicer": "~1.1.0"
3494 | }
3495 | },
3496 | "yeast": {
3497 | "version": "0.1.2",
3498 | "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
3499 | "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
3500 | "dev": true
3501 | },
3502 | "zingchart": {
3503 | "version": "2.9.1",
3504 | "resolved": "https://registry.npmjs.org/zingchart/-/zingchart-2.9.1.tgz",
3505 | "integrity": "sha512-LYCiqkzdDn5OxPqShfvUNcTtXxVgZDVqEztGINBb0EA9a1b1TOrLbW/BdJPpeobBahXSxvHYLO6NV/Dbw309Vw=="
3506 | }
3507 | }
3508 | }
3509 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "zingchart-angularjs",
3 | "version": "1.2.0",
4 | "description": "ZingChart AngularJS Component wrapper to allow native AngularJS syntax for javascript charts, chart events, chart methods and chart styling.",
5 | "author": "ZingSoft Inc.",
6 | "license": "MIT",
7 | "repository": "zingchart/zingchart-angularjs",
8 | "homepage": "https://www.zingchart.com/",
9 | "main": "index.js",
10 | "devDependencies": {
11 | "angular-mocks": "^1.3.14",
12 | "chai": "^2.1.0",
13 | "jquery": "^2.1.3",
14 | "karma": "^1.1.2",
15 | "karma-chai": "^0.1.0",
16 | "karma-chrome-launcher": "^0.1.7",
17 | "karma-jasmine": "^1.0.2",
18 | "karma-mocha": "^0.1.10",
19 | "karma-phantomjs-launcher": "^1.0.1",
20 | "mocha": "^2.1.0"
21 | },
22 | "dependencies": {
23 | "angular": "^1.3.14",
24 | "zingchart": "^2.9.1"
25 | },
26 | "scripts": {
27 | "preinstall": "npm i bower -g",
28 | "publish": "npm publish --access public",
29 | "publish:tag": "npm publish --tag beta --access public",
30 | "publish:test": "npm publish --dry-run",
31 | "test": "./node_modules/karma/bin/karma start --single-run --browsers PhantomJS"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/zingchart-angularjs.js:
--------------------------------------------------------------------------------
1 | /**
2 | * File: zingchart-angularjs.js
3 | * Version: v1.1.0
4 | */
5 |
6 | (function(){
7 | 'use strict';
8 | angular.module('zingchart-angularjs', [] )
9 | .directive('zingchart', [function(){
10 | var currentAutoId = 1;
11 |
12 | return {
13 | restrict : 'EA',
14 | scope : {
15 | id : '@',
16 | zcValues : '=',
17 | zcJson : '=',
18 | zcRender : '=',
19 | zcLicense : '='
20 | },
21 | controller : ['$scope', '$element', '$attrs', function($scope, $element, $attrs){
22 | var id;
23 | // Get or generate id
24 | if(!$attrs.id){
25 | id = 'zingchart-auto-' + currentAutoId;
26 | currentAutoId++;
27 | $attrs.id = id;
28 | // newly generated id has to be put back on the element too to meet
29 | // zingcharts requirements
30 | $element.attr('id', id);
31 | }
32 | else{
33 | if($attrs.id.indexOf('{{') > -1){
34 | id=$scope.id;
35 | $element.attr('id', id);
36 | }
37 | else{
38 | id = $attrs.id;
39 | }
40 | }
41 |
42 | var initializing = {
43 | json : true,
44 | values : true,
45 | render : true
46 | };
47 | $scope.$watchCollection('zcValues', function(){
48 | if(initializing.values){
49 | initializing.values = !initializing.values;
50 | return;
51 | }
52 | if($scope.zcValues){
53 | if(isMultiArray($scope.zcValues)){
54 | zingchart.exec(id, 'setseriesvalues', {
55 | values : $scope.zcValues
56 | });
57 | }
58 | else{
59 | zingchart.exec(id, 'setseriesvalues', {
60 | values : [$scope.zcValues]
61 | });
62 | }
63 | }
64 | });
65 |
66 | $scope.$watch('zcLicense', function(newValue, oldValue, scope) {
67 | if(initializing.license){
68 | initializing.license = !initializing.license;
69 | return;
70 | }
71 |
72 | ZC.LICENSE = scope.zcLicense;
73 | scope.zcLicense = newValue;
74 | },true);
75 |
76 | $scope.$watch('zcJson', function(){
77 | if(initializing.json){
78 | initializing.json = !initializing.json;
79 | return;
80 | }
81 | if($attrs.zcJson){
82 | var _json = $scope.zcJson;
83 |
84 | //Inject values
85 | if($scope.zcValues){
86 | injectValues($scope.zcValues, _json);
87 | }
88 | //Inject type
89 | if(JSON.stringify(_json).indexOf('type') === -1){
90 | _json.type = 'line';
91 | }
92 | else{
93 | _json.type = ($attrs.zcType) ? $attrs.zcType : _json.type
94 | }
95 | zingchart.exec(id, 'setdata', {
96 | data : _json
97 | });
98 | }
99 | },true);
100 |
101 | $scope.$watch('zcRender', function(newValue, oldValue, scope) {
102 | if(initializing.render){
103 | initializing.render = !initializing.render;
104 | return;
105 | }
106 |
107 | // Destroy the chart and re-render it with changed attributes
108 | zingchart.exec(scope.id, 'destroy');
109 | scope.zcRender = newValue;
110 | scope.renderChart();
111 | },true);
112 |
113 | $scope.renderChart = function (){
114 | var id = $element.attr('id');
115 | //Defaults
116 | var _json = {
117 | data : {
118 | type : 'line',
119 | series : []
120 | },
121 | width : 600,
122 | height: 400
123 | };
124 |
125 | //Add render object.
126 | if($scope.zcRender){
127 | mergeObject($scope.zcRender, _json);
128 | }
129 |
130 | //Add JSON object
131 | if($scope.zcJson){
132 | mergeObject($scope.zcJson, _json.data);
133 | }
134 |
135 | //Add Values
136 | if($scope.zcValues){
137 | injectValues($scope.zcValues, _json.data);
138 | }
139 |
140 | //Add other properties
141 | _json.data.type = ($attrs.zcType) ? $attrs.zcType : _json.data.type;
142 | _json.height = ($attrs.zcHeight) ? $attrs.zcHeight : _json.height;
143 | _json.width = ($attrs.zcWidth) ? $attrs.zcWidth : _json.width;
144 | _json.id = id;
145 |
146 | //Set the box-model of the container element if the height or width are defined as 100%.
147 | if(_json.width === "100%" && !$element.css('width')){
148 | $element.css('width', '100%');
149 | }
150 | if(_json.height === "100%" && !$element.css('height')){
151 | $element.css('height', '100%');
152 | }
153 | ZC.LICENSE = $scope.zcLicense;
154 | zingchart.render(_json);
155 | }
156 |
157 | $scope.$on('$destroy', function() {
158 | zingchart.exec($scope.id,'destroy');
159 | });
160 | }],
161 | link : function($scope){
162 | $scope.renderChart();
163 | }
164 | };
165 | }]);
166 |
167 | /**
168 | * Injects values into each series, and handles multi series cases.
169 | * @param the values to inject into the config object
170 | * @param the configuration object itself.
171 | */
172 | function injectValues(values, config) {
173 | if(typeof config.series === 'undefined'){
174 | config.series = [];
175 | }
176 | //Single Series
177 | if(!isMultiArray(values)){
178 | if(config.series[0]){
179 | config.series[0].values = values;
180 | }
181 | else{
182 | config.series.push({'values' : values});
183 | }
184 | }
185 | //Multi Series
186 | else{
187 | for(var i = 0; i < values.length; i++){
188 | if(config.series[i]){
189 | config.series[i].values = values[i];
190 | }
191 | else{
192 | config.series.push({'values' : values[i]});
193 | }
194 | }
195 | }
196 | return config;
197 | }
198 |
199 | /**
200 | * Helper function to merge an object into another, overwriting properties.
201 | * A shallow, not a recursive merge
202 | * @param {object} fromObj - The object that has properties to be merged
203 | * @param {object} intoObj - The object being merged into (Result)
204 | */
205 | function mergeObject(fromObj, intoObj){
206 | for(var property in fromObj){
207 | if (fromObj.hasOwnProperty(property)) {
208 | intoObj[property] = fromObj[property];
209 | }
210 | }
211 | }
212 |
213 | /**
214 | * Determines whether an array is multidimensional or not.
215 | * @param {array} _array - The array to test
216 | * @returns {boolean} - true if the array is multidimensional, false otherwise
217 | */
218 | function isMultiArray(_array){
219 | return Array.isArray(_array[0]);
220 | }
221 |
222 | })();
223 |
--------------------------------------------------------------------------------
/test/defaults.js:
--------------------------------------------------------------------------------
1 | describe('ZingChart Directive', function(){
2 | this.timeout(5000);
3 | beforeEach(module('zingchart-angularjs'));
4 |
5 | var _$scope;
6 | var _$compile;
7 |
8 | beforeEach(function(done){
9 | inject(function ($compile, $rootScope) {
10 | _$scope = $rootScope.$new();
11 | _$compile = $compile;
12 | var completed = 0;
13 | zingchart.complete=function(p){
14 | completed++;
15 | if(completed == 8){
16 | done();
17 | }
18 | }
19 | $('').appendTo('body');
20 |
21 | //Cases 1+2
22 |
23 | $('').appendTo("#container");
24 |
25 | //Case 3
26 | _$scope.myValues2 = [[3,2,3,3,9] , [1,2,3,4,5]];
27 | $('').appendTo("#container");
28 |
29 | //Case 4
30 | _$scope.myValues3 = [1,2,3,4,5];
31 | $('').appendTo("#container");
32 |
33 | //Case 5
34 | _$scope.myValues4 = [1,2,3,4,5];
35 | _$scope.myJson4 = {
36 | "series":[
37 | {
38 | "line-color":"#ff653f",
39 | "marker":{
40 | "background-color":"#900000",
41 | "border-width":1,
42 | "shadow":0,
43 | "border-color":"#f56b6b"
44 | }
45 | }
46 | ]
47 | };
48 | $('').appendTo("#container");
49 |
50 | //Case 6
51 | _$scope.myValues5 = [5,5,6,7,10];
52 | _$scope.myJson5 = {
53 | "series":[
54 | {
55 | "line-color":"#007790",
56 | "marker":{
57 | "background-color":"#007790",
58 | "border-width":1,
59 | "shadow":0,
60 | "border-color":"#69dbf1"
61 | },
62 | "values": [0,0,0,2,3]
63 | },
64 | {
65 | "line-color":"#007790",
66 | "marker":{
67 | "background-color":"#007790",
68 | "border-width":1,
69 | "shadow":0,
70 | "border-color":"#69dbf1"
71 | },
72 | "values" : [1,2,3,4,5]
73 | }
74 | ]
75 | };
76 | $('').appendTo("#container");
77 |
78 | //Case 7
79 | _$scope.myValues6 = [[10,20,30,44,99],[20,30,50,20,50]];
80 | _$scope.myJson6 = {
81 | "series":[
82 | {
83 | "line-color":"#33d911",
84 | "marker":{
85 | "background-color":"#90e496",
86 | "border-width":1,
87 | "shadow":0,
88 | "border-color":"#6bf56e"
89 | },
90 | "values": [0,0,0,2,3]
91 | },
92 | {
93 | "line-color":"#90005b",
94 | "marker":{
95 | "background-color":"#8b0090",
96 | "border-width":1,
97 | "shadow":0,
98 | "border-color":"#d6aee7"
99 | },
100 | "values" : [1,2,3,4,5]
101 | }
102 | ]
103 | };
104 | _$scope.myRender6 = {
105 | "output" : "canvas",
106 | "data" : {
107 | "series" : [{
108 | "values" : [1,1,1]
109 | }]
110 | }
111 | };
112 | $('').appendTo("#container");
113 |
114 | //Case 8
115 | _$scope.myValues7 = [[3,2,3,3,9] , [1,2,3,4,5]];
116 | $('').appendTo("#container");
117 |
118 | //Case 9
119 | _$scope.myValues8 = [3,2,3,3,9];
120 | _$scope.myJson8 = {
121 | "type": "bar"
122 | };
123 | $('').appendTo("#container");
124 |
125 |
126 | var $element = _$compile(document.getElementById('container'))(_$scope);
127 |
128 | });
129 | });
130 | //Case 1
131 | it("should create chart-1 : render an empty zingchart", function(){
132 | var output = zingchart.exec('chart-1', 'getdata');
133 | var expected = {
134 | "graphset": [{
135 | "type":"line",
136 | "series":[]
137 | }]
138 | };
139 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
140 |
141 | });
142 |
143 | //Case 2
144 | it("should render chart-1 with default width and height", function(){
145 | var output = zingchart.exec('chart-1', 'getobjectinfo', {
146 | object : 'graph'
147 | });
148 | expect(output.width).to.equal(600);
149 | expect(output.height).to.equal(400);
150 | });
151 |
152 | //Case 3
153 | it("should render chart-2, a line chart with 2 series", function(){
154 | var output = zingchart.exec('chart-2', 'getdata');
155 | var expected = {
156 | "graphset": [{
157 | "type":"line",
158 | "series":[
159 | {"values" : [3,2,3,3,9]},
160 | {"values" : [1,2,3,4,5]},
161 | ]
162 | }]
163 | };
164 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
165 | });
166 |
167 | //Case 4
168 | it("should render chart-3; a line chart with 1 series", function(){
169 | var output = zingchart.exec('chart-3', 'getdata');
170 | var expected = {
171 | "graphset": [{
172 | "type":"line",
173 | "series":[
174 | {"values" : [1,2,3,4,5]},
175 | ]
176 | }]
177 | };
178 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
179 | });
180 |
181 | //Case 5
182 | it("should render chart-4; a line chart with 1 series, and a data object", function(){
183 | var output = zingchart.exec('chart-4', 'getdata');
184 | var expected = {
185 | "graphset":[{
186 | "type":"line",
187 | "series":[{
188 | "line-color":"#ff653f",
189 | "marker":{
190 | "background-color":"#900000",
191 | "border-width":1,
192 | "shadow":0,
193 | "border-color":"#f56b6b"
194 | },
195 | "values":[1,2,3,4,5]}
196 | ]}
197 | ]
198 | };
199 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
200 | });
201 |
202 | //Case 6
203 | it("should render chart-5; a line chart with 1 series, and a data object with 2 series", function(){
204 | var output = zingchart.exec('chart-5', 'getdata');
205 | var expected = {
206 | "graphset":[{
207 | "type":"line",
208 | "series":[
209 | {
210 | "line-color":"#007790",
211 | "marker":{
212 | "background-color":"#007790",
213 | "border-width":1,
214 | "shadow":0,
215 | "border-color":"#69dbf1"
216 | },
217 | "values":[5,5,6,7,10]
218 | },
219 | {
220 | "line-color":"#007790",
221 | "marker":{
222 | "background-color":"#007790",
223 | "border-width":1,
224 | "shadow":0,
225 | "border-color":"#69dbf1"
226 | },
227 | "values":[1,2,3,4,5]
228 | }
229 | ]}
230 | ]
231 | };
232 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
233 | });
234 |
235 | //Case 7
236 | it("should render chart-6; a line chart with 2 series, and a data object with 2 series, and a render object with 1 series in canvas", function(){
237 | var output = zingchart.exec('chart-6', 'getdata');
238 | var expected = {
239 | "graphset": [{
240 | "series": [{
241 | "line-color": "#33d911",
242 | "marker": {
243 | "background-color": "#90e496",
244 | "border-width": 1,
245 | "shadow": 0,
246 | "border-color": "#6bf56e"
247 | },
248 | "values": [10, 20, 30, 44, 99]
249 | }, {
250 | "line-color": "#90005b",
251 | "marker": {
252 | "background-color": "#8b0090",
253 | "border-width": 1,
254 | "shadow": 0,
255 | "border-color": "#d6aee7"
256 | },
257 | "values": [20, 30, 50, 20, 50]
258 | }]
259 | }]
260 | };
261 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
262 | });
263 |
264 | //Case 8
265 | it("should render chart-7 a 1 series bar chart", function(){
266 | var output = zingchart.exec('chart-7', 'getdata');
267 | var expected = {
268 | "graphset": [{
269 | "type": "bar",
270 | "series": [{
271 | "values": [3, 2, 3, 3, 9]
272 | }, {
273 | "values": [1, 2, 3, 4, 5]
274 | }]
275 | }]
276 | };
277 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
278 | });
279 |
280 | //Case 9
281 | it("should render chart-8; a line chart with a json that specifies bar, but is overwritten", function(){
282 | var output = zingchart.exec('chart-8', 'getdata');
283 | var expected = {
284 | "graphset":[{
285 | "type":"line",
286 | "series":[{
287 | "values":[3,2,3,3,9]
288 | }]
289 | }]
290 | };
291 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected));
292 | });
293 | });
294 |
--------------------------------------------------------------------------------