├── .babelrc ├── .gitignore ├── .npmignore ├── LICENSE.md ├── README.md ├── demo ├── getMaxTextureSize.js ├── index.html ├── index.js ├── pano_2048.jpg ├── pano_4096.jpg ├── pano_7000.jpg └── screenshot.jpg ├── index.js ├── package-lock.json └── package.json /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | presets: [ "es2015" ] 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bower_components 2 | node_modules 3 | *.log 4 | .DS_Store 5 | bundle.js 6 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | bower_components 2 | node_modules 3 | *.log 4 | .DS_Store 5 | bundle.js 6 | test 7 | test.js 8 | demo/ 9 | .npmignore 10 | LICENSE.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2016 Jam3 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 20 | OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 360-image-viewer 2 | 3 | A standalone panorama WebGL image viewer for desktop and mobile. This uses [regl](https://www.npmjs.com/package/regl) as the WebGL wrapper, and comes in at a total of 140kb uglified, or 46kb gzipped. This is useful if you need a panorama viewer but don't want to embed all of ThreeJS (which is around 500kb uglified). 4 | 5 | ## Install 6 | 7 | ```sh 8 | npm install 360-image-viewer --save 9 | ``` 10 | 11 | ## Live Demo 12 | 13 | Click [here](http://360-image-viewer-test.surge.sh/) to see a demo of this module in action. The source code is in [demo/index.js](./demo/index.js). 14 | 15 | [](http://360-image-viewer-test.surge.sh/) 16 | 17 | ## Example 18 | 19 | The code below sets up a full-screen 360 image viewer. For a more complete example, see [demo/index.js](./demo/index.js). 20 | 21 | ```js 22 | const create360Viewer = require('360-image-viewer'); 23 | const canvasFit = require('canvas-fit'); 24 | 25 | // load your image 26 | const image = new Image(); 27 | image.src = 'panosphere.jpg'; 28 | 29 | image.onload = () => { 30 | // when the image is loaded, setup the viewer 31 | const viewer = create360Viewer({ 32 | image: image 33 | }); 34 | 35 | // attach canvas to body 36 | document.body.appendChild(viewer.canvas); 37 | 38 | // setup fullscreen canvas sizing 39 | const fit = canvasFit(viewer.canvas, window, window.devicePixelRatio); 40 | window.addEventListener('resize', fit, false); 41 | fit(); 42 | 43 | // start the render loop 44 | viewer.start(); 45 | }; 46 | ``` 47 | 48 | ## Usage 49 | 50 | #### `viewer = create360Viewer([opt])` 51 | 52 | Creates and returns a new WebGL canvas viewer with the specified `opt` options object. 53 | 54 | Options: 55 | 56 | - `image` — the HTMLImageElement, if not specified it can be set later 57 | - `canvas` — a `` tag to use, otherwise creates a new one 58 | - `fov` — a field of view, in radians, defaults to 45 degrees 59 | - `rotateSpeed` — a scalar for the drag rotation speed, default 0.15 60 | - `damping` — a scalar for damping/spring, default 0.275 61 | - `clearColor` — a RGBA clear color, default `[ 0, 0, 0, 0 ]` (ie. transparent) 62 | 63 | You can also pass [orbit-controls](https://github.com/Jam3/orbit-controls) options, for example `phi` as the initial rotation, or passing `{ rotate: fale }` to ignore mouse/touch rotation. 64 | 65 | The `image` should be a DOM Image or Video element, and should already be loaded. 66 | 67 | #### `viewer.start()` 68 | 69 | Start the requestAnimationFrame render loop. 70 | 71 | #### `viewer.stop()` 72 | 73 | Stop the requestAnimationFrame render loop. 74 | 75 | #### `viewer.render()` 76 | 77 | Render a single frame. This may be useful if, say, you change the canvas size when the requestAnimationFrame is not running. 78 | 79 | #### `viewer.enableControls()` 80 | 81 | Enable the input controls, attaching mouse/touch events to the canvas. Has no effect if the controls are already enabled. 82 | 83 | #### `viewer.disableControls()` 84 | 85 | Disable the input controls, detaching mouse/touch events from the canvas. Has no effect if the controls are already disabled. 86 | 87 | #### `viewer.texture(image)` 88 | 89 | Changes the current image to the specified DOM `image`. This can be an image, video, or an options object for [regl#texture()](https://github.com/regl-project/regl/blob/gh-pages/API.md#textures). By default, `min` and `mag` filter will use `'linear'` for smoother filtering. 90 | 91 | #### `viewer.destroy()` 92 | 93 | Stop the render loop, disable the input controls, and destroy the WebGL context. The viewer will no longer be usable after this point. 94 | 95 | #### `viewer.canvas` 96 | 97 | The canvas the viewer will render into. 98 | 99 | #### `viewer.fov` 100 | 101 | The current field of view of the perspective camera in radians. Can be altered at run-time. 102 | 103 | #### `viewer.phi` 104 | 105 | The current horizontal rotation angle in radians. 106 | 107 | #### `viewer.theta` 108 | 109 | The current vertical rotation angle in radians. 110 | 111 | #### `viewer.on('tick', fn)` 112 | 113 | Attach a frame listener to the viewer, where `fn` accepts the `dt` (delta time) parameter per frame. You can remove this with `viewer.removeListener('tick', fn)`. 114 | 115 | ## License 116 | 117 | MIT, see [LICENSE.md](http://github.com/Jam3/360-image-viewer/blob/master/LICENSE.md) for details. 118 | -------------------------------------------------------------------------------- /demo/getMaxTextureSize.js: -------------------------------------------------------------------------------- 1 | const getContext = require('get-canvas-context'); 2 | const DEFAULT_SIZE = 1024; 3 | 4 | module.exports = function () { 5 | const gl = getContext('webgl'); 6 | return gl ? gl.getParameter(gl.MAX_TEXTURE_SIZE) : DEFAULT_SIZE; 7 | }; 8 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 360-image-viewer 7 | 8 | 68 | 69 | 70 | 71 |
72 |
73 |

Drop an equirectangular JPG or PNG here to view it in 360º

74 |
75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /demo/index.js: -------------------------------------------------------------------------------- 1 | const create360Viewer = require('../'); 2 | const getMaxTextureSize = require('./getMaxTextureSize'); 3 | const dragDrop = require('drag-drop'); 4 | 5 | const dropRegion = document.querySelector('#drop-region'); 6 | 7 | // Get a canvas of some sort, e.g. fullscreen or embedded in a site 8 | const canvas = createCanvas({ 9 | canvas: document.querySelector('#canvas'), 10 | // without this, the canvas defaults to full-screen 11 | // viewport: [ 20, 20, 500, 256 ] 12 | }); 13 | 14 | // Get the max image size possible 15 | const imageUrl = getImageURL(); 16 | 17 | // whether to always rotate the view 18 | const autoSpin = false; 19 | 20 | // Load your image 21 | const image = new Image(); 22 | image.src = imageUrl; 23 | image.onload = () => { 24 | // Setup the 360 viewer 25 | const viewer = create360Viewer({ 26 | image: image, 27 | canvas: canvas 28 | }); 29 | 30 | setupDragDrop(canvas, viewer); 31 | 32 | // Start canvas render loop 33 | viewer.start(); 34 | 35 | viewer.on('tick', (dt) => { 36 | if (autoSpin && !viewer.controls.dragging) { 37 | viewer.controls.theta -= dt * 0.00005; 38 | } 39 | }); 40 | }; 41 | 42 | // Utility to create a device pixel scaled canvas 43 | function createCanvas (opt = {}) { 44 | // default to full screen (no width/height specified) 45 | const viewport = opt.viewport || [ 0, 0 ]; 46 | 47 | const canvas = opt.canvas || document.createElement('canvas'); 48 | canvas.style.position = 'absolute'; 49 | canvas.style.top = `${viewport[0]}px`; 50 | canvas.style.left = `${viewport[1]}px`; 51 | 52 | // Resize the canvas with the proper device pixel ratio 53 | const resizeCanvas = () => { 54 | // default to fullscreen if viewport width/height is unspecified 55 | const width = typeof viewport[2] === 'number' ? viewport[2] : window.innerWidth; 56 | const height = typeof viewport[3] === 'number' ? viewport[3] : window.innerHeight; 57 | const dpr = window.devicePixelRatio; 58 | canvas.width = width * dpr; 59 | canvas.height = height * dpr; 60 | canvas.style.width = `${width}px`; 61 | canvas.style.height = `${height}px`; 62 | }; 63 | 64 | // Ensure the grab cursor appears even when the mouse is outside the window 65 | const setupGrabCursor = () => { 66 | canvas.addEventListener('mousedown', () => { 67 | document.documentElement.classList.remove('grabbing'); 68 | document.documentElement.classList.add('grabbing'); 69 | }); 70 | window.addEventListener('mouseup', () => { 71 | document.documentElement.classList.remove('grabbing'); 72 | }); 73 | }; 74 | 75 | window.addEventListener('resize', resizeCanvas); 76 | resizeCanvas(); 77 | setupGrabCursor(); 78 | return canvas; 79 | } 80 | 81 | function getImageURL () { 82 | // Choose a large texture size based on our GPU 83 | const maxTextureSize = getMaxTextureSize(); 84 | let imageUrl = 'pano_2048.jpg'; 85 | if (maxTextureSize >= 7000) imageUrl = 'pano_7000.jpg'; 86 | else if (maxTextureSize >= 4096) imageUrl = 'pano_4096.jpg'; 87 | return imageUrl; 88 | } 89 | 90 | function setupDragDrop (canvas, viewer) { 91 | dragDrop(canvas, { 92 | onDragEnter: () => { 93 | dropRegion.style.display = ''; 94 | }, 95 | onDragLeave: () => { 96 | dropRegion.style.display = 'none'; 97 | }, 98 | onDrop: (files) => { 99 | var img = new Image(); 100 | img.onload = () => { 101 | viewer.texture(img); 102 | }; 103 | img.onerror = () => { 104 | alert('Could not load image!'); 105 | }; 106 | img.crossOrigin = 'Anonymous'; 107 | img.src = URL.createObjectURL(files[0]); 108 | } 109 | }); 110 | } -------------------------------------------------------------------------------- /demo/pano_2048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Experience-Monks/360-image-viewer/37fd48687b6b3f016b894a713085411ebfd07500/demo/pano_2048.jpg -------------------------------------------------------------------------------- /demo/pano_4096.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Experience-Monks/360-image-viewer/37fd48687b6b3f016b894a713085411ebfd07500/demo/pano_4096.jpg -------------------------------------------------------------------------------- /demo/pano_7000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Experience-Monks/360-image-viewer/37fd48687b6b3f016b894a713085411ebfd07500/demo/pano_7000.jpg -------------------------------------------------------------------------------- /demo/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Experience-Monks/360-image-viewer/37fd48687b6b3f016b894a713085411ebfd07500/demo/screenshot.jpg -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var createSphere = require('primitive-sphere'); 2 | var createControls = require('orbit-controls'); 3 | var createCamera = require('perspective-camera'); 4 | var createRegl = require('regl'); 5 | var createLoop = require('raf-loop'); 6 | var defined = require('defined'); 7 | var assign = require('object-assign'); 8 | 9 | // Generate some vertex data for a UV sphere 10 | // This can be re-used instead of computed each time 11 | var sphere; 12 | 13 | module.exports = create360Viewer; 14 | function create360Viewer (opt) { 15 | opt = opt || {}; 16 | 17 | var canvas = opt.canvas || document.createElement('canvas'); 18 | 19 | if (!sphere) { 20 | sphere = createSphere(1, { 21 | segments: 64 22 | }); 23 | } 24 | 25 | // Create a new regl instance 26 | var regl = createRegl({ 27 | canvas: canvas 28 | }); 29 | 30 | // Our perspective camera will hold projection/view matrices 31 | var camera = createCamera({ 32 | fov: defined(opt.fov, 45 * Math.PI / 180), 33 | near: 0.1, 34 | far: 10 35 | }) 36 | 37 | // The mouse/touch input controls for the orbiting in 360 38 | var controls = createControls(assign({}, opt, { 39 | element: canvas, 40 | parent: window, 41 | rotateSpeed: defined(opt.rotateSpeed, 0.75 / (Math.PI * 2)), 42 | damping: defined(opt.damping, 0.35), 43 | zoom: false, 44 | pinch: false, 45 | distance: 0 46 | })); 47 | 48 | // settings for gl.clear 49 | var clearOpts = { 50 | color: [ 0, 0, 0, 0 ], 51 | depth: 1 52 | }; 53 | 54 | var gl = regl._gl; 55 | var destroyed = false; 56 | 57 | // allow HTMLImageElement or unspecified image 58 | var texture = regl.texture(getTextureParams(opt.image)) 59 | 60 | // We create a new "mesh" that represents our 360 textured sphere 61 | var drawMesh = regl({ 62 | // The uniforms for this shader 63 | uniforms: { 64 | // Creates a GPU texture from our Image 65 | map: texture, 66 | // Camera matrices will have to be passed into this mesh 67 | projection: regl.prop('projection'), 68 | view: regl.prop('view') 69 | }, 70 | // The fragment shader 71 | frag: [ 72 | 'precision highp float;', 73 | 'uniform sampler2D map;', 74 | 'uniform vec4 color;', 75 | 'varying vec2 vUv;', 76 | 'void main() {', 77 | ' vec2 uv = 1.0 - vUv;', 78 | ' gl_FragColor = texture2D(map, uv);', 79 | '}', 80 | ].join('\n'), 81 | // The vertex shader 82 | vert: [ 83 | 'precision highp float;', 84 | 'attribute vec3 position;', 85 | 'attribute vec2 uv;', 86 | 'uniform mat4 projection;', 87 | 'uniform mat4 view;', 88 | 'varying vec2 vUv;', 89 | 'void main() {', 90 | ' vUv = uv;', 91 | ' gl_Position = projection * view * vec4(position.xyz, 1.0);', 92 | '}' 93 | ].join('\n'), 94 | // The attributes of the mesh, position and uv (texture coordinate) 95 | attributes: { 96 | position: regl.buffer(sphere.positions), 97 | uv: regl.buffer(sphere.uvs) 98 | }, 99 | // The indices of the mesh 100 | elements: regl.elements(sphere.cells) 101 | }); 102 | 103 | var api = createLoop(render); 104 | 105 | api.clearColor = opt.clearColor || clearOpts.color; 106 | api.canvas = canvas; 107 | api.enableControls = controls.enable; 108 | api.disableControls = controls.disable; 109 | api.destroy = destroy; 110 | api.render = render; 111 | 112 | api.texture = function (opt) { 113 | texture(getTextureParams(opt)); 114 | }; 115 | 116 | api.controls = controls; 117 | api.camera = camera; 118 | api.gl = gl; 119 | 120 | // render first frame 121 | render(); 122 | 123 | return api; 124 | 125 | function getTextureParams (image) { 126 | var defaults = { 127 | min: 'linear', 128 | mag: 'linear' 129 | }; 130 | if (image instanceof Image || image instanceof HTMLImageElement || 131 | image instanceof HTMLMediaElement || image instanceof HTMLVideoElement) { 132 | var size = image.width * image.height; 133 | return assign(defaults, { 134 | data: size > 0 ? image : null 135 | }); 136 | } else { 137 | return assign(defaults, image); 138 | } 139 | } 140 | 141 | function destroy () { 142 | destroyed = true; 143 | api.stop(); 144 | controls.disable(); 145 | regl.destroy(); 146 | } 147 | 148 | function render () { 149 | if (destroyed) return; 150 | 151 | // poll for GL changes 152 | regl.poll() 153 | 154 | var width = gl.drawingBufferWidth; 155 | var height = gl.drawingBufferHeight; 156 | 157 | // clear contents of the drawing buffer 158 | clearOpts.color = api.clearColor; 159 | regl.clear(clearOpts); 160 | 161 | // update input controls and copy into our perspective camera 162 | controls.update(); 163 | controls.copyInto(camera.position, camera.direction, camera.up); 164 | 165 | // update camera viewport and matrices 166 | camera.viewport[0] = 0; 167 | camera.viewport[1] = 0; 168 | camera.viewport[2] = width; 169 | camera.viewport[3] = height; 170 | camera.update(); 171 | 172 | // draw our 360 sphere with the new camera matrices 173 | drawMesh({ 174 | projection: camera.projection, 175 | view: camera.view 176 | }); 177 | 178 | // flush all pending webgl calls 179 | gl.flush() 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "360-image-viewer", 3 | "version": "1.0.1", 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "acorn": { 7 | "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", 8 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", 9 | "dev": true 10 | }, 11 | "ansi-regex": { 12 | "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 13 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 14 | "dev": true 15 | }, 16 | "ansi-styles": { 17 | "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 18 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 19 | "dev": true 20 | }, 21 | "anymatch": { 22 | "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", 23 | "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", 24 | "dev": true 25 | }, 26 | "arr-diff": { 27 | "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 28 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 29 | "dev": true 30 | }, 31 | "arr-flatten": { 32 | "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz", 33 | "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=", 34 | "dev": true 35 | }, 36 | "array-filter": { 37 | "version": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", 38 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", 39 | "dev": true 40 | }, 41 | "array-find-index": { 42 | "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 43 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 44 | "dev": true 45 | }, 46 | "array-map": { 47 | "version": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", 48 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", 49 | "dev": true 50 | }, 51 | "array-reduce": { 52 | "version": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", 53 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", 54 | "dev": true 55 | }, 56 | "array-unique": { 57 | "version": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 58 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 59 | "dev": true 60 | }, 61 | "arrify": { 62 | "version": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 63 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 64 | "dev": true 65 | }, 66 | "asn1": { 67 | "version": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", 68 | "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", 69 | "dev": true, 70 | "optional": true 71 | }, 72 | "asn1.js": { 73 | "version": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", 74 | "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", 75 | "dev": true 76 | }, 77 | "assert": { 78 | "version": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", 79 | "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", 80 | "dev": true 81 | }, 82 | "assert-plus": { 83 | "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", 84 | "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", 85 | "dev": true, 86 | "optional": true 87 | }, 88 | "astw": { 89 | "version": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", 90 | "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", 91 | "dev": true 92 | }, 93 | "async": { 94 | "version": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", 95 | "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", 96 | "dev": true 97 | }, 98 | "async-each": { 99 | "version": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", 100 | "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", 101 | "dev": true 102 | }, 103 | "aws-sign2": { 104 | "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", 105 | "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", 106 | "dev": true, 107 | "optional": true 108 | }, 109 | "babel-code-frame": { 110 | "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", 111 | "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", 112 | "dev": true 113 | }, 114 | "babel-core": { 115 | "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", 116 | "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", 117 | "dev": true 118 | }, 119 | "babel-generator": { 120 | "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", 121 | "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", 122 | "dev": true, 123 | "dependencies": { 124 | "jsesc": { 125 | "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 126 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 127 | "dev": true 128 | } 129 | } 130 | }, 131 | "babel-helper-call-delegate": { 132 | "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 133 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 134 | "dev": true 135 | }, 136 | "babel-helper-define-map": { 137 | "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", 138 | "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", 139 | "dev": true 140 | }, 141 | "babel-helper-function-name": { 142 | "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 143 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 144 | "dev": true 145 | }, 146 | "babel-helper-get-function-arity": { 147 | "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 148 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 149 | "dev": true 150 | }, 151 | "babel-helper-hoist-variables": { 152 | "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 153 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 154 | "dev": true 155 | }, 156 | "babel-helper-optimise-call-expression": { 157 | "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 158 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 159 | "dev": true 160 | }, 161 | "babel-helper-regex": { 162 | "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", 163 | "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", 164 | "dev": true 165 | }, 166 | "babel-helper-replace-supers": { 167 | "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 168 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 169 | "dev": true 170 | }, 171 | "babel-helpers": { 172 | "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 173 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 174 | "dev": true 175 | }, 176 | "babel-messages": { 177 | "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 178 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 179 | "dev": true 180 | }, 181 | "babel-plugin-check-es2015-constants": { 182 | "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 183 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 184 | "dev": true 185 | }, 186 | "babel-plugin-transform-es2015-arrow-functions": { 187 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 188 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 189 | "dev": true 190 | }, 191 | "babel-plugin-transform-es2015-block-scoped-functions": { 192 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 193 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 194 | "dev": true 195 | }, 196 | "babel-plugin-transform-es2015-block-scoping": { 197 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", 198 | "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", 199 | "dev": true 200 | }, 201 | "babel-plugin-transform-es2015-classes": { 202 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 203 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 204 | "dev": true 205 | }, 206 | "babel-plugin-transform-es2015-computed-properties": { 207 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 208 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 209 | "dev": true 210 | }, 211 | "babel-plugin-transform-es2015-destructuring": { 212 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 213 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 214 | "dev": true 215 | }, 216 | "babel-plugin-transform-es2015-duplicate-keys": { 217 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 218 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 219 | "dev": true 220 | }, 221 | "babel-plugin-transform-es2015-for-of": { 222 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 223 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 224 | "dev": true 225 | }, 226 | "babel-plugin-transform-es2015-function-name": { 227 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 228 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 229 | "dev": true 230 | }, 231 | "babel-plugin-transform-es2015-literals": { 232 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 233 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 234 | "dev": true 235 | }, 236 | "babel-plugin-transform-es2015-modules-amd": { 237 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 238 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 239 | "dev": true 240 | }, 241 | "babel-plugin-transform-es2015-modules-commonjs": { 242 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", 243 | "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", 244 | "dev": true 245 | }, 246 | "babel-plugin-transform-es2015-modules-systemjs": { 247 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 248 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 249 | "dev": true 250 | }, 251 | "babel-plugin-transform-es2015-modules-umd": { 252 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 253 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 254 | "dev": true 255 | }, 256 | "babel-plugin-transform-es2015-object-super": { 257 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 258 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 259 | "dev": true 260 | }, 261 | "babel-plugin-transform-es2015-parameters": { 262 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 263 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 264 | "dev": true 265 | }, 266 | "babel-plugin-transform-es2015-shorthand-properties": { 267 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 268 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 269 | "dev": true 270 | }, 271 | "babel-plugin-transform-es2015-spread": { 272 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 273 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 274 | "dev": true 275 | }, 276 | "babel-plugin-transform-es2015-sticky-regex": { 277 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 278 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 279 | "dev": true 280 | }, 281 | "babel-plugin-transform-es2015-template-literals": { 282 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 283 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 284 | "dev": true 285 | }, 286 | "babel-plugin-transform-es2015-typeof-symbol": { 287 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 288 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 289 | "dev": true 290 | }, 291 | "babel-plugin-transform-es2015-unicode-regex": { 292 | "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 293 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 294 | "dev": true 295 | }, 296 | "babel-plugin-transform-regenerator": { 297 | "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", 298 | "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", 299 | "dev": true 300 | }, 301 | "babel-plugin-transform-strict-mode": { 302 | "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 303 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 304 | "dev": true 305 | }, 306 | "babel-preset-es2015": { 307 | "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", 308 | "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", 309 | "dev": true 310 | }, 311 | "babel-register": { 312 | "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", 313 | "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", 314 | "dev": true 315 | }, 316 | "babel-runtime": { 317 | "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", 318 | "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", 319 | "dev": true 320 | }, 321 | "babel-template": { 322 | "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", 323 | "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", 324 | "dev": true 325 | }, 326 | "babel-traverse": { 327 | "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", 328 | "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", 329 | "dev": true 330 | }, 331 | "babel-types": { 332 | "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", 333 | "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", 334 | "dev": true 335 | }, 336 | "babelify": { 337 | "version": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", 338 | "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", 339 | "dev": true, 340 | "dependencies": { 341 | "object-assign": { 342 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 343 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 344 | "dev": true 345 | } 346 | } 347 | }, 348 | "babylon": { 349 | "version": "https://registry.npmjs.org/babylon/-/babylon-6.17.3.tgz", 350 | "integrity": "sha1-EyfXCZULVY8gTlNSWH/QKQ+Njkg=", 351 | "dev": true 352 | }, 353 | "balanced-match": { 354 | "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 355 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 356 | "dev": true 357 | }, 358 | "base64-js": { 359 | "version": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", 360 | "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", 361 | "dev": true 362 | }, 363 | "binary-extensions": { 364 | "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", 365 | "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=", 366 | "dev": true 367 | }, 368 | "blob-to-buffer": { 369 | "version": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.6.tgz", 370 | "integrity": "sha1-CJrCZMaGtz6tbFOaSEqAA7+7IDM=", 371 | "dev": true 372 | }, 373 | "block-stream": { 374 | "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", 375 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 376 | "dev": true 377 | }, 378 | "bn.js": { 379 | "version": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 380 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", 381 | "dev": true 382 | }, 383 | "bole": { 384 | "version": "https://registry.npmjs.org/bole/-/bole-2.0.0.tgz", 385 | "integrity": "sha1-2KocaQRnv7T+Ebh0rLLoOH44JhU=", 386 | "dev": true 387 | }, 388 | "boom": { 389 | "version": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", 390 | "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", 391 | "dev": true 392 | }, 393 | "brace-expansion": { 394 | "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 395 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 396 | "dev": true 397 | }, 398 | "braces": { 399 | "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 400 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 401 | "dev": true 402 | }, 403 | "brorand": { 404 | "version": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 405 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", 406 | "dev": true 407 | }, 408 | "browser-pack": { 409 | "version": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz", 410 | "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=", 411 | "dev": true 412 | }, 413 | "browser-resolve": { 414 | "version": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", 415 | "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", 416 | "dev": true, 417 | "dependencies": { 418 | "resolve": { 419 | "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", 420 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", 421 | "dev": true 422 | } 423 | } 424 | }, 425 | "browserify": { 426 | "version": "https://registry.npmjs.org/browserify/-/browserify-14.4.0.tgz", 427 | "integrity": "sha1-CJo0Y69Y0OSNjNQHCz90ZU1avKk=", 428 | "dev": true 429 | }, 430 | "browserify-aes": { 431 | "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", 432 | "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", 433 | "dev": true 434 | }, 435 | "browserify-cipher": { 436 | "version": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", 437 | "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", 438 | "dev": true 439 | }, 440 | "browserify-des": { 441 | "version": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", 442 | "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", 443 | "dev": true 444 | }, 445 | "browserify-rsa": { 446 | "version": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", 447 | "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", 448 | "dev": true 449 | }, 450 | "browserify-sign": { 451 | "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", 452 | "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", 453 | "dev": true 454 | }, 455 | "browserify-zlib": { 456 | "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", 457 | "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", 458 | "dev": true 459 | }, 460 | "budo": { 461 | "version": "https://registry.npmjs.org/budo/-/budo-10.0.3.tgz", 462 | "integrity": "sha1-jNrztQOqtae3BxH9okyky7lMYSQ=", 463 | "dev": true 464 | }, 465 | "buffer": { 466 | "version": "https://registry.npmjs.org/buffer/-/buffer-5.0.6.tgz", 467 | "integrity": "sha1-LqZp9+7Atu2gWwj4tf9mGyhXNYg=", 468 | "dev": true 469 | }, 470 | "buffer-xor": { 471 | "version": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 472 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", 473 | "dev": true 474 | }, 475 | "builtin-modules": { 476 | "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 477 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 478 | "dev": true 479 | }, 480 | "builtin-status-codes": { 481 | "version": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", 482 | "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", 483 | "dev": true 484 | }, 485 | "cached-path-relative": { 486 | "version": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", 487 | "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", 488 | "dev": true 489 | }, 490 | "camelcase": { 491 | "version": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 492 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 493 | "dev": true 494 | }, 495 | "camelcase-keys": { 496 | "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", 497 | "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", 498 | "dev": true 499 | }, 500 | "camera-picking-ray": { 501 | "version": "https://registry.npmjs.org/camera-picking-ray/-/camera-picking-ray-1.0.1.tgz", 502 | "integrity": "sha1-SVZ6Ttwt5bwT5Lb9lZUgvxOjBJA=" 503 | }, 504 | "camera-project": { 505 | "version": "https://registry.npmjs.org/camera-project/-/camera-project-1.0.2.tgz", 506 | "integrity": "sha1-0daWxaoWTO6S4hu5IqulK2wKJd4=" 507 | }, 508 | "camera-unproject": { 509 | "version": "https://registry.npmjs.org/camera-unproject/-/camera-unproject-1.0.1.tgz", 510 | "integrity": "sha1-hpJ6nW1TQKjJ422oQPfMttbaEs8=" 511 | }, 512 | "chalk": { 513 | "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 514 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 515 | "dev": true 516 | }, 517 | "chokidar": { 518 | "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", 519 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", 520 | "dev": true 521 | }, 522 | "cipher-base": { 523 | "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", 524 | "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", 525 | "dev": true 526 | }, 527 | "clamp": { 528 | "version": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", 529 | "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" 530 | }, 531 | "colors": { 532 | "version": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", 533 | "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", 534 | "dev": true 535 | }, 536 | "combine-source-map": { 537 | "version": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", 538 | "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", 539 | "dev": true, 540 | "dependencies": { 541 | "convert-source-map": { 542 | "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", 543 | "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", 544 | "dev": true 545 | } 546 | } 547 | }, 548 | "combined-stream": { 549 | "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", 550 | "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", 551 | "dev": true, 552 | "optional": true 553 | }, 554 | "commander": { 555 | "version": "https://registry.npmjs.org/commander/-/commander-1.1.1.tgz", 556 | "integrity": "sha1-UNFlGGiuYOzP8KLZ80WVN2vGsEE=", 557 | "dev": true 558 | }, 559 | "concat-map": { 560 | "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 561 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 562 | "dev": true 563 | }, 564 | "concat-stream": { 565 | "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", 566 | "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", 567 | "dev": true, 568 | "dependencies": { 569 | "readable-stream": { 570 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", 571 | "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", 572 | "dev": true 573 | }, 574 | "string_decoder": { 575 | "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 576 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 577 | "dev": true 578 | } 579 | } 580 | }, 581 | "connect-pushstate": { 582 | "version": "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz", 583 | "integrity": "sha1-vKsiQnHEOWBKD7D2FMCl9WPojiQ=", 584 | "dev": true 585 | }, 586 | "console-browserify": { 587 | "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", 588 | "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", 589 | "dev": true 590 | }, 591 | "constants-browserify": { 592 | "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", 593 | "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", 594 | "dev": true 595 | }, 596 | "convert-source-map": { 597 | "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", 598 | "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", 599 | "dev": true 600 | }, 601 | "core-js": { 602 | "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", 603 | "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", 604 | "dev": true 605 | }, 606 | "core-util-is": { 607 | "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 608 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 609 | "dev": true 610 | }, 611 | "create-ecdh": { 612 | "version": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", 613 | "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", 614 | "dev": true 615 | }, 616 | "create-hash": { 617 | "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", 618 | "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", 619 | "dev": true 620 | }, 621 | "create-hmac": { 622 | "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", 623 | "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", 624 | "dev": true 625 | }, 626 | "cryptiles": { 627 | "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", 628 | "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", 629 | "dev": true, 630 | "optional": true 631 | }, 632 | "crypto-browserify": { 633 | "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", 634 | "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", 635 | "dev": true 636 | }, 637 | "ctype": { 638 | "version": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", 639 | "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", 640 | "dev": true, 641 | "optional": true 642 | }, 643 | "currently-unhandled": { 644 | "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 645 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 646 | "dev": true 647 | }, 648 | "cycle": { 649 | "version": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", 650 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", 651 | "dev": true 652 | }, 653 | "date-now": { 654 | "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", 655 | "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", 656 | "dev": true 657 | }, 658 | "debounce": { 659 | "version": "https://registry.npmjs.org/debounce/-/debounce-1.0.2.tgz", 660 | "integrity": "sha1-UDzGdNjX9zcJlmT7dd29NrlibcY=", 661 | "dev": true 662 | }, 663 | "debug": { 664 | "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", 665 | "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", 666 | "dev": true 667 | }, 668 | "decamelize": { 669 | "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 670 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 671 | "dev": true 672 | }, 673 | "deep-equal": { 674 | "version": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", 675 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", 676 | "dev": true 677 | }, 678 | "defined": { 679 | "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 680 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" 681 | }, 682 | "delayed-stream": { 683 | "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", 684 | "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", 685 | "dev": true, 686 | "optional": true 687 | }, 688 | "depd": { 689 | "version": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", 690 | "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", 691 | "dev": true 692 | }, 693 | "deps-sort": { 694 | "version": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", 695 | "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", 696 | "dev": true 697 | }, 698 | "des.js": { 699 | "version": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", 700 | "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", 701 | "dev": true 702 | }, 703 | "destroy": { 704 | "version": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 705 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", 706 | "dev": true 707 | }, 708 | "detect-indent": { 709 | "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 710 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 711 | "dev": true 712 | }, 713 | "detective": { 714 | "version": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", 715 | "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", 716 | "dev": true 717 | }, 718 | "diffie-hellman": { 719 | "version": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", 720 | "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", 721 | "dev": true 722 | }, 723 | "domain-browser": { 724 | "version": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", 725 | "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", 726 | "dev": true 727 | }, 728 | "dprop": { 729 | "version": "https://registry.npmjs.org/dprop/-/dprop-1.0.0.tgz", 730 | "integrity": "sha1-X0WmCmD6OsHQ9otrQ1gx8v9mVGg=" 731 | }, 732 | "drag-drop": { 733 | "version": "https://registry.npmjs.org/drag-drop/-/drag-drop-2.13.2.tgz", 734 | "integrity": "sha1-oB/0RZEj9a4KjIvZuzjGJcy4FVA=", 735 | "dev": true 736 | }, 737 | "du": { 738 | "version": "https://registry.npmjs.org/du/-/du-0.1.0.tgz", 739 | "integrity": "sha1-8m40CgnHvFtv1pr2263qYPqMb00=", 740 | "dev": true 741 | }, 742 | "duplexer2": { 743 | "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 744 | "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", 745 | "dev": true 746 | }, 747 | "ee-first": { 748 | "version": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 749 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", 750 | "dev": true 751 | }, 752 | "elliptic": { 753 | "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", 754 | "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", 755 | "dev": true 756 | }, 757 | "encodeurl": { 758 | "version": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", 759 | "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", 760 | "dev": true 761 | }, 762 | "error-ex": { 763 | "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 764 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 765 | "dev": true 766 | }, 767 | "escape-html": { 768 | "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 769 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 770 | "dev": true 771 | }, 772 | "escape-string-regexp": { 773 | "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 774 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 775 | "dev": true 776 | }, 777 | "esutils": { 778 | "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 779 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 780 | "dev": true 781 | }, 782 | "etag": { 783 | "version": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", 784 | "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", 785 | "dev": true 786 | }, 787 | "events": { 788 | "version": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 789 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" 790 | }, 791 | "evp_bytestokey": { 792 | "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", 793 | "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", 794 | "dev": true 795 | }, 796 | "expand-brackets": { 797 | "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 798 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 799 | "dev": true 800 | }, 801 | "expand-range": { 802 | "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 803 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 804 | "dev": true 805 | }, 806 | "extglob": { 807 | "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 808 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 809 | "dev": true 810 | }, 811 | "eyes": { 812 | "version": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", 813 | "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", 814 | "dev": true 815 | }, 816 | "filename-regex": { 817 | "version": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 818 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 819 | "dev": true 820 | }, 821 | "fill-range": { 822 | "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", 823 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", 824 | "dev": true 825 | }, 826 | "find-up": { 827 | "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 828 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 829 | "dev": true 830 | }, 831 | "flatten": { 832 | "version": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", 833 | "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", 834 | "dev": true 835 | }, 836 | "for-in": { 837 | "version": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 838 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 839 | "dev": true 840 | }, 841 | "for-own": { 842 | "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 843 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 844 | "dev": true 845 | }, 846 | "forever-agent": { 847 | "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", 848 | "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", 849 | "dev": true 850 | }, 851 | "form-data": { 852 | "version": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", 853 | "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", 854 | "dev": true, 855 | "optional": true, 856 | "dependencies": { 857 | "async": { 858 | "version": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 859 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", 860 | "dev": true, 861 | "optional": true 862 | }, 863 | "mime": { 864 | "version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", 865 | "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", 866 | "dev": true, 867 | "optional": true 868 | } 869 | } 870 | }, 871 | "fresh": { 872 | "version": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", 873 | "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", 874 | "dev": true 875 | }, 876 | "from2": { 877 | "version": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", 878 | "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", 879 | "dev": true 880 | }, 881 | "from2-string": { 882 | "version": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz", 883 | "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=", 884 | "dev": true 885 | }, 886 | "fs.realpath": { 887 | "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 888 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 889 | "dev": true 890 | }, 891 | "fsevents": { 892 | "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz", 893 | "integrity": "sha1-8Z/Sj0Pur3YWgOUZogPE0LPTGv8=", 894 | "dev": true, 895 | "optional": true, 896 | "dependencies": { 897 | "abbrev": { 898 | "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", 899 | "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", 900 | "dev": true, 901 | "optional": true 902 | }, 903 | "ansi-regex": { 904 | "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 905 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 906 | "dev": true 907 | }, 908 | "ansi-styles": { 909 | "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 910 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 911 | "dev": true, 912 | "optional": true 913 | }, 914 | "aproba": { 915 | "version": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", 916 | "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", 917 | "dev": true, 918 | "optional": true 919 | }, 920 | "are-we-there-yet": { 921 | "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", 922 | "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", 923 | "dev": true, 924 | "optional": true 925 | }, 926 | "asn1": { 927 | "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 928 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 929 | "dev": true, 930 | "optional": true 931 | }, 932 | "assert-plus": { 933 | "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 934 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 935 | "dev": true, 936 | "optional": true 937 | }, 938 | "asynckit": { 939 | "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 940 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 941 | "dev": true, 942 | "optional": true 943 | }, 944 | "aws-sign2": { 945 | "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 946 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 947 | "dev": true, 948 | "optional": true 949 | }, 950 | "aws4": { 951 | "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 952 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 953 | "dev": true, 954 | "optional": true 955 | }, 956 | "balanced-match": { 957 | "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", 958 | "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", 959 | "dev": true 960 | }, 961 | "bcrypt-pbkdf": { 962 | "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 963 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 964 | "dev": true, 965 | "optional": true 966 | }, 967 | "block-stream": { 968 | "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", 969 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 970 | "dev": true 971 | }, 972 | "boom": { 973 | "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 974 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 975 | "dev": true 976 | }, 977 | "brace-expansion": { 978 | "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", 979 | "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", 980 | "dev": true 981 | }, 982 | "buffer-shims": { 983 | "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", 984 | "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", 985 | "dev": true 986 | }, 987 | "caseless": { 988 | "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 989 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 990 | "dev": true, 991 | "optional": true 992 | }, 993 | "chalk": { 994 | "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 995 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 996 | "dev": true, 997 | "optional": true 998 | }, 999 | "code-point-at": { 1000 | "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 1001 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 1002 | "dev": true 1003 | }, 1004 | "combined-stream": { 1005 | "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 1006 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 1007 | "dev": true 1008 | }, 1009 | "commander": { 1010 | "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 1011 | "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", 1012 | "dev": true, 1013 | "optional": true 1014 | }, 1015 | "concat-map": { 1016 | "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1017 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1018 | "dev": true 1019 | }, 1020 | "console-control-strings": { 1021 | "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 1022 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", 1023 | "dev": true 1024 | }, 1025 | "core-util-is": { 1026 | "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1027 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 1028 | "dev": true 1029 | }, 1030 | "cryptiles": { 1031 | "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 1032 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 1033 | "dev": true, 1034 | "optional": true 1035 | }, 1036 | "dashdash": { 1037 | "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 1038 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 1039 | "dev": true, 1040 | "optional": true, 1041 | "dependencies": { 1042 | "assert-plus": { 1043 | "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1044 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1045 | "dev": true, 1046 | "optional": true 1047 | } 1048 | } 1049 | }, 1050 | "debug": { 1051 | "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", 1052 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", 1053 | "dev": true, 1054 | "optional": true 1055 | }, 1056 | "deep-extend": { 1057 | "version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", 1058 | "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", 1059 | "dev": true, 1060 | "optional": true 1061 | }, 1062 | "delayed-stream": { 1063 | "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1064 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 1065 | "dev": true 1066 | }, 1067 | "delegates": { 1068 | "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 1069 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", 1070 | "dev": true, 1071 | "optional": true 1072 | }, 1073 | "ecc-jsbn": { 1074 | "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 1075 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 1076 | "dev": true, 1077 | "optional": true 1078 | }, 1079 | "escape-string-regexp": { 1080 | "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1081 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1082 | "dev": true, 1083 | "optional": true 1084 | }, 1085 | "extend": { 1086 | "version": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", 1087 | "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", 1088 | "dev": true, 1089 | "optional": true 1090 | }, 1091 | "extsprintf": { 1092 | "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", 1093 | "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", 1094 | "dev": true 1095 | }, 1096 | "forever-agent": { 1097 | "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1098 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1099 | "dev": true, 1100 | "optional": true 1101 | }, 1102 | "form-data": { 1103 | "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", 1104 | "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=", 1105 | "dev": true, 1106 | "optional": true 1107 | }, 1108 | "fs.realpath": { 1109 | "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1110 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1111 | "dev": true 1112 | }, 1113 | "fstream": { 1114 | "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", 1115 | "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", 1116 | "dev": true 1117 | }, 1118 | "fstream-ignore": { 1119 | "version": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", 1120 | "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", 1121 | "dev": true, 1122 | "optional": true 1123 | }, 1124 | "gauge": { 1125 | "version": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz", 1126 | "integrity": "sha1-HCOFX5YvF7OtPQ3HRD8wRULt/gk=", 1127 | "dev": true, 1128 | "optional": true 1129 | }, 1130 | "generate-function": { 1131 | "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 1132 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 1133 | "dev": true, 1134 | "optional": true 1135 | }, 1136 | "generate-object-property": { 1137 | "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 1138 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 1139 | "dev": true, 1140 | "optional": true 1141 | }, 1142 | "getpass": { 1143 | "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", 1144 | "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", 1145 | "dev": true, 1146 | "optional": true, 1147 | "dependencies": { 1148 | "assert-plus": { 1149 | "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1150 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1151 | "dev": true, 1152 | "optional": true 1153 | } 1154 | } 1155 | }, 1156 | "glob": { 1157 | "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 1158 | "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", 1159 | "dev": true 1160 | }, 1161 | "graceful-fs": { 1162 | "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1163 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1164 | "dev": true 1165 | }, 1166 | "graceful-readlink": { 1167 | "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1168 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 1169 | "dev": true, 1170 | "optional": true 1171 | }, 1172 | "har-validator": { 1173 | "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 1174 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 1175 | "dev": true, 1176 | "optional": true 1177 | }, 1178 | "has-ansi": { 1179 | "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1180 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1181 | "dev": true, 1182 | "optional": true 1183 | }, 1184 | "has-unicode": { 1185 | "version": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1186 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", 1187 | "dev": true, 1188 | "optional": true 1189 | }, 1190 | "hawk": { 1191 | "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1192 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1193 | "dev": true, 1194 | "optional": true 1195 | }, 1196 | "hoek": { 1197 | "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1198 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1199 | "dev": true 1200 | }, 1201 | "http-signature": { 1202 | "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1203 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1204 | "dev": true, 1205 | "optional": true 1206 | }, 1207 | "inflight": { 1208 | "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1209 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1210 | "dev": true 1211 | }, 1212 | "inherits": { 1213 | "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1214 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1215 | "dev": true 1216 | }, 1217 | "ini": { 1218 | "version": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", 1219 | "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", 1220 | "dev": true, 1221 | "optional": true 1222 | }, 1223 | "is-fullwidth-code-point": { 1224 | "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1225 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1226 | "dev": true 1227 | }, 1228 | "is-my-json-valid": { 1229 | "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", 1230 | "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", 1231 | "dev": true, 1232 | "optional": true 1233 | }, 1234 | "is-property": { 1235 | "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 1236 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 1237 | "dev": true, 1238 | "optional": true 1239 | }, 1240 | "is-typedarray": { 1241 | "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1242 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1243 | "dev": true, 1244 | "optional": true 1245 | }, 1246 | "isarray": { 1247 | "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1248 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1249 | "dev": true 1250 | }, 1251 | "isstream": { 1252 | "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1253 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1254 | "dev": true, 1255 | "optional": true 1256 | }, 1257 | "jodid25519": { 1258 | "version": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", 1259 | "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", 1260 | "dev": true, 1261 | "optional": true 1262 | }, 1263 | "jsbn": { 1264 | "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1265 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1266 | "dev": true, 1267 | "optional": true 1268 | }, 1269 | "json-schema": { 1270 | "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1271 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1272 | "dev": true, 1273 | "optional": true 1274 | }, 1275 | "json-stringify-safe": { 1276 | "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1277 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1278 | "dev": true, 1279 | "optional": true 1280 | }, 1281 | "jsonpointer": { 1282 | "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", 1283 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 1284 | "dev": true, 1285 | "optional": true 1286 | }, 1287 | "jsprim": { 1288 | "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", 1289 | "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", 1290 | "dev": true, 1291 | "optional": true 1292 | }, 1293 | "mime-db": { 1294 | "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", 1295 | "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=", 1296 | "dev": true 1297 | }, 1298 | "mime-types": { 1299 | "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", 1300 | "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=", 1301 | "dev": true 1302 | }, 1303 | "minimatch": { 1304 | "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", 1305 | "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", 1306 | "dev": true 1307 | }, 1308 | "minimist": { 1309 | "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1310 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1311 | "dev": true 1312 | }, 1313 | "mkdirp": { 1314 | "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1315 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1316 | "dev": true 1317 | }, 1318 | "ms": { 1319 | "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 1320 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", 1321 | "dev": true, 1322 | "optional": true 1323 | }, 1324 | "node-pre-gyp": { 1325 | "version": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz", 1326 | "integrity": "sha1-ZArFUZj2qSWXLgwWxKwmoDTV7Mk=", 1327 | "dev": true, 1328 | "optional": true 1329 | }, 1330 | "nopt": { 1331 | "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", 1332 | "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", 1333 | "dev": true, 1334 | "optional": true 1335 | }, 1336 | "npmlog": { 1337 | "version": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz", 1338 | "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=", 1339 | "dev": true, 1340 | "optional": true 1341 | }, 1342 | "number-is-nan": { 1343 | "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1344 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1345 | "dev": true 1346 | }, 1347 | "oauth-sign": { 1348 | "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 1349 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 1350 | "dev": true, 1351 | "optional": true 1352 | }, 1353 | "object-assign": { 1354 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1355 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1356 | "dev": true, 1357 | "optional": true 1358 | }, 1359 | "once": { 1360 | "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1361 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1362 | "dev": true 1363 | }, 1364 | "path-is-absolute": { 1365 | "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1366 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1367 | "dev": true 1368 | }, 1369 | "pinkie": { 1370 | "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1371 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 1372 | "dev": true, 1373 | "optional": true 1374 | }, 1375 | "pinkie-promise": { 1376 | "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1377 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1378 | "dev": true, 1379 | "optional": true 1380 | }, 1381 | "process-nextick-args": { 1382 | "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 1383 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 1384 | "dev": true 1385 | }, 1386 | "punycode": { 1387 | "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1388 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 1389 | "dev": true, 1390 | "optional": true 1391 | }, 1392 | "qs": { 1393 | "version": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", 1394 | "integrity": "sha1-kYwLO802Z5dyuvE1say0wWUe150=", 1395 | "dev": true, 1396 | "optional": true 1397 | }, 1398 | "rc": { 1399 | "version": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", 1400 | "integrity": "sha1-xepWS7B6/5/TpbMukGwdOmWUD+o=", 1401 | "dev": true, 1402 | "optional": true, 1403 | "dependencies": { 1404 | "minimist": { 1405 | "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1406 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1407 | "dev": true, 1408 | "optional": true 1409 | } 1410 | } 1411 | }, 1412 | "readable-stream": { 1413 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", 1414 | "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", 1415 | "dev": true, 1416 | "optional": true 1417 | }, 1418 | "request": { 1419 | "version": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 1420 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 1421 | "dev": true, 1422 | "optional": true 1423 | }, 1424 | "rimraf": { 1425 | "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", 1426 | "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", 1427 | "dev": true 1428 | }, 1429 | "semver": { 1430 | "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 1431 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 1432 | "dev": true, 1433 | "optional": true 1434 | }, 1435 | "set-blocking": { 1436 | "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1437 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 1438 | "dev": true, 1439 | "optional": true 1440 | }, 1441 | "signal-exit": { 1442 | "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1443 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 1444 | "dev": true, 1445 | "optional": true 1446 | }, 1447 | "sntp": { 1448 | "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 1449 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 1450 | "dev": true, 1451 | "optional": true 1452 | }, 1453 | "sshpk": { 1454 | "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", 1455 | "integrity": "sha1-1agEziJpVRVjjnmNviMnPeBwpfo=", 1456 | "dev": true, 1457 | "optional": true, 1458 | "dependencies": { 1459 | "assert-plus": { 1460 | "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1461 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1462 | "dev": true, 1463 | "optional": true 1464 | } 1465 | } 1466 | }, 1467 | "string_decoder": { 1468 | "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 1469 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 1470 | "dev": true 1471 | }, 1472 | "string-width": { 1473 | "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 1474 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1475 | "dev": true 1476 | }, 1477 | "stringstream": { 1478 | "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 1479 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 1480 | "dev": true, 1481 | "optional": true 1482 | }, 1483 | "strip-ansi": { 1484 | "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1485 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1486 | "dev": true 1487 | }, 1488 | "strip-json-comments": { 1489 | "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1490 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1491 | "dev": true, 1492 | "optional": true 1493 | }, 1494 | "supports-color": { 1495 | "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1496 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1497 | "dev": true, 1498 | "optional": true 1499 | }, 1500 | "tar": { 1501 | "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", 1502 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 1503 | "dev": true 1504 | }, 1505 | "tar-pack": { 1506 | "version": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz", 1507 | "integrity": "sha1-MJMYFkGPVa/E0hd1r91nIM7kXa4=", 1508 | "dev": true, 1509 | "optional": true, 1510 | "dependencies": { 1511 | "once": { 1512 | "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", 1513 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", 1514 | "dev": true, 1515 | "optional": true 1516 | }, 1517 | "readable-stream": { 1518 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", 1519 | "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", 1520 | "dev": true, 1521 | "optional": true 1522 | } 1523 | } 1524 | }, 1525 | "tough-cookie": { 1526 | "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", 1527 | "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", 1528 | "dev": true, 1529 | "optional": true 1530 | }, 1531 | "tunnel-agent": { 1532 | "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 1533 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 1534 | "dev": true, 1535 | "optional": true 1536 | }, 1537 | "tweetnacl": { 1538 | "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1539 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 1540 | "dev": true, 1541 | "optional": true 1542 | }, 1543 | "uid-number": { 1544 | "version": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", 1545 | "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", 1546 | "dev": true, 1547 | "optional": true 1548 | }, 1549 | "util-deprecate": { 1550 | "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1551 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1552 | "dev": true 1553 | }, 1554 | "uuid": { 1555 | "version": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", 1556 | "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", 1557 | "dev": true, 1558 | "optional": true 1559 | }, 1560 | "verror": { 1561 | "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", 1562 | "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", 1563 | "dev": true, 1564 | "optional": true 1565 | }, 1566 | "wide-align": { 1567 | "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", 1568 | "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", 1569 | "dev": true, 1570 | "optional": true 1571 | }, 1572 | "wrappy": { 1573 | "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1574 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1575 | "dev": true 1576 | }, 1577 | "xtend": { 1578 | "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 1579 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 1580 | "dev": true, 1581 | "optional": true 1582 | } 1583 | } 1584 | }, 1585 | "fstream": { 1586 | "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", 1587 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 1588 | "dev": true 1589 | }, 1590 | "fstream-ignore": { 1591 | "version": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz", 1592 | "integrity": "sha1-GMiR2wG3gqdKe/+Tag8kmXdBx6s=", 1593 | "dev": true, 1594 | "dependencies": { 1595 | "minimatch": { 1596 | "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", 1597 | "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", 1598 | "dev": true 1599 | } 1600 | } 1601 | }, 1602 | "function-bind": { 1603 | "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", 1604 | "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", 1605 | "dev": true 1606 | }, 1607 | "garnish": { 1608 | "version": "https://registry.npmjs.org/garnish/-/garnish-5.2.0.tgz", 1609 | "integrity": "sha1-vtQ2WTguSxmOM8eTiXvnxwHmVXc=", 1610 | "dev": true, 1611 | "dependencies": { 1612 | "ansi-regex": { 1613 | "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", 1614 | "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", 1615 | "dev": true 1616 | }, 1617 | "ansi-styles": { 1618 | "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", 1619 | "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", 1620 | "dev": true 1621 | }, 1622 | "chalk": { 1623 | "version": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", 1624 | "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", 1625 | "dev": true 1626 | }, 1627 | "has-ansi": { 1628 | "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", 1629 | "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", 1630 | "dev": true 1631 | }, 1632 | "minimist": { 1633 | "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1634 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1635 | "dev": true 1636 | }, 1637 | "strip-ansi": { 1638 | "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", 1639 | "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", 1640 | "dev": true 1641 | }, 1642 | "supports-color": { 1643 | "version": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", 1644 | "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", 1645 | "dev": true 1646 | } 1647 | } 1648 | }, 1649 | "get-canvas-context": { 1650 | "version": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", 1651 | "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=", 1652 | "dev": true 1653 | }, 1654 | "get-ports": { 1655 | "version": "https://registry.npmjs.org/get-ports/-/get-ports-1.0.3.tgz", 1656 | "integrity": "sha1-9AvVgKyn7A77e5bL/L6wPviUteg=", 1657 | "dev": true 1658 | }, 1659 | "get-stdin": { 1660 | "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", 1661 | "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", 1662 | "dev": true 1663 | }, 1664 | "gl-mat3": { 1665 | "version": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", 1666 | "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=" 1667 | }, 1668 | "gl-mat4": { 1669 | "version": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.1.4.tgz", 1670 | "integrity": "sha1-HolbVYkuVqiWhnq9g30483oXgIY=" 1671 | }, 1672 | "gl-quat": { 1673 | "version": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz", 1674 | "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=" 1675 | }, 1676 | "gl-vec2": { 1677 | "version": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.0.0.tgz", 1678 | "integrity": "sha1-d/zmrpYShW1si2Ic0mHNgoG5xjc=" 1679 | }, 1680 | "gl-vec3": { 1681 | "version": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.0.3.tgz", 1682 | "integrity": "sha1-EQ/Yl9Byn2OYMHOBVn0JRJQb8is=" 1683 | }, 1684 | "gl-vec4": { 1685 | "version": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", 1686 | "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=" 1687 | }, 1688 | "glob": { 1689 | "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1690 | "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", 1691 | "dev": true 1692 | }, 1693 | "glob-base": { 1694 | "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 1695 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 1696 | "dev": true 1697 | }, 1698 | "glob-parent": { 1699 | "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 1700 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 1701 | "dev": true 1702 | }, 1703 | "globals": { 1704 | "version": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1705 | "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", 1706 | "dev": true 1707 | }, 1708 | "graceful-fs": { 1709 | "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1710 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1711 | "dev": true 1712 | }, 1713 | "graceful-readlink": { 1714 | "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1715 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 1716 | "dev": true 1717 | }, 1718 | "has": { 1719 | "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", 1720 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", 1721 | "dev": true 1722 | }, 1723 | "has-ansi": { 1724 | "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1725 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1726 | "dev": true 1727 | }, 1728 | "hash-base": { 1729 | "version": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", 1730 | "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", 1731 | "dev": true 1732 | }, 1733 | "hash.js": { 1734 | "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", 1735 | "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", 1736 | "dev": true 1737 | }, 1738 | "hawk": { 1739 | "version": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", 1740 | "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=", 1741 | "dev": true, 1742 | "optional": true 1743 | }, 1744 | "hmac-drbg": { 1745 | "version": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1746 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1747 | "dev": true 1748 | }, 1749 | "hoek": { 1750 | "version": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", 1751 | "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", 1752 | "dev": true 1753 | }, 1754 | "home-or-tmp": { 1755 | "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1756 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1757 | "dev": true 1758 | }, 1759 | "hosted-git-info": { 1760 | "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz", 1761 | "integrity": "sha1-AHa59GonBQbduq6lZJaJdGBhKmc=", 1762 | "dev": true 1763 | }, 1764 | "htmlescape": { 1765 | "version": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", 1766 | "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", 1767 | "dev": true 1768 | }, 1769 | "http-errors": { 1770 | "version": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", 1771 | "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=", 1772 | "dev": true 1773 | }, 1774 | "http-signature": { 1775 | "version": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", 1776 | "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", 1777 | "dev": true, 1778 | "optional": true 1779 | }, 1780 | "https-browserify": { 1781 | "version": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 1782 | "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", 1783 | "dev": true 1784 | }, 1785 | "i": { 1786 | "version": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", 1787 | "integrity": "sha1-HSuFQVjsgWkRPGy39raAHpniEdU=", 1788 | "dev": true 1789 | }, 1790 | "ieee754": { 1791 | "version": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", 1792 | "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", 1793 | "dev": true 1794 | }, 1795 | "indent-string": { 1796 | "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 1797 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 1798 | "dev": true 1799 | }, 1800 | "indexof": { 1801 | "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 1802 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", 1803 | "dev": true 1804 | }, 1805 | "individual": { 1806 | "version": "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz", 1807 | "integrity": "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0=", 1808 | "dev": true 1809 | }, 1810 | "inflight": { 1811 | "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1812 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1813 | "dev": true 1814 | }, 1815 | "inherits": { 1816 | "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1817 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1818 | }, 1819 | "inject-lr-script": { 1820 | "version": "https://registry.npmjs.org/inject-lr-script/-/inject-lr-script-2.1.0.tgz", 1821 | "integrity": "sha1-5htehMEYczkGy+oB7D10Zpijn2U=", 1822 | "dev": true 1823 | }, 1824 | "inline-source-map": { 1825 | "version": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", 1826 | "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", 1827 | "dev": true 1828 | }, 1829 | "insert-module-globals": { 1830 | "version": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", 1831 | "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", 1832 | "dev": true 1833 | }, 1834 | "internal-ip": { 1835 | "version": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", 1836 | "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", 1837 | "dev": true 1838 | }, 1839 | "invariant": { 1840 | "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 1841 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 1842 | "dev": true 1843 | }, 1844 | "is-arrayish": { 1845 | "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1846 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1847 | "dev": true 1848 | }, 1849 | "is-binary-path": { 1850 | "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 1851 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 1852 | "dev": true 1853 | }, 1854 | "is-buffer": { 1855 | "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", 1856 | "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", 1857 | "dev": true 1858 | }, 1859 | "is-builtin-module": { 1860 | "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1861 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1862 | "dev": true 1863 | }, 1864 | "is-domain": { 1865 | "version": "https://registry.npmjs.org/is-domain/-/is-domain-0.0.1.tgz", 1866 | "integrity": "sha1-f/sojVzO1rB8Ty35HJvpFTURNI4=", 1867 | "dev": true 1868 | }, 1869 | "is-dotfile": { 1870 | "version": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1871 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1872 | "dev": true 1873 | }, 1874 | "is-equal-shallow": { 1875 | "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1876 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1877 | "dev": true 1878 | }, 1879 | "is-extendable": { 1880 | "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1881 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1882 | "dev": true 1883 | }, 1884 | "is-extglob": { 1885 | "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1886 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1887 | "dev": true 1888 | }, 1889 | "is-finite": { 1890 | "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1891 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1892 | "dev": true 1893 | }, 1894 | "is-glob": { 1895 | "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1896 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1897 | "dev": true 1898 | }, 1899 | "is-number": { 1900 | "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1901 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1902 | "dev": true 1903 | }, 1904 | "is-posix-bracket": { 1905 | "version": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1906 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1907 | "dev": true 1908 | }, 1909 | "is-primitive": { 1910 | "version": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1911 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1912 | "dev": true 1913 | }, 1914 | "is-utf8": { 1915 | "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1916 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1917 | "dev": true 1918 | }, 1919 | "isarray": { 1920 | "version": "http://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1921 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1922 | "dev": true 1923 | }, 1924 | "isexe": { 1925 | "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1926 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1927 | "dev": true 1928 | }, 1929 | "isobject": { 1930 | "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1931 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1932 | "dev": true 1933 | }, 1934 | "isstream": { 1935 | "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1936 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1937 | "dev": true 1938 | }, 1939 | "js-tokens": { 1940 | "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", 1941 | "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", 1942 | "dev": true 1943 | }, 1944 | "jsesc": { 1945 | "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1946 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1947 | "dev": true 1948 | }, 1949 | "json-stable-stringify": { 1950 | "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", 1951 | "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", 1952 | "dev": true 1953 | }, 1954 | "json-stringify-safe": { 1955 | "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1956 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1957 | "dev": true 1958 | }, 1959 | "json5": { 1960 | "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 1961 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 1962 | "dev": true 1963 | }, 1964 | "jsonify": { 1965 | "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 1966 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 1967 | "dev": true 1968 | }, 1969 | "jsonparse": { 1970 | "version": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", 1971 | "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", 1972 | "dev": true 1973 | }, 1974 | "JSONStream": { 1975 | "version": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", 1976 | "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", 1977 | "dev": true 1978 | }, 1979 | "keypress": { 1980 | "version": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", 1981 | "integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo=", 1982 | "dev": true 1983 | }, 1984 | "kind-of": { 1985 | "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1986 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1987 | "dev": true 1988 | }, 1989 | "labeled-stream-splicer": { 1990 | "version": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", 1991 | "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", 1992 | "dev": true, 1993 | "dependencies": { 1994 | "isarray": { 1995 | "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1996 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 1997 | "dev": true 1998 | } 1999 | } 2000 | }, 2001 | "lexical-scope": { 2002 | "version": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", 2003 | "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", 2004 | "dev": true 2005 | }, 2006 | "load-json-file": { 2007 | "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 2008 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 2009 | "dev": true 2010 | }, 2011 | "lodash": { 2012 | "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 2013 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 2014 | "dev": true 2015 | }, 2016 | "lodash.memoize": { 2017 | "version": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", 2018 | "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", 2019 | "dev": true 2020 | }, 2021 | "loose-envify": { 2022 | "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 2023 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 2024 | "dev": true 2025 | }, 2026 | "loud-rejection": { 2027 | "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 2028 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 2029 | "dev": true 2030 | }, 2031 | "map-limit": { 2032 | "version": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", 2033 | "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", 2034 | "dev": true, 2035 | "dependencies": { 2036 | "once": { 2037 | "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", 2038 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", 2039 | "dev": true 2040 | } 2041 | } 2042 | }, 2043 | "map-obj": { 2044 | "version": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 2045 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 2046 | "dev": true 2047 | }, 2048 | "meow": { 2049 | "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", 2050 | "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", 2051 | "dev": true, 2052 | "dependencies": { 2053 | "minimist": { 2054 | "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2055 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2056 | "dev": true 2057 | }, 2058 | "object-assign": { 2059 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2060 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2061 | "dev": true 2062 | } 2063 | } 2064 | }, 2065 | "micromatch": { 2066 | "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 2067 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 2068 | "dev": true 2069 | }, 2070 | "miller-rabin": { 2071 | "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", 2072 | "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", 2073 | "dev": true 2074 | }, 2075 | "mime": { 2076 | "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", 2077 | "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", 2078 | "dev": true 2079 | }, 2080 | "mime-types": { 2081 | "version": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", 2082 | "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", 2083 | "dev": true 2084 | }, 2085 | "minimalistic-assert": { 2086 | "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", 2087 | "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", 2088 | "dev": true 2089 | }, 2090 | "minimalistic-crypto-utils": { 2091 | "version": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 2092 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", 2093 | "dev": true 2094 | }, 2095 | "minimatch": { 2096 | "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2097 | "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", 2098 | "dev": true 2099 | }, 2100 | "minimist": { 2101 | "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2102 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2103 | "dev": true 2104 | }, 2105 | "mkdirp": { 2106 | "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2107 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2108 | "dev": true 2109 | }, 2110 | "module-deps": { 2111 | "version": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", 2112 | "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", 2113 | "dev": true 2114 | }, 2115 | "moniker": { 2116 | "version": "https://registry.npmjs.org/moniker/-/moniker-0.1.2.tgz", 2117 | "integrity": "sha1-hy37pXXc6o+gSlE1sT1fJL7MyX4=", 2118 | "dev": true 2119 | }, 2120 | "mouse-event-offset": { 2121 | "version": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", 2122 | "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=" 2123 | }, 2124 | "mouse-wheel": { 2125 | "version": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", 2126 | "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=" 2127 | }, 2128 | "ms": { 2129 | "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2130 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2131 | "dev": true 2132 | }, 2133 | "mute-stream": { 2134 | "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2135 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 2136 | "dev": true 2137 | }, 2138 | "nan": { 2139 | "version": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", 2140 | "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", 2141 | "dev": true, 2142 | "optional": true 2143 | }, 2144 | "natives": { 2145 | "version": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", 2146 | "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", 2147 | "dev": true 2148 | }, 2149 | "ncp": { 2150 | "version": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", 2151 | "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", 2152 | "dev": true 2153 | }, 2154 | "netrc": { 2155 | "version": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz", 2156 | "integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ=", 2157 | "dev": true 2158 | }, 2159 | "node-uuid": { 2160 | "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", 2161 | "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", 2162 | "dev": true 2163 | }, 2164 | "normalize-package-data": { 2165 | "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz", 2166 | "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=", 2167 | "dev": true 2168 | }, 2169 | "normalize-path": { 2170 | "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2171 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2172 | "dev": true 2173 | }, 2174 | "number-is-nan": { 2175 | "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2176 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2177 | "dev": true 2178 | }, 2179 | "oauth-sign": { 2180 | "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", 2181 | "integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=", 2182 | "dev": true, 2183 | "optional": true 2184 | }, 2185 | "object-assign": { 2186 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2187 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2188 | }, 2189 | "object.omit": { 2190 | "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 2191 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 2192 | "dev": true 2193 | }, 2194 | "on-finished": { 2195 | "version": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 2196 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 2197 | "dev": true 2198 | }, 2199 | "on-headers": { 2200 | "version": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", 2201 | "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", 2202 | "dev": true 2203 | }, 2204 | "once": { 2205 | "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2206 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2207 | "dev": true 2208 | }, 2209 | "opn": { 2210 | "version": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", 2211 | "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", 2212 | "dev": true, 2213 | "dependencies": { 2214 | "object-assign": { 2215 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2216 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2217 | "dev": true 2218 | } 2219 | } 2220 | }, 2221 | "options": { 2222 | "version": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", 2223 | "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", 2224 | "dev": true 2225 | }, 2226 | "orbit-controls": { 2227 | "version": "1.2.0", 2228 | "resolved": "https://registry.npmjs.org/orbit-controls/-/orbit-controls-1.2.0.tgz", 2229 | "integrity": "sha512-/3TpeuKi8+CvkzezicV1Qr+HgIvVQvE8RwBN3TYCH+CdSP01PMhlOW2ypBjo0Nlkr/qFbwCsjxgkGRp+iTsUqg==" 2230 | }, 2231 | "os-browserify": { 2232 | "version": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", 2233 | "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", 2234 | "dev": true 2235 | }, 2236 | "os-homedir": { 2237 | "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2238 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 2239 | "dev": true 2240 | }, 2241 | "os-tmpdir": { 2242 | "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2243 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2244 | "dev": true 2245 | }, 2246 | "outpipe": { 2247 | "version": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", 2248 | "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=", 2249 | "dev": true 2250 | }, 2251 | "pad-left": { 2252 | "version": "https://registry.npmjs.org/pad-left/-/pad-left-2.1.0.tgz", 2253 | "integrity": "sha1-FuajstRKjhOMsIOMx8tAOk/J6ZQ=", 2254 | "dev": true 2255 | }, 2256 | "pad-right": { 2257 | "version": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", 2258 | "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=", 2259 | "dev": true 2260 | }, 2261 | "pako": { 2262 | "version": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", 2263 | "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", 2264 | "dev": true 2265 | }, 2266 | "parents": { 2267 | "version": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", 2268 | "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", 2269 | "dev": true 2270 | }, 2271 | "parse-asn1": { 2272 | "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", 2273 | "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", 2274 | "dev": true 2275 | }, 2276 | "parse-glob": { 2277 | "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 2278 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 2279 | "dev": true 2280 | }, 2281 | "parse-json": { 2282 | "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2283 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2284 | "dev": true 2285 | }, 2286 | "parse-ms": { 2287 | "version": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", 2288 | "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", 2289 | "dev": true 2290 | }, 2291 | "parse-unit": { 2292 | "version": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", 2293 | "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=" 2294 | }, 2295 | "parseurl": { 2296 | "version": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", 2297 | "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", 2298 | "dev": true 2299 | }, 2300 | "path-browserify": { 2301 | "version": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", 2302 | "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", 2303 | "dev": true 2304 | }, 2305 | "path-exists": { 2306 | "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2307 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2308 | "dev": true 2309 | }, 2310 | "path-is-absolute": { 2311 | "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2312 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2313 | "dev": true 2314 | }, 2315 | "path-parse": { 2316 | "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 2317 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 2318 | "dev": true 2319 | }, 2320 | "path-platform": { 2321 | "version": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", 2322 | "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", 2323 | "dev": true 2324 | }, 2325 | "path-type": { 2326 | "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 2327 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 2328 | "dev": true 2329 | }, 2330 | "pbkdf2": { 2331 | "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz", 2332 | "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=", 2333 | "dev": true 2334 | }, 2335 | "pem": { 2336 | "version": "https://registry.npmjs.org/pem/-/pem-1.9.7.tgz", 2337 | "integrity": "sha1-04f5lvKSx8nepjmlNYBedMtQMWE=", 2338 | "dev": true 2339 | }, 2340 | "performance-now": { 2341 | "version": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2342 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 2343 | }, 2344 | "perspective-camera": { 2345 | "version": "https://registry.npmjs.org/perspective-camera/-/perspective-camera-2.0.1.tgz", 2346 | "integrity": "sha1-dZPkfroLcDi4HOaY2zRPElo7NiU=", 2347 | "dependencies": { 2348 | "object-assign": { 2349 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", 2350 | "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" 2351 | } 2352 | } 2353 | }, 2354 | "pify": { 2355 | "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2356 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 2357 | "dev": true 2358 | }, 2359 | "pinkie": { 2360 | "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2361 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2362 | "dev": true 2363 | }, 2364 | "pinkie-promise": { 2365 | "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2366 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2367 | "dev": true 2368 | }, 2369 | "pkginfo": { 2370 | "version": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz", 2371 | "integrity": "sha1-NJ27f/04CB/K3AhT32h/DHdEzWU=", 2372 | "dev": true 2373 | }, 2374 | "plur": { 2375 | "version": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", 2376 | "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=", 2377 | "dev": true 2378 | }, 2379 | "preserve": { 2380 | "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 2381 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 2382 | "dev": true 2383 | }, 2384 | "prettier-bytes": { 2385 | "version": "https://registry.npmjs.org/prettier-bytes/-/prettier-bytes-1.0.4.tgz", 2386 | "integrity": "sha1-mUsCqkb2mcULYle1+qp/4lV+YtY=", 2387 | "dev": true 2388 | }, 2389 | "pretty-ms": { 2390 | "version": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", 2391 | "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=", 2392 | "dev": true 2393 | }, 2394 | "primitive-sphere": { 2395 | "version": "https://registry.npmjs.org/primitive-sphere/-/primitive-sphere-3.0.0.tgz", 2396 | "integrity": "sha1-dgm9pfb2ySUiE++jEnBg7mXm9zI=" 2397 | }, 2398 | "private": { 2399 | "version": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", 2400 | "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", 2401 | "dev": true 2402 | }, 2403 | "process": { 2404 | "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 2405 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 2406 | "dev": true 2407 | }, 2408 | "process-nextick-args": { 2409 | "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 2410 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 2411 | "dev": true 2412 | }, 2413 | "progress": { 2414 | "version": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 2415 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", 2416 | "dev": true 2417 | }, 2418 | "prompt": { 2419 | "version": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", 2420 | "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", 2421 | "dev": true 2422 | }, 2423 | "public-encrypt": { 2424 | "version": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", 2425 | "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", 2426 | "dev": true 2427 | }, 2428 | "punycode": { 2429 | "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2430 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 2431 | "dev": true 2432 | }, 2433 | "qs": { 2434 | "version": "https://registry.npmjs.org/qs/-/qs-1.0.2.tgz", 2435 | "integrity": "sha1-UKk+K1r2aRwxvOpdrnjubqGQN2g=", 2436 | "dev": true 2437 | }, 2438 | "quat-from-unit-vec3": { 2439 | "version": "https://registry.npmjs.org/quat-from-unit-vec3/-/quat-from-unit-vec3-1.0.0.tgz", 2440 | "integrity": "sha1-2tA+dFkmofqkV0wrWrsF1coXzJ0=" 2441 | }, 2442 | "query-string": { 2443 | "version": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", 2444 | "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", 2445 | "dev": true, 2446 | "dependencies": { 2447 | "object-assign": { 2448 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2449 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2450 | "dev": true 2451 | } 2452 | } 2453 | }, 2454 | "querystring": { 2455 | "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 2456 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 2457 | "dev": true 2458 | }, 2459 | "querystring-es3": { 2460 | "version": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 2461 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", 2462 | "dev": true 2463 | }, 2464 | "raf": { 2465 | "version": "https://registry.npmjs.org/raf/-/raf-3.3.2.tgz", 2466 | "integrity": "sha1-DBO+C1tJtG921maSSNUnzysC/ic=" 2467 | }, 2468 | "raf-loop": { 2469 | "version": "https://registry.npmjs.org/raf-loop/-/raf-loop-1.1.3.tgz", 2470 | "integrity": "sha1-h0emmilhUZcgaVS85HfT5l5lkpk=" 2471 | }, 2472 | "randomatic": { 2473 | "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", 2474 | "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", 2475 | "dev": true, 2476 | "dependencies": { 2477 | "is-number": { 2478 | "version": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2479 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2480 | "dev": true, 2481 | "dependencies": { 2482 | "kind-of": { 2483 | "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2484 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2485 | "dev": true 2486 | } 2487 | } 2488 | }, 2489 | "kind-of": { 2490 | "version": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 2491 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 2492 | "dev": true 2493 | } 2494 | } 2495 | }, 2496 | "randombytes": { 2497 | "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", 2498 | "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=", 2499 | "dev": true, 2500 | "dependencies": { 2501 | "safe-buffer": { 2502 | "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz", 2503 | "integrity": "sha1-/kyEYDl/nqqqWOc75GJzQIpF4iM=", 2504 | "dev": true 2505 | } 2506 | } 2507 | }, 2508 | "range-parser": { 2509 | "version": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 2510 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", 2511 | "dev": true 2512 | }, 2513 | "ray-3d": { 2514 | "version": "https://registry.npmjs.org/ray-3d/-/ray-3d-1.1.1.tgz", 2515 | "integrity": "sha1-c4ARNbVnhmhQiBpcBmVYU/LhAnM=" 2516 | }, 2517 | "ray-aabb-intersection": { 2518 | "version": "https://registry.npmjs.org/ray-aabb-intersection/-/ray-aabb-intersection-1.0.1.tgz", 2519 | "integrity": "sha1-LrUQIo19kiL9yBZ+Zzeq1zZm3Mc=" 2520 | }, 2521 | "ray-plane-intersection": { 2522 | "version": "https://registry.npmjs.org/ray-plane-intersection/-/ray-plane-intersection-1.0.0.tgz", 2523 | "integrity": "sha1-djvhzQTt2tGEevbV5wlBtzAqR7s=" 2524 | }, 2525 | "ray-sphere-intersection": { 2526 | "version": "https://registry.npmjs.org/ray-sphere-intersection/-/ray-sphere-intersection-1.0.0.tgz", 2527 | "integrity": "sha1-fyM9HU269SZXV8mCZTL1Ox5O6so=" 2528 | }, 2529 | "ray-triangle-intersection": { 2530 | "version": "https://registry.npmjs.org/ray-triangle-intersection/-/ray-triangle-intersection-1.0.3.tgz", 2531 | "integrity": "sha1-jqjy84NYC9q9NvXlE1nPceEHTTQ=" 2532 | }, 2533 | "read": { 2534 | "version": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", 2535 | "integrity": "sha1-AHo9FpR4qnEKSRcn5FPv+5LnYgM=", 2536 | "dev": true 2537 | }, 2538 | "read-only-stream": { 2539 | "version": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", 2540 | "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", 2541 | "dev": true 2542 | }, 2543 | "read-pkg": { 2544 | "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 2545 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 2546 | "dev": true 2547 | }, 2548 | "read-pkg-up": { 2549 | "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 2550 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 2551 | "dev": true 2552 | }, 2553 | "readable-stream": { 2554 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", 2555 | "integrity": "sha1-B5azH412iAB/8Lk6gIjTSqF8D3I=", 2556 | "dev": true 2557 | }, 2558 | "readdirp": { 2559 | "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", 2560 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", 2561 | "dev": true 2562 | }, 2563 | "redent": { 2564 | "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 2565 | "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", 2566 | "dev": true 2567 | }, 2568 | "regenerate": { 2569 | "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", 2570 | "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", 2571 | "dev": true 2572 | }, 2573 | "regenerator-runtime": { 2574 | "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", 2575 | "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", 2576 | "dev": true 2577 | }, 2578 | "regenerator-transform": { 2579 | "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", 2580 | "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", 2581 | "dev": true 2582 | }, 2583 | "regex-cache": { 2584 | "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", 2585 | "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", 2586 | "dev": true 2587 | }, 2588 | "regexpu-core": { 2589 | "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 2590 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 2591 | "dev": true 2592 | }, 2593 | "regjsgen": { 2594 | "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 2595 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", 2596 | "dev": true 2597 | }, 2598 | "regjsparser": { 2599 | "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 2600 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 2601 | "dev": true 2602 | }, 2603 | "regl": { 2604 | "version": "https://registry.npmjs.org/regl/-/regl-1.3.0.tgz", 2605 | "integrity": "sha1-zN6C7/iooGilWVgc6svvGv6njr0=" 2606 | }, 2607 | "reload-css": { 2608 | "version": "https://registry.npmjs.org/reload-css/-/reload-css-1.0.2.tgz", 2609 | "integrity": "sha1-avsRFi4jFP7M2tbcX96CH9cxgzE=", 2610 | "dev": true 2611 | }, 2612 | "remove-trailing-separator": { 2613 | "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", 2614 | "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", 2615 | "dev": true 2616 | }, 2617 | "repeat-element": { 2618 | "version": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 2619 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 2620 | "dev": true 2621 | }, 2622 | "repeat-string": { 2623 | "version": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2624 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 2625 | "dev": true 2626 | }, 2627 | "repeating": { 2628 | "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2629 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2630 | "dev": true 2631 | }, 2632 | "request": { 2633 | "version": "https://registry.npmjs.org/request/-/request-2.40.0.tgz", 2634 | "integrity": "sha1-TdZw9pbx5uhC5mtLXoOTAaub62c=", 2635 | "dev": true 2636 | }, 2637 | "resolve": { 2638 | "version": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", 2639 | "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", 2640 | "dev": true 2641 | }, 2642 | "resp-modifier": { 2643 | "version": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", 2644 | "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", 2645 | "dev": true 2646 | }, 2647 | "revalidator": { 2648 | "version": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", 2649 | "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", 2650 | "dev": true 2651 | }, 2652 | "right-now": { 2653 | "version": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", 2654 | "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=" 2655 | }, 2656 | "rimraf": { 2657 | "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", 2658 | "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", 2659 | "dev": true 2660 | }, 2661 | "ripemd160": { 2662 | "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", 2663 | "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", 2664 | "dev": true 2665 | }, 2666 | "run-parallel": { 2667 | "version": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.6.tgz", 2668 | "integrity": "sha1-KQA8miFj4B4tLfyQV18sbB1hoDk=", 2669 | "dev": true 2670 | }, 2671 | "safe-buffer": { 2672 | "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", 2673 | "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", 2674 | "dev": true 2675 | }, 2676 | "semver": { 2677 | "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 2678 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 2679 | "dev": true 2680 | }, 2681 | "send": { 2682 | "version": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", 2683 | "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", 2684 | "dev": true, 2685 | "dependencies": { 2686 | "debug": { 2687 | "version": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", 2688 | "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", 2689 | "dev": true 2690 | } 2691 | } 2692 | }, 2693 | "serve-static": { 2694 | "version": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", 2695 | "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=", 2696 | "dev": true 2697 | }, 2698 | "set-immediate-shim": { 2699 | "version": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 2700 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", 2701 | "dev": true 2702 | }, 2703 | "setprototypeof": { 2704 | "version": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", 2705 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", 2706 | "dev": true 2707 | }, 2708 | "sha.js": { 2709 | "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", 2710 | "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", 2711 | "dev": true 2712 | }, 2713 | "shasum": { 2714 | "version": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", 2715 | "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", 2716 | "dev": true 2717 | }, 2718 | "shell-quote": { 2719 | "version": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", 2720 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", 2721 | "dev": true 2722 | }, 2723 | "signal-exit": { 2724 | "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 2725 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2726 | "dev": true 2727 | }, 2728 | "signum": { 2729 | "version": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", 2730 | "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=" 2731 | }, 2732 | "simple-html-index": { 2733 | "version": "https://registry.npmjs.org/simple-html-index/-/simple-html-index-1.5.0.tgz", 2734 | "integrity": "sha1-LJPurrrAAdihNfwAIr1K3o9YmW8=", 2735 | "dev": true 2736 | }, 2737 | "slash": { 2738 | "version": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 2739 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 2740 | "dev": true 2741 | }, 2742 | "sntp": { 2743 | "version": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", 2744 | "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", 2745 | "dev": true, 2746 | "optional": true 2747 | }, 2748 | "source-map": { 2749 | "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", 2750 | "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", 2751 | "dev": true 2752 | }, 2753 | "source-map-support": { 2754 | "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", 2755 | "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", 2756 | "dev": true 2757 | }, 2758 | "spdx-correct": { 2759 | "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", 2760 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", 2761 | "dev": true 2762 | }, 2763 | "spdx-expression-parse": { 2764 | "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", 2765 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", 2766 | "dev": true 2767 | }, 2768 | "spdx-license-ids": { 2769 | "version": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 2770 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 2771 | "dev": true 2772 | }, 2773 | "split": { 2774 | "version": "https://registry.npmjs.org/split/-/split-0.3.1.tgz", 2775 | "integrity": "sha1-zrzxQr9hu7ZLFBYo5ttIKikUZUw=", 2776 | "dev": true 2777 | }, 2778 | "split2": { 2779 | "version": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", 2780 | "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", 2781 | "dev": true, 2782 | "dependencies": { 2783 | "isarray": { 2784 | "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2785 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2786 | "dev": true 2787 | }, 2788 | "readable-stream": { 2789 | "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 2790 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 2791 | "dev": true 2792 | }, 2793 | "string_decoder": { 2794 | "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2795 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 2796 | "dev": true 2797 | }, 2798 | "through2": { 2799 | "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", 2800 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", 2801 | "dev": true 2802 | } 2803 | } 2804 | }, 2805 | "stack-trace": { 2806 | "version": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 2807 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 2808 | "dev": true 2809 | }, 2810 | "stacked": { 2811 | "version": "https://registry.npmjs.org/stacked/-/stacked-1.1.1.tgz", 2812 | "integrity": "sha1-LH+jjMfjejQRp3zY55LeRI+faXU=", 2813 | "dev": true 2814 | }, 2815 | "statuses": { 2816 | "version": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", 2817 | "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", 2818 | "dev": true 2819 | }, 2820 | "stdout-stream": { 2821 | "version": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", 2822 | "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", 2823 | "dev": true 2824 | }, 2825 | "stream-browserify": { 2826 | "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", 2827 | "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", 2828 | "dev": true 2829 | }, 2830 | "stream-combiner2": { 2831 | "version": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", 2832 | "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", 2833 | "dev": true 2834 | }, 2835 | "stream-http": { 2836 | "version": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.1.tgz", 2837 | "integrity": "sha1-VGpRdBrVprB+njGwsQRBqRffUoo=", 2838 | "dev": true 2839 | }, 2840 | "stream-splicer": { 2841 | "version": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", 2842 | "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", 2843 | "dev": true 2844 | }, 2845 | "strict-uri-encode": { 2846 | "version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 2847 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", 2848 | "dev": true 2849 | }, 2850 | "string_decoder": { 2851 | "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", 2852 | "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", 2853 | "dev": true 2854 | }, 2855 | "stringstream": { 2856 | "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 2857 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 2858 | "dev": true, 2859 | "optional": true 2860 | }, 2861 | "strip-ansi": { 2862 | "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2863 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2864 | "dev": true 2865 | }, 2866 | "strip-bom": { 2867 | "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 2868 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 2869 | "dev": true 2870 | }, 2871 | "strip-indent": { 2872 | "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", 2873 | "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", 2874 | "dev": true 2875 | }, 2876 | "subarg": { 2877 | "version": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", 2878 | "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", 2879 | "dev": true, 2880 | "dependencies": { 2881 | "minimist": { 2882 | "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2883 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2884 | "dev": true 2885 | } 2886 | } 2887 | }, 2888 | "supports-color": { 2889 | "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2890 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2891 | "dev": true 2892 | }, 2893 | "surge": { 2894 | "version": "https://registry.npmjs.org/surge/-/surge-0.19.0.tgz", 2895 | "integrity": "sha1-rkMN8PKDK6JKo3m3dmWG/mi3I5w=", 2896 | "dev": true, 2897 | "dependencies": { 2898 | "minimist": { 2899 | "version": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz", 2900 | "integrity": "sha1-G8K8cWWM3KVxJHVoQ2NhWwtPaVs=", 2901 | "dev": true 2902 | } 2903 | } 2904 | }, 2905 | "surge-ignore": { 2906 | "version": "https://registry.npmjs.org/surge-ignore/-/surge-ignore-0.2.0.tgz", 2907 | "integrity": "sha1-Wn+KIKcRiM+edaLP6OsYLekNrzs=", 2908 | "dev": true 2909 | }, 2910 | "syntax-error": { 2911 | "version": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", 2912 | "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", 2913 | "dev": true 2914 | }, 2915 | "tar": { 2916 | "version": "https://registry.npmjs.org/tar/-/tar-1.0.0.tgz", 2917 | "integrity": "sha1-NmNtduiuErS8EalArGBrXKil/h8=", 2918 | "dev": true 2919 | }, 2920 | "tar.gz": { 2921 | "version": "https://registry.npmjs.org/tar.gz/-/tar.gz-0.1.1.tgz", 2922 | "integrity": "sha1-6RTOI7L9xidXX72zSFpbIo7VmUc=", 2923 | "dev": true, 2924 | "dependencies": { 2925 | "fstream": { 2926 | "version": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", 2927 | "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=", 2928 | "dev": true 2929 | }, 2930 | "graceful-fs": { 2931 | "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", 2932 | "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", 2933 | "dev": true 2934 | }, 2935 | "tar": { 2936 | "version": "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz", 2937 | "integrity": "sha1-QpQLrltfIsdEg2mRJvnz8nRJyxM=", 2938 | "dev": true 2939 | } 2940 | } 2941 | }, 2942 | "term-color": { 2943 | "version": "https://registry.npmjs.org/term-color/-/term-color-1.0.1.tgz", 2944 | "integrity": "sha1-OOGSVTpHPjXkFgT/UZmEa/gRejo=", 2945 | "dev": true, 2946 | "dependencies": { 2947 | "ansi-styles": { 2948 | "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz", 2949 | "integrity": "sha1-sDP1f5Pi0oreuLwRE4+hPaD9IKM=", 2950 | "dev": true 2951 | }, 2952 | "supports-color": { 2953 | "version": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz", 2954 | "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=", 2955 | "dev": true 2956 | } 2957 | } 2958 | }, 2959 | "through": { 2960 | "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2961 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 2962 | "dev": true 2963 | }, 2964 | "through2": { 2965 | "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 2966 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 2967 | "dev": true 2968 | }, 2969 | "timers-browserify": { 2970 | "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", 2971 | "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", 2972 | "dev": true 2973 | }, 2974 | "to-arraybuffer": { 2975 | "version": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 2976 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", 2977 | "dev": true 2978 | }, 2979 | "to-fast-properties": { 2980 | "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 2981 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 2982 | "dev": true 2983 | }, 2984 | "to-px": { 2985 | "version": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", 2986 | "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=" 2987 | }, 2988 | "touch-pinch": { 2989 | "version": "https://registry.npmjs.org/touch-pinch/-/touch-pinch-1.0.1.tgz", 2990 | "integrity": "sha1-UvKu7iYxOXMFcNDM341EOpKzs20=" 2991 | }, 2992 | "tough-cookie": { 2993 | "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", 2994 | "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", 2995 | "dev": true, 2996 | "optional": true 2997 | }, 2998 | "trim-newlines": { 2999 | "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 3000 | "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", 3001 | "dev": true 3002 | }, 3003 | "trim-right": { 3004 | "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 3005 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 3006 | "dev": true 3007 | }, 3008 | "tty-browserify": { 3009 | "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", 3010 | "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", 3011 | "dev": true 3012 | }, 3013 | "tunnel-agent": { 3014 | "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 3015 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 3016 | "dev": true, 3017 | "optional": true 3018 | }, 3019 | "typedarray": { 3020 | "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3021 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 3022 | "dev": true 3023 | }, 3024 | "uglify-js": { 3025 | "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.15.tgz", 3026 | "integrity": "sha1-qssyOoRrI0YCJw3q2KMkQaiAb0I=", 3027 | "dev": true, 3028 | "dependencies": { 3029 | "commander": { 3030 | "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 3031 | "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", 3032 | "dev": true 3033 | } 3034 | } 3035 | }, 3036 | "ultron": { 3037 | "version": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", 3038 | "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", 3039 | "dev": true 3040 | }, 3041 | "umd": { 3042 | "version": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz", 3043 | "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=", 3044 | "dev": true 3045 | }, 3046 | "url": { 3047 | "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 3048 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", 3049 | "dev": true, 3050 | "dependencies": { 3051 | "punycode": { 3052 | "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3053 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", 3054 | "dev": true 3055 | } 3056 | } 3057 | }, 3058 | "url-parse-as-address": { 3059 | "version": "https://registry.npmjs.org/url-parse-as-address/-/url-parse-as-address-1.0.0.tgz", 3060 | "integrity": "sha1-+4CQGIPzOLPL7TU49fqiatr38uc=", 3061 | "dev": true 3062 | }, 3063 | "url-trim": { 3064 | "version": "https://registry.npmjs.org/url-trim/-/url-trim-1.0.0.tgz", 3065 | "integrity": "sha1-QAV+LxZLiOXaynJp2kfm0d2Detw=", 3066 | "dev": true 3067 | }, 3068 | "util": { 3069 | "version": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", 3070 | "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", 3071 | "dev": true, 3072 | "dependencies": { 3073 | "inherits": { 3074 | "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", 3075 | "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", 3076 | "dev": true 3077 | } 3078 | } 3079 | }, 3080 | "util-deprecate": { 3081 | "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3082 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3083 | "dev": true 3084 | }, 3085 | "utile": { 3086 | "version": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", 3087 | "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", 3088 | "dev": true, 3089 | "dependencies": { 3090 | "async": { 3091 | "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", 3092 | "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", 3093 | "dev": true 3094 | } 3095 | } 3096 | }, 3097 | "validate-npm-package-license": { 3098 | "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", 3099 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", 3100 | "dev": true 3101 | }, 3102 | "vm-browserify": { 3103 | "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", 3104 | "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", 3105 | "dev": true 3106 | }, 3107 | "watchify": { 3108 | "version": "https://registry.npmjs.org/watchify/-/watchify-3.9.0.tgz", 3109 | "integrity": "sha1-8HX9LoqGrN6Eztum5cKgvt1SPZ4=", 3110 | "dev": true 3111 | }, 3112 | "watchify-middleware": { 3113 | "version": "https://registry.npmjs.org/watchify-middleware/-/watchify-middleware-1.6.0.tgz", 3114 | "integrity": "sha1-bbbijwJ53hyhIJrk8afwY3RYd8Q=", 3115 | "dev": true, 3116 | "dependencies": { 3117 | "object-assign": { 3118 | "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3119 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 3120 | "dev": true 3121 | } 3122 | } 3123 | }, 3124 | "which": { 3125 | "version": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", 3126 | "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", 3127 | "dev": true 3128 | }, 3129 | "winston": { 3130 | "version": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", 3131 | "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", 3132 | "dev": true, 3133 | "dependencies": { 3134 | "async": { 3135 | "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", 3136 | "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", 3137 | "dev": true 3138 | }, 3139 | "pkginfo": { 3140 | "version": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", 3141 | "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", 3142 | "dev": true 3143 | } 3144 | } 3145 | }, 3146 | "wrappy": { 3147 | "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3148 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3149 | "dev": true 3150 | }, 3151 | "ws": { 3152 | "version": "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz", 3153 | "integrity": "sha1-V/QNA2gy5fUFVmKjl8Tedu1mv2E=", 3154 | "dev": true 3155 | }, 3156 | "xtend": { 3157 | "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3158 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 3159 | "dev": true 3160 | } 3161 | } 3162 | } 3163 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "360-image-viewer", 3 | "version": "1.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "license": "MIT", 7 | "author": { 8 | "name": "Matt DesLauriers", 9 | "email": "dave.des@gmail.com", 10 | "url": "https://github.com/mattdesl" 11 | }, 12 | "dependencies": { 13 | "defined": "^1.0.0", 14 | "object-assign": "^4.1.1", 15 | "orbit-controls": "^1.2.0", 16 | "perspective-camera": "^2.0.1", 17 | "primitive-sphere": "^3.0.0", 18 | "raf-loop": "^1.1.3", 19 | "regl": "^1.3.0" 20 | }, 21 | "devDependencies": { 22 | "babel-preset-es2015": "^6.24.1", 23 | "babelify": "^7.3.0", 24 | "browserify": "^14.4.0", 25 | "budo": "^10.0.3", 26 | "drag-drop": "^2.13.2", 27 | "get-canvas-context": "^1.0.2", 28 | "surge": "^0.19.0", 29 | "uglify-js": "^3.0.15" 30 | }, 31 | "scripts": { 32 | "test": "node test.js", 33 | "deploy:upload": "surge -p demo -d 360-image-viewer-test.surge.sh", 34 | "deploy": "npm run build && npm run deploy:upload", 35 | "start": "budo demo/index.js:bundle.js --dir demo --live -- -t babelify", 36 | "build": "browserify demo/index.js -t babelify | uglifyjs -m -c warnings=false > demo/bundle.js" 37 | }, 38 | "keywords": [], 39 | "repository": { 40 | "type": "git", 41 | "url": "git://github.com/Jam3/360-image-viewer.git" 42 | }, 43 | "homepage": "https://github.com/Jam3/360-image-viewer", 44 | "bugs": { 45 | "url": "https://github.com/Jam3/360-image-viewer/issues" 46 | } 47 | } 48 | --------------------------------------------------------------------------------