git ssb

0+

mixmix / scuttle-blog



Commit e3887a34e8e4f6b4cbc0d1d1b0e549b50157b48c

initial

mix irving committed on 2/8/2018, 10:32:52 AM

Files changed

.gitignoreadded
README.mdadded
async/fetch.jsadded
index.jsadded
isBlog.jsadded
obs/get.jsadded
package-lock.jsonadded
package.jsonadded
schema/blog.jsadded
sync/isBlog.jsadded
tests/sync/isBlog.jsadded
.gitignoreView
@@ -1,0 +1,1 @@
1 +node_modules
README.mdView
@@ -1,0 +1,90 @@
1 +# Scuttle-blog
2 +
3 +A helper module which covers all your ssb `blog` related needs from blog data.
4 +
5 +The parts of this modules are :
6 +- queries/ getters
7 +- schemas/ validaters
8 +
9 +## Usage
10 +
11 +```js
12 +const Blog = require('scuttle-blog')
13 +const blog = Blog(server) // server is sometimes called sbot
14 +
15 +blog.sync.isBlog(msg)
16 +// => true
17 +
18 +blog.async.fetch(msg.key, (err, success) => {
19 + if (err)
20 + return console.error('there was an error getting your blog', err)
21 +
22 + if (success)
23 + console.log('your blog is ready to read!')
24 + else
25 + console.log('could not fetch your blog T_T')
26 +})
27 +```
28 +
29 +## Constructor API
30 +
31 +### `Blog(server)`
32 +
33 +`server` is a connection to your scuttlebutt server provided by `ssb-client` (sometimes called sbot in other docs).
34 +
35 +
36 +## Instance API
37 +
38 +### `blog.obs.get(keyOrMsg) => Observeable`
39 +
40 +`keyOrMsg` `(String|Object)` - either a msg key or a whole message.
41 +
42 +The observeable returned is [Mutant Struct](https://github.com/mmckegg/mutant#struct) which emits data of the form:
43 +
44 +```js
45 +{
46 + title,
47 + summary,
48 + thumbnail,
49 + content,
50 + channel
51 +}
52 +```
53 +
54 +The content and thumbnail will take some time to load if you haven't already got the whole blog.
55 +This method called `blog.async.fetch` under the hood.
56 +
57 +
58 +### `blog.sync.isBlog(msg) => Boolean`
59 +
60 +`msg` - is a message from a server stream (or the message content).
61 +
62 +
63 +### `blog.async.fetch(keyOrMsg, cb)`
64 +
65 +Blogs store the body of their text as an attachement. In Scuttlebutt, attachments have to be manually requested, hence this method.
66 +
67 +`keyOrMsg` `(String|Object)` - either a msg key or a whole message.
68 +
69 +`cb` `(function)` - a callback with the standard signature `(err, success)` where `success` is a `Boolean`
70 +
71 +
72 +
73 +## Schemas
74 +
75 +Blog message content:
76 +```js
77 +{
78 + type: 'blog',
79 + title: String,
80 + blog: Blob,
81 + summary: String, (optional)
82 + thumbnail: Blob, (optional)
83 + channel: String, (optional)
84 +}
85 +```
86 +
87 +## Development
88 +
89 +Run the tests with `npm test`
90 +
async/fetch.jsView
@@ -1,0 +1,23 @@
1 +const isBlog = require('../../isBlog')
2 +
3 +// TODO take blog or blogKey?
4 +
5 +module.exports = function (server) {
6 + return function fetch (blog, cb) {
7 + if (!isBlog(blog)) return cb(`Not a valid blog ${JSON.stringify(blog, null, 2)}`)
8 +
9 + server.blobs.want(getBlob(blog), (err, success) => {
10 + if (err) throw err
11 +
12 + if (success) cb(null, success)
13 + else cb(null, 'Could not fetch blog content')
14 + })
15 + }
16 +}
17 +
18 +function getBlob (msg) {
19 + if (msg.value.content && msg.value.content.content) return obj.value.content
20 +
21 + return obj
22 +}
23 +
index.jsView
@@ -1,0 +1,40 @@
1 +const inject = require('./inject')
2 +
3 +const methods = {
4 + async: {
5 + create: require('./async/fetch'),
6 + },
7 + obs: {
8 + get: require('./obs/get'),
9 + },
10 + sync: {
11 + isBlog: require('./sync/isBook'),
12 + }
13 +}
14 +
15 +// Note : if you don't like this export pattern, there's no reason we can't add different mappings !!
16 +// e.g. book.validate.bookComment
17 +
18 +module.exports = function Blog (server, opts) {
19 + if (!server.about) throw new Error('scuttle-book requires you to have the ssb-about plugin installed')
20 +
21 + return inject(server, methods)
22 +}
23 +
24 +
25 +// auto-inject the ssb-server to all methods to reduce repitition
26 +function inject (server, methods) {
27 + for (var key in methods) {
28 + if (typeof methods[key] === 'function') {
29 + methods[key] = methods[key](server)
30 +
31 + }
32 + else {
33 + methods[key] = inject(server, methods[key])
34 + }
35 + }
36 +
37 + return methods
38 +}
39 +
40 +
isBlog.jsView
@@ -1,0 +1,2 @@
1 +module.exports = require('./sync/isBlog')()
2 +
obs/get.jsView
@@ -1,0 +1,23 @@
1 +const { Struct, Value } = require('mutant')
2 +const fetch = require('../../async/fetch')
3 +
4 +module.exports = function (server) {
5 + return function get (blog) {
6 + fetch(blog, (err, success)
7 + if (!isBlog(blog)) return cb(`Not a valid blog ${JSON.stringify(blog, null, 2)}`)
8 +
9 + server.blobs.want(getBlob(blog), (err, success) => {
10 + if (err) throw err
11 +
12 + if (success) cb(null, success)
13 + else cb(null, 'Could not fetch blog content')
14 + })
15 + }
16 +}
17 +
18 +function getBlob (msg) {
19 + if (msg.value.content && msg.value.content.content) return obj.value.content
20 +
21 + return obj
22 +}
23 +
package-lock.jsonView
@@ -1,0 +1,5226 @@
1 +{
2 + "name": "scuttle-blog",
3 + "version": "0.0.1",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "abstract-leveldown": {
8 + "version": "0.12.4",
9 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz",
10 + "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=",
11 + "dev": true,
12 + "requires": {
13 + "xtend": "3.0.0"
14 + },
15 + "dependencies": {
16 + "xtend": {
17 + "version": "3.0.0",
18 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
19 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
20 + "dev": true
21 + }
22 + }
23 + },
24 + "aligned-block-file": {
25 + "version": "1.1.2",
26 + "resolved": "https://registry.npmjs.org/aligned-block-file/-/aligned-block-file-1.1.2.tgz",
27 + "integrity": "sha1-SpFo1f7+Xi9SWUncVaSqCZA7MtQ=",
28 + "dev": true,
29 + "requires": {
30 + "hashlru": "2.2.1",
31 + "int53": "0.2.4",
32 + "mkdirp": "0.5.1",
33 + "obv": "0.0.0",
34 + "uint48be": "1.0.2"
35 + }
36 + },
37 + "ansi-escapes": {
38 + "version": "1.4.0",
39 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
40 + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
41 + "dev": true
42 + },
43 + "ansi-regex": {
44 + "version": "2.1.1",
45 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
46 + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
47 + "dev": true
48 + },
49 + "ansi-styles": {
50 + "version": "2.2.1",
51 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
52 + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
53 + "dev": true
54 + },
55 + "anymatch": {
56 + "version": "1.3.2",
57 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
58 + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
59 + "dev": true,
60 + "requires": {
61 + "micromatch": "2.3.11",
62 + "normalize-path": "2.1.1"
63 + }
64 + },
65 + "append-batch": {
66 + "version": "0.0.1",
67 + "resolved": "https://registry.npmjs.org/append-batch/-/append-batch-0.0.1.tgz",
68 + "integrity": "sha1-kiSFjlVpl8zAfxHx7poShTKqDSU=",
69 + "dev": true
70 + },
71 + "aproba": {
72 + "version": "1.2.0",
73 + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
74 + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
75 + "dev": true
76 + },
77 + "are-we-there-yet": {
78 + "version": "1.1.4",
79 + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
80 + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
81 + "dev": true,
82 + "requires": {
83 + "delegates": "1.0.0",
84 + "readable-stream": "2.3.3"
85 + },
86 + "dependencies": {
87 + "isarray": {
88 + "version": "1.0.0",
89 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
90 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
91 + "dev": true
92 + },
93 + "readable-stream": {
94 + "version": "2.3.3",
95 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
96 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
97 + "dev": true,
98 + "requires": {
99 + "core-util-is": "1.0.2",
100 + "inherits": "2.0.3",
101 + "isarray": "1.0.0",
102 + "process-nextick-args": "1.0.7",
103 + "safe-buffer": "5.1.1",
104 + "string_decoder": "1.0.3",
105 + "util-deprecate": "1.0.2"
106 + }
107 + },
108 + "string_decoder": {
109 + "version": "1.0.3",
110 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
111 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
112 + "dev": true,
113 + "requires": {
114 + "safe-buffer": "5.1.1"
115 + }
116 + }
117 + }
118 + },
119 + "arr-diff": {
120 + "version": "2.0.0",
121 + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
122 + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
123 + "dev": true,
124 + "requires": {
125 + "arr-flatten": "1.1.0"
126 + }
127 + },
128 + "arr-flatten": {
129 + "version": "1.1.0",
130 + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
131 + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
132 + "dev": true
133 + },
134 + "array-union": {
135 + "version": "1.0.2",
136 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
137 + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
138 + "dev": true,
139 + "requires": {
140 + "array-uniq": "1.0.3"
141 + }
142 + },
143 + "array-uniq": {
144 + "version": "1.0.3",
145 + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
146 + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
147 + "dev": true
148 + },
149 + "array-unique": {
150 + "version": "0.2.1",
151 + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
152 + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
153 + "dev": true
154 + },
155 + "arraybuffer-base64": {
156 + "version": "1.0.0",
157 + "resolved": "https://registry.npmjs.org/arraybuffer-base64/-/arraybuffer-base64-1.0.0.tgz",
158 + "integrity": "sha1-/QIXuiuo1IYzZj+kOoCTdoAp2jA=",
159 + "dev": true
160 + },
161 + "arrify": {
162 + "version": "1.0.1",
163 + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
164 + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
165 + "dev": true
166 + },
167 + "async-each": {
168 + "version": "1.0.1",
169 + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
170 + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
171 + "dev": true
172 + },
173 + "async-single": {
174 + "version": "1.0.5",
175 + "resolved": "https://registry.npmjs.org/async-single/-/async-single-1.0.5.tgz",
176 + "integrity": "sha1-El3QneldPqMKN4rb7QIQkhebA8k="
177 + },
178 + "async-write": {
179 + "version": "2.1.0",
180 + "resolved": "https://registry.npmjs.org/async-write/-/async-write-2.1.0.tgz",
181 + "integrity": "sha1-HnYoF9hJzkS/rAeSWkIDZ4cGGxU=",
182 + "dev": true
183 + },
184 + "atomic-file": {
185 + "version": "1.1.4",
186 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-1.1.4.tgz",
187 + "integrity": "sha1-ZhUuOfzosrDH5fJi4KGl06s6q1E="
188 + },
189 + "attach-ware": {
190 + "version": "1.1.1",
191 + "resolved": "https://registry.npmjs.org/attach-ware/-/attach-ware-1.1.1.tgz",
192 + "integrity": "sha1-KPUTk92LuL2q2XI0JRm/CWIaNaM=",
193 + "dev": true,
194 + "requires": {
195 + "unherit": "1.1.0"
196 + }
197 + },
198 + "bail": {
199 + "version": "1.0.2",
200 + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
201 + "integrity": "sha1-99bBcxYwqfnw1NNe0fli4gdKF2Q=",
202 + "dev": true
203 + },
204 + "balanced-match": {
205 + "version": "1.0.0",
206 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
207 + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
208 + "dev": true
209 + },
210 + "bash-color": {
211 + "version": "0.0.4",
212 + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz",
213 + "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=",
214 + "dev": true
215 + },
216 + "binary-extensions": {
217 + "version": "1.11.0",
218 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
219 + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
220 + "dev": true
221 + },
222 + "binary-search": {
223 + "version": "1.3.3",
224 + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.3.tgz",
225 + "integrity": "sha512-T/jKp3vw1JI+6KQgsyT5R6CcRhMtxlHojeKrA5gX5WG50BQaoujRfoJJKMkuokNuZ0w2S+1wHufEWzw6Qhj30Q==",
226 + "dev": true
227 + },
228 + "binary-xhr": {
229 + "version": "0.0.2",
230 + "resolved": "https://registry.npmjs.org/binary-xhr/-/binary-xhr-0.0.2.tgz",
231 + "integrity": "sha1-IQywda0XeqRIpu+iiMEKiZw7OYc=",
232 + "dev": true,
233 + "requires": {
234 + "inherits": "1.0.0"
235 + },
236 + "dependencies": {
237 + "inherits": {
238 + "version": "1.0.0",
239 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz",
240 + "integrity": "sha1-OOGXUoW/H3upyE2hArsSdxMirEg=",
241 + "dev": true
242 + }
243 + }
244 + },
245 + "bindings": {
246 + "version": "1.2.1",
247 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
248 + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=",
249 + "dev": true
250 + },
251 + "bl": {
252 + "version": "0.8.2",
253 + "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
254 + "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
255 + "dev": true,
256 + "requires": {
257 + "readable-stream": "1.0.34"
258 + }
259 + },
260 + "blake2s": {
261 + "version": "1.0.1",
262 + "resolved": "https://registry.npmjs.org/blake2s/-/blake2s-1.0.1.tgz",
263 + "integrity": "sha1-FZiCKjIOzmqkAbqYKVT4L2GwzXs=",
264 + "dev": true
265 + },
266 + "brace-expansion": {
267 + "version": "1.1.8",
268 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
269 + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
270 + "dev": true,
271 + "requires": {
272 + "balanced-match": "1.0.0",
273 + "concat-map": "0.0.1"
274 + }
275 + },
276 + "braces": {
277 + "version": "1.8.5",
278 + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
279 + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
280 + "dev": true,
281 + "requires": {
282 + "expand-range": "1.8.2",
283 + "preserve": "0.2.0",
284 + "repeat-element": "1.1.2"
285 + }
286 + },
287 + "broadcast-stream": {
288 + "version": "0.2.2",
289 + "resolved": "https://registry.npmjs.org/broadcast-stream/-/broadcast-stream-0.2.2.tgz",
290 + "integrity": "sha1-eee7FKmrunf3KsklgiAkKo/TkZ0=",
291 + "dev": true
292 + },
293 + "browser-split": {
294 + "version": "0.0.1",
295 + "resolved": "https://registry.npmjs.org/browser-split/-/browser-split-0.0.1.tgz",
296 + "integrity": "sha1-ewl1dPjj6tYG+0Zk5krf3aKYGpM="
297 + },
298 + "bytewise": {
299 + "version": "1.1.0",
300 + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
301 + "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
302 + "dev": true,
303 + "requires": {
304 + "bytewise-core": "1.2.3",
305 + "typewise": "1.0.3"
306 + }
307 + },
308 + "bytewise-core": {
309 + "version": "1.2.3",
310 + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
311 + "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
312 + "dev": true,
313 + "requires": {
314 + "typewise-core": "1.2.0"
315 + }
316 + },
317 + "camelcase": {
318 + "version": "2.1.1",
319 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
320 + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
321 + "dev": true
322 + },
323 + "ccount": {
324 + "version": "1.0.2",
325 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz",
326 + "integrity": "sha1-U7ai+BW7d7nChx97mnLDol8djok=",
327 + "dev": true
328 + },
329 + "chalk": {
330 + "version": "1.1.3",
331 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
332 + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
333 + "dev": true,
334 + "requires": {
335 + "ansi-styles": "2.2.1",
336 + "escape-string-regexp": "1.0.5",
337 + "has-ansi": "2.0.0",
338 + "strip-ansi": "3.0.1",
339 + "supports-color": "2.0.0"
340 + }
341 + },
342 + "character-entities": {
343 + "version": "1.2.1",
344 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
345 + "integrity": "sha1-92hxvl72bdt/j440eOzDdMJ9bco=",
346 + "dev": true
347 + },
348 + "character-entities-html4": {
349 + "version": "1.1.1",
350 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz",
351 + "integrity": "sha1-NZoqSg9+KdPcKsmb2+Ie45Q46lA=",
352 + "dev": true
353 + },
354 + "character-entities-legacy": {
355 + "version": "1.1.1",
356 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
357 + "integrity": "sha1-9Ad53xoQGHK7UQo9KV4fzPFHIC8=",
358 + "dev": true
359 + },
360 + "character-reference-invalid": {
361 + "version": "1.1.1",
362 + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
363 + "integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw=",
364 + "dev": true
365 + },
366 + "chloride": {
367 + "version": "2.2.8",
368 + "resolved": "https://registry.npmjs.org/chloride/-/chloride-2.2.8.tgz",
369 + "integrity": "sha1-6/mos8qJp0R8NgOW2t+BfIqY1Zk=",
370 + "requires": {
371 + "is-electron": "2.1.0",
372 + "sodium-browserify": "1.2.1",
373 + "sodium-browserify-tweetnacl": "0.2.3",
374 + "sodium-chloride": "1.1.0",
375 + "sodium-native": "2.1.4"
376 + }
377 + },
378 + "chloride-test": {
379 + "version": "1.2.2",
380 + "resolved": "https://registry.npmjs.org/chloride-test/-/chloride-test-1.2.2.tgz",
381 + "integrity": "sha1-F4aGqF6SeARREulujHkXk/mhCuo=",
382 + "requires": {
383 + "json-buffer": "2.0.11"
384 + }
385 + },
386 + "chokidar": {
387 + "version": "1.7.0",
388 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
389 + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
390 + "dev": true,
391 + "requires": {
392 + "anymatch": "1.3.2",
393 + "async-each": "1.0.1",
394 + "fsevents": "1.1.3",
395 + "glob-parent": "2.0.0",
396 + "inherits": "2.0.3",
397 + "is-binary-path": "1.0.1",
398 + "is-glob": "2.0.1",
399 + "path-is-absolute": "1.0.1",
400 + "readdirp": "2.1.0"
401 + }
402 + },
403 + "chownr": {
404 + "version": "1.0.1",
405 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
406 + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
407 + "dev": true
408 + },
409 + "class-list": {
410 + "version": "0.1.1",
411 + "resolved": "https://registry.npmjs.org/class-list/-/class-list-0.1.1.tgz",
412 + "integrity": "sha1-m5dFGSxBebXaCg12M2WOPHDXlss=",
413 + "dev": true,
414 + "requires": {
415 + "indexof": "0.0.1"
416 + }
417 + },
418 + "cli-cursor": {
419 + "version": "1.0.2",
420 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
421 + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
422 + "dev": true,
423 + "requires": {
424 + "restore-cursor": "1.0.1"
425 + }
426 + },
427 + "co": {
428 + "version": "3.1.0",
429 + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
430 + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
431 + "dev": true
432 + },
433 + "code-point-at": {
434 + "version": "1.1.0",
435 + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
436 + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
437 + "dev": true
438 + },
439 + "collapse-white-space": {
440 + "version": "1.0.3",
441 + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
442 + "integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=",
443 + "dev": true
444 + },
445 + "commander": {
446 + "version": "2.14.1",
447 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
448 + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
449 + "dev": true
450 + },
451 + "concat-map": {
452 + "version": "0.0.1",
453 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
454 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
455 + "dev": true
456 + },
457 + "concat-stream": {
458 + "version": "1.6.0",
459 + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
460 + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
461 + "dev": true,
462 + "requires": {
463 + "inherits": "2.0.3",
464 + "readable-stream": "2.3.3",
465 + "typedarray": "0.0.6"
466 + },
467 + "dependencies": {
468 + "isarray": {
469 + "version": "1.0.0",
470 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
471 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
472 + "dev": true
473 + },
474 + "readable-stream": {
475 + "version": "2.3.3",
476 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
477 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
478 + "dev": true,
479 + "requires": {
480 + "core-util-is": "1.0.2",
481 + "inherits": "2.0.3",
482 + "isarray": "1.0.0",
483 + "process-nextick-args": "1.0.7",
484 + "safe-buffer": "5.1.1",
485 + "string_decoder": "1.0.3",
486 + "util-deprecate": "1.0.2"
487 + }
488 + },
489 + "string_decoder": {
490 + "version": "1.0.3",
491 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
492 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
493 + "dev": true,
494 + "requires": {
495 + "safe-buffer": "5.1.1"
496 + }
497 + }
498 + }
499 + },
500 + "console-control-strings": {
501 + "version": "1.1.0",
502 + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
503 + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
504 + "dev": true
505 + },
506 + "cont": {
507 + "version": "1.0.3",
508 + "resolved": "https://registry.npmjs.org/cont/-/cont-1.0.3.tgz",
509 + "integrity": "sha1-aHTx6TX8qZ0EjK6qrZoK6wILzOA=",
510 + "dev": true,
511 + "requires": {
512 + "continuable": "1.2.0",
513 + "continuable-para": "1.2.0",
514 + "continuable-series": "1.2.0"
515 + }
516 + },
517 + "continuable": {
518 + "version": "1.2.0",
519 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.2.0.tgz",
520 + "integrity": "sha1-CCd0aNQRNiAAdMz4cpQwjRafJbY=",
521 + "dev": true
522 + },
523 + "continuable-hash": {
524 + "version": "0.1.4",
525 + "resolved": "https://registry.npmjs.org/continuable-hash/-/continuable-hash-0.1.4.tgz",
526 + "integrity": "sha1-gcdNQXcdjJJ4Ph4A5fEbNNbfx4w=",
527 + "dev": true,
528 + "requires": {
529 + "continuable": "1.1.8"
530 + },
531 + "dependencies": {
532 + "continuable": {
533 + "version": "1.1.8",
534 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
535 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U=",
536 + "dev": true
537 + }
538 + }
539 + },
540 + "continuable-list": {
541 + "version": "0.1.6",
542 + "resolved": "https://registry.npmjs.org/continuable-list/-/continuable-list-0.1.6.tgz",
543 + "integrity": "sha1-h88G7FgHFuEN/5X7C4TF8OisrF8=",
544 + "dev": true,
545 + "requires": {
546 + "continuable": "1.1.8"
547 + },
548 + "dependencies": {
549 + "continuable": {
550 + "version": "1.1.8",
551 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
552 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U=",
553 + "dev": true
554 + }
555 + }
556 + },
557 + "continuable-para": {
558 + "version": "1.2.0",
559 + "resolved": "https://registry.npmjs.org/continuable-para/-/continuable-para-1.2.0.tgz",
560 + "integrity": "sha1-RFUQ9klFndD8NchyAVFGEicxxYM=",
561 + "dev": true,
562 + "requires": {
563 + "continuable-hash": "0.1.4",
564 + "continuable-list": "0.1.6"
565 + }
566 + },
567 + "continuable-series": {
568 + "version": "1.2.0",
569 + "resolved": "https://registry.npmjs.org/continuable-series/-/continuable-series-1.2.0.tgz",
570 + "integrity": "sha1-MkM5euk6cdZVswJoNKUVkLlYueg=",
571 + "dev": true
572 + },
573 + "core-util-is": {
574 + "version": "1.0.2",
575 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
576 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
577 + "dev": true
578 + },
579 + "cross-spawn": {
580 + "version": "5.1.0",
581 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
582 + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
583 + "dev": true,
584 + "requires": {
585 + "lru-cache": "4.1.1",
586 + "shebang-command": "1.2.0",
587 + "which": "1.3.0"
588 + }
589 + },
590 + "debug": {
591 + "version": "2.6.9",
592 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
593 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
594 + "dev": true,
595 + "requires": {
596 + "ms": "2.0.0"
597 + }
598 + },
599 + "deep-equal": {
600 + "version": "1.0.1",
601 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
602 + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
603 + },
604 + "deep-extend": {
605 + "version": "0.4.2",
606 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
607 + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
608 + "dev": true
609 + },
610 + "deferred-leveldown": {
611 + "version": "0.2.0",
612 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
613 + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=",
614 + "dev": true,
615 + "requires": {
616 + "abstract-leveldown": "0.12.4"
617 + }
618 + },
619 + "define-properties": {
620 + "version": "1.1.2",
621 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
622 + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
623 + "dev": true,
624 + "requires": {
625 + "foreach": "2.0.5",
626 + "object-keys": "1.0.11"
627 + }
628 + },
629 + "defined": {
630 + "version": "1.0.0",
631 + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
632 + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
633 + "dev": true
634 + },
635 + "delegates": {
636 + "version": "1.0.0",
637 + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
638 + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
639 + "dev": true
640 + },
641 + "detab": {
642 + "version": "1.0.2",
643 + "resolved": "https://registry.npmjs.org/detab/-/detab-1.0.2.tgz",
644 + "integrity": "sha1-AbwqSr57x8xnwwOYCO265HBJoO4=",
645 + "dev": true,
646 + "requires": {
647 + "repeat-string": "1.6.1"
648 + }
649 + },
650 + "detect-libc": {
651 + "version": "1.0.3",
652 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
653 + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
654 + "dev": true
655 + },
656 + "duplexer": {
657 + "version": "0.1.1",
658 + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
659 + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
660 + "dev": true
661 + },
662 + "ed2curve": {
663 + "version": "0.1.4",
664 + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.1.4.tgz",
665 + "integrity": "sha1-lKRCSLuH2jXbDv968KpXYWgRf1k=",
666 + "requires": {
667 + "tweetnacl": "0.14.5"
668 + }
669 + },
670 + "elegant-spinner": {
671 + "version": "1.0.1",
672 + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
673 + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
674 + "dev": true
675 + },
676 + "emoji-named-characters": {
677 + "version": "1.0.2",
678 + "resolved": "https://registry.npmjs.org/emoji-named-characters/-/emoji-named-characters-1.0.2.tgz",
679 + "integrity": "sha1-zes20OZgAsS5178d+8Ohmft9QJs=",
680 + "dev": true
681 + },
682 + "emoji-server": {
683 + "version": "1.0.0",
684 + "resolved": "https://registry.npmjs.org/emoji-server/-/emoji-server-1.0.0.tgz",
685 + "integrity": "sha1-0GPP7prxGMxa7vvC6bPdUIWBXGM=",
686 + "dev": true,
687 + "requires": {
688 + "emoji-named-characters": "1.0.2"
689 + }
690 + },
691 + "end-of-stream": {
692 + "version": "1.4.1",
693 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
694 + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
695 + "dev": true,
696 + "requires": {
697 + "once": "1.4.0"
698 + }
699 + },
700 + "errno": {
701 + "version": "0.1.6",
702 + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz",
703 + "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==",
704 + "dev": true,
705 + "requires": {
706 + "prr": "1.0.1"
707 + },
708 + "dependencies": {
709 + "prr": {
710 + "version": "1.0.1",
711 + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
712 + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
713 + "dev": true
714 + }
715 + }
716 + },
717 + "es-abstract": {
718 + "version": "1.10.0",
719 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz",
720 + "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==",
721 + "dev": true,
722 + "requires": {
723 + "es-to-primitive": "1.1.1",
724 + "function-bind": "1.1.1",
725 + "has": "1.0.1",
726 + "is-callable": "1.1.3",
727 + "is-regex": "1.0.4"
728 + }
729 + },
730 + "es-to-primitive": {
731 + "version": "1.1.1",
732 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
733 + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
734 + "dev": true,
735 + "requires": {
736 + "is-callable": "1.1.3",
737 + "is-date-object": "1.0.1",
738 + "is-symbol": "1.0.1"
739 + }
740 + },
741 + "escape-string-regexp": {
742 + "version": "1.0.5",
743 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
744 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
745 + "dev": true
746 + },
747 + "exit-hook": {
748 + "version": "1.1.1",
749 + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
750 + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
751 + "dev": true
752 + },
753 + "expand-brackets": {
754 + "version": "0.1.5",
755 + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
756 + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
757 + "dev": true,
758 + "requires": {
759 + "is-posix-bracket": "0.1.1"
760 + }
761 + },
762 + "expand-range": {
763 + "version": "1.8.2",
764 + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
765 + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
766 + "dev": true,
767 + "requires": {
768 + "fill-range": "2.2.3"
769 + }
770 + },
771 + "expand-template": {
772 + "version": "1.1.0",
773 + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz",
774 + "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==",
775 + "dev": true
776 + },
777 + "explain-error": {
778 + "version": "1.0.4",
779 + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz",
780 + "integrity": "sha1-p5PTrAytTGq1cemWj7urbLJTKSk=",
781 + "dev": true
782 + },
783 + "extend": {
784 + "version": "3.0.1",
785 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
786 + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
787 + "dev": true
788 + },
789 + "extend.js": {
790 + "version": "0.0.2",
791 + "resolved": "https://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz",
792 + "integrity": "sha1-D5x6gaHyCLcD6wwxMf5XFqxuzRU=",
793 + "dev": true
794 + },
795 + "extglob": {
796 + "version": "0.3.2",
797 + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
798 + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
799 + "dev": true,
800 + "requires": {
801 + "is-extglob": "1.0.0"
802 + }
803 + },
804 + "fast-future": {
805 + "version": "1.0.2",
806 + "resolved": "https://registry.npmjs.org/fast-future/-/fast-future-1.0.2.tgz",
807 + "integrity": "sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo=",
808 + "dev": true
809 + },
810 + "figures": {
811 + "version": "1.7.0",
812 + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
813 + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
814 + "dev": true,
815 + "requires": {
816 + "escape-string-regexp": "1.0.5",
817 + "object-assign": "4.1.1"
818 + }
819 + },
820 + "filename-regex": {
821 + "version": "2.0.1",
822 + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
823 + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
824 + "dev": true
825 + },
826 + "fill-range": {
827 + "version": "2.2.3",
828 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
829 + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
830 + "dev": true,
831 + "requires": {
832 + "is-number": "2.1.0",
833 + "isobject": "2.1.0",
834 + "randomatic": "1.1.7",
835 + "repeat-element": "1.1.2",
836 + "repeat-string": "1.6.1"
837 + }
838 + },
839 + "flumecodec": {
840 + "version": "0.0.0",
841 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.0.tgz",
842 + "integrity": "sha1-Ns4Gq+Lg4BxE3WnyoWUwWiMgZJs=",
843 + "requires": {
844 + "level-codec": "6.2.0"
845 + }
846 + },
847 + "flumedb": {
848 + "version": "0.4.6",
849 + "resolved": "https://registry.npmjs.org/flumedb/-/flumedb-0.4.6.tgz",
850 + "integrity": "sha1-wa/6cpXDZy5VF06yR5Uvl2aRfo8=",
851 + "dev": true,
852 + "requires": {
853 + "cont": "1.0.3",
854 + "explain-error": "1.0.4",
855 + "obv": "0.0.1",
856 + "pull-cont": "0.0.0",
857 + "pull-looper": "1.0.0",
858 + "pull-stream": "3.6.1"
859 + },
860 + "dependencies": {
861 + "obv": {
862 + "version": "0.0.1",
863 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
864 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
865 + "dev": true
866 + }
867 + }
868 + },
869 + "flumelog-offset": {
870 + "version": "3.2.6",
871 + "resolved": "https://registry.npmjs.org/flumelog-offset/-/flumelog-offset-3.2.6.tgz",
872 + "integrity": "sha512-hE0vWDqFMjMhXROWEqEb9OFr6VFSjB8lvu4hgeQO9WxI9OqKVl0TD48Mf3NeTKrtXqHyxkfzQwMSw6fgKKf1lA==",
873 + "dev": true,
874 + "requires": {
875 + "aligned-block-file": "1.1.2",
876 + "append-batch": "0.0.1",
877 + "explain-error": "1.0.4",
878 + "hashlru": "2.2.1",
879 + "int53": "0.2.4",
880 + "looper": "4.0.0",
881 + "ltgt": "2.2.0",
882 + "obv": "0.0.1",
883 + "pull-cursor": "2.1.3",
884 + "pull-looper": "1.0.0",
885 + "uint48be": "1.0.2"
886 + },
887 + "dependencies": {
888 + "obv": {
889 + "version": "0.0.1",
890 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
891 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
892 + "dev": true
893 + }
894 + }
895 + },
896 + "flumeview-hashtable": {
897 + "version": "1.0.3",
898 + "resolved": "https://registry.npmjs.org/flumeview-hashtable/-/flumeview-hashtable-1.0.3.tgz",
899 + "integrity": "sha1-0qn6Fkn1fvaNG4nrTEO/sXJDeWc=",
900 + "dev": true,
901 + "requires": {
902 + "async-single": "1.0.5",
903 + "atomic-file": "1.1.4",
904 + "obv": "0.0.1",
905 + "pull-stream": "3.6.1"
906 + },
907 + "dependencies": {
908 + "obv": {
909 + "version": "0.0.1",
910 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
911 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
912 + "dev": true
913 + }
914 + }
915 + },
916 + "flumeview-level": {
917 + "version": "2.1.1",
918 + "resolved": "https://registry.npmjs.org/flumeview-level/-/flumeview-level-2.1.1.tgz",
919 + "integrity": "sha1-KQkSRgKzKdT2oOuMkDigyRFrNoE=",
920 + "dev": true,
921 + "requires": {
922 + "bytewise": "1.1.0",
923 + "explain-error": "1.0.4",
924 + "level": "1.7.0",
925 + "ltgt": "2.2.0",
926 + "mkdirp": "0.5.1",
927 + "obv": "0.0.0",
928 + "pull-level": "2.0.3",
929 + "pull-paramap": "1.2.2",
930 + "pull-stream": "3.6.1",
931 + "pull-write": "1.1.4"
932 + }
933 + },
934 + "flumeview-query": {
935 + "version": "4.0.1",
936 + "resolved": "https://registry.npmjs.org/flumeview-query/-/flumeview-query-4.0.1.tgz",
937 + "integrity": "sha1-HNTf2S8acBKN2dgN3qqdRJVuzO0=",
938 + "dev": true,
939 + "requires": {
940 + "explain-error": "1.0.4",
941 + "flumeview-level": "2.1.1",
942 + "map-filter-reduce": "3.0.3",
943 + "pull-flatmap": "0.0.1",
944 + "pull-paramap": "1.2.2",
945 + "pull-sink-through": "0.0.0",
946 + "pull-stream": "3.6.1"
947 + },
948 + "dependencies": {
949 + "map-filter-reduce": {
950 + "version": "3.0.3",
951 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-3.0.3.tgz",
952 + "integrity": "sha1-ihC4bjRlut13YBqZV9velLmNYKo=",
953 + "dev": true,
954 + "requires": {
955 + "binary-search": "1.3.3",
956 + "pull-sink-through": "0.0.0",
957 + "pull-stream": "3.6.1",
958 + "typewiselite": "1.0.0"
959 + }
960 + }
961 + }
962 + },
963 + "flumeview-reduce": {
964 + "version": "1.3.12",
965 + "resolved": "https://registry.npmjs.org/flumeview-reduce/-/flumeview-reduce-1.3.12.tgz",
966 + "integrity": "sha1-3eiAMca85rox1DgpGWN4iLzAyqE=",
967 + "requires": {
968 + "async-single": "1.0.5",
969 + "atomic-file": "1.1.4",
970 + "deep-equal": "1.0.1",
971 + "flumecodec": "0.0.0",
972 + "obv": "0.0.0",
973 + "pull-notify": "0.1.1",
974 + "pull-stream": "3.6.1"
975 + }
976 + },
977 + "for-each": {
978 + "version": "0.3.2",
979 + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz",
980 + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=",
981 + "dev": true,
982 + "requires": {
983 + "is-function": "1.0.1"
984 + }
985 + },
986 + "for-in": {
987 + "version": "1.0.2",
988 + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
989 + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
990 + "dev": true
991 + },
992 + "for-own": {
993 + "version": "0.1.5",
994 + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
995 + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
996 + "dev": true,
997 + "requires": {
998 + "for-in": "1.0.2"
999 + }
1000 + },
1001 + "foreach": {
1002 + "version": "2.0.5",
1003 + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1004 + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
1005 + "dev": true
1006 + },
1007 + "fs.realpath": {
1008 + "version": "1.0.0",
1009 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1010 + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1011 + "dev": true
1012 + },
1013 + "fsevents": {
1014 + "version": "1.1.3",
1015 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
1016 + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
1017 + "dev": true,
1018 + "optional": true,
1019 + "requires": {
1020 + "nan": "2.8.0",
1021 + "node-pre-gyp": "0.6.39"
1022 + },
1023 + "dependencies": {
1024 + "abbrev": {
1025 + "version": "1.1.0",
1026 + "bundled": true,
1027 + "dev": true,
1028 + "optional": true
1029 + },
1030 + "ajv": {
1031 + "version": "4.11.8",
1032 + "bundled": true,
1033 + "dev": true,
1034 + "optional": true,
1035 + "requires": {
1036 + "co": "4.6.0",
1037 + "json-stable-stringify": "1.0.1"
1038 + }
1039 + },
1040 + "ansi-regex": {
1041 + "version": "2.1.1",
1042 + "bundled": true,
1043 + "dev": true
1044 + },
1045 + "aproba": {
1046 + "version": "1.1.1",
1047 + "bundled": true,
1048 + "dev": true,
1049 + "optional": true
1050 + },
1051 + "are-we-there-yet": {
1052 + "version": "1.1.4",
1053 + "bundled": true,
1054 + "dev": true,
1055 + "optional": true,
1056 + "requires": {
1057 + "delegates": "1.0.0",
1058 + "readable-stream": "2.2.9"
1059 + }
1060 + },
1061 + "asn1": {
1062 + "version": "0.2.3",
1063 + "bundled": true,
1064 + "dev": true,
1065 + "optional": true
1066 + },
1067 + "assert-plus": {
1068 + "version": "0.2.0",
1069 + "bundled": true,
1070 + "dev": true,
1071 + "optional": true
1072 + },
1073 + "asynckit": {
1074 + "version": "0.4.0",
1075 + "bundled": true,
1076 + "dev": true,
1077 + "optional": true
1078 + },
1079 + "aws-sign2": {
1080 + "version": "0.6.0",
1081 + "bundled": true,
1082 + "dev": true,
1083 + "optional": true
1084 + },
1085 + "aws4": {
1086 + "version": "1.6.0",
1087 + "bundled": true,
1088 + "dev": true,
1089 + "optional": true
1090 + },
1091 + "balanced-match": {
1092 + "version": "0.4.2",
1093 + "bundled": true,
1094 + "dev": true
1095 + },
1096 + "bcrypt-pbkdf": {
1097 + "version": "1.0.1",
1098 + "bundled": true,
1099 + "dev": true,
1100 + "optional": true,
1101 + "requires": {
1102 + "tweetnacl": "0.14.5"
1103 + }
1104 + },
1105 + "block-stream": {
1106 + "version": "0.0.9",
1107 + "bundled": true,
1108 + "dev": true,
1109 + "requires": {
1110 + "inherits": "2.0.3"
1111 + }
1112 + },
1113 + "boom": {
1114 + "version": "2.10.1",
1115 + "bundled": true,
1116 + "dev": true,
1117 + "requires": {
1118 + "hoek": "2.16.3"
1119 + }
1120 + },
1121 + "brace-expansion": {
1122 + "version": "1.1.7",
1123 + "bundled": true,
1124 + "dev": true,
1125 + "requires": {
1126 + "balanced-match": "0.4.2",
1127 + "concat-map": "0.0.1"
1128 + }
1129 + },
1130 + "buffer-shims": {
1131 + "version": "1.0.0",
1132 + "bundled": true,
1133 + "dev": true
1134 + },
1135 + "caseless": {
1136 + "version": "0.12.0",
1137 + "bundled": true,
1138 + "dev": true,
1139 + "optional": true
1140 + },
1141 + "co": {
1142 + "version": "4.6.0",
1143 + "bundled": true,
1144 + "dev": true,
1145 + "optional": true
1146 + },
1147 + "code-point-at": {
1148 + "version": "1.1.0",
1149 + "bundled": true,
1150 + "dev": true
1151 + },
1152 + "combined-stream": {
1153 + "version": "1.0.5",
1154 + "bundled": true,
1155 + "dev": true,
1156 + "requires": {
1157 + "delayed-stream": "1.0.0"
1158 + }
1159 + },
1160 + "concat-map": {
1161 + "version": "0.0.1",
1162 + "bundled": true,
1163 + "dev": true
1164 + },
1165 + "console-control-strings": {
1166 + "version": "1.1.0",
1167 + "bundled": true,
1168 + "dev": true
1169 + },
1170 + "core-util-is": {
1171 + "version": "1.0.2",
1172 + "bundled": true,
1173 + "dev": true
1174 + },
1175 + "cryptiles": {
1176 + "version": "2.0.5",
1177 + "bundled": true,
1178 + "dev": true,
1179 + "requires": {
1180 + "boom": "2.10.1"
1181 + }
1182 + },
1183 + "dashdash": {
1184 + "version": "1.14.1",
1185 + "bundled": true,
1186 + "dev": true,
1187 + "optional": true,
1188 + "requires": {
1189 + "assert-plus": "1.0.0"
1190 + },
1191 + "dependencies": {
1192 + "assert-plus": {
1193 + "version": "1.0.0",
1194 + "bundled": true,
1195 + "dev": true,
1196 + "optional": true
1197 + }
1198 + }
1199 + },
1200 + "debug": {
1201 + "version": "2.6.8",
1202 + "bundled": true,
1203 + "dev": true,
1204 + "optional": true,
1205 + "requires": {
1206 + "ms": "2.0.0"
1207 + }
1208 + },
1209 + "deep-extend": {
1210 + "version": "0.4.2",
1211 + "bundled": true,
1212 + "dev": true,
1213 + "optional": true
1214 + },
1215 + "delayed-stream": {
1216 + "version": "1.0.0",
1217 + "bundled": true,
1218 + "dev": true
1219 + },
1220 + "delegates": {
1221 + "version": "1.0.0",
1222 + "bundled": true,
1223 + "dev": true,
1224 + "optional": true
1225 + },
1226 + "detect-libc": {
1227 + "version": "1.0.2",
1228 + "bundled": true,
1229 + "dev": true,
1230 + "optional": true
1231 + },
1232 + "ecc-jsbn": {
1233 + "version": "0.1.1",
1234 + "bundled": true,
1235 + "dev": true,
1236 + "optional": true,
1237 + "requires": {
1238 + "jsbn": "0.1.1"
1239 + }
1240 + },
1241 + "extend": {
1242 + "version": "3.0.1",
1243 + "bundled": true,
1244 + "dev": true,
1245 + "optional": true
1246 + },
1247 + "extsprintf": {
1248 + "version": "1.0.2",
1249 + "bundled": true,
1250 + "dev": true
1251 + },
1252 + "forever-agent": {
1253 + "version": "0.6.1",
1254 + "bundled": true,
1255 + "dev": true,
1256 + "optional": true
1257 + },
1258 + "form-data": {
1259 + "version": "2.1.4",
1260 + "bundled": true,
1261 + "dev": true,
1262 + "optional": true,
1263 + "requires": {
1264 + "asynckit": "0.4.0",
1265 + "combined-stream": "1.0.5",
1266 + "mime-types": "2.1.15"
1267 + }
1268 + },
1269 + "fs.realpath": {
1270 + "version": "1.0.0",
1271 + "bundled": true,
1272 + "dev": true
1273 + },
1274 + "fstream": {
1275 + "version": "1.0.11",
1276 + "bundled": true,
1277 + "dev": true,
1278 + "requires": {
1279 + "graceful-fs": "4.1.11",
1280 + "inherits": "2.0.3",
1281 + "mkdirp": "0.5.1",
1282 + "rimraf": "2.6.1"
1283 + }
1284 + },
1285 + "fstream-ignore": {
1286 + "version": "1.0.5",
1287 + "bundled": true,
1288 + "dev": true,
1289 + "optional": true,
1290 + "requires": {
1291 + "fstream": "1.0.11",
1292 + "inherits": "2.0.3",
1293 + "minimatch": "3.0.4"
1294 + }
1295 + },
1296 + "gauge": {
1297 + "version": "2.7.4",
1298 + "bundled": true,
1299 + "dev": true,
1300 + "optional": true,
1301 + "requires": {
1302 + "aproba": "1.1.1",
1303 + "console-control-strings": "1.1.0",
1304 + "has-unicode": "2.0.1",
1305 + "object-assign": "4.1.1",
1306 + "signal-exit": "3.0.2",
1307 + "string-width": "1.0.2",
1308 + "strip-ansi": "3.0.1",
1309 + "wide-align": "1.1.2"
1310 + }
1311 + },
1312 + "getpass": {
1313 + "version": "0.1.7",
1314 + "bundled": true,
1315 + "dev": true,
1316 + "optional": true,
1317 + "requires": {
1318 + "assert-plus": "1.0.0"
1319 + },
1320 + "dependencies": {
1321 + "assert-plus": {
1322 + "version": "1.0.0",
1323 + "bundled": true,
1324 + "dev": true,
1325 + "optional": true
1326 + }
1327 + }
1328 + },
1329 + "glob": {
1330 + "version": "7.1.2",
1331 + "bundled": true,
1332 + "dev": true,
1333 + "requires": {
1334 + "fs.realpath": "1.0.0",
1335 + "inflight": "1.0.6",
1336 + "inherits": "2.0.3",
1337 + "minimatch": "3.0.4",
1338 + "once": "1.4.0",
1339 + "path-is-absolute": "1.0.1"
1340 + }
1341 + },
1342 + "graceful-fs": {
1343 + "version": "4.1.11",
1344 + "bundled": true,
1345 + "dev": true
1346 + },
1347 + "har-schema": {
1348 + "version": "1.0.5",
1349 + "bundled": true,
1350 + "dev": true,
1351 + "optional": true
1352 + },
1353 + "har-validator": {
1354 + "version": "4.2.1",
1355 + "bundled": true,
1356 + "dev": true,
1357 + "optional": true,
1358 + "requires": {
1359 + "ajv": "4.11.8",
1360 + "har-schema": "1.0.5"
1361 + }
1362 + },
1363 + "has-unicode": {
1364 + "version": "2.0.1",
1365 + "bundled": true,
1366 + "dev": true,
1367 + "optional": true
1368 + },
1369 + "hawk": {
1370 + "version": "3.1.3",
1371 + "bundled": true,
1372 + "dev": true,
1373 + "requires": {
1374 + "boom": "2.10.1",
1375 + "cryptiles": "2.0.5",
1376 + "hoek": "2.16.3",
1377 + "sntp": "1.0.9"
1378 + }
1379 + },
1380 + "hoek": {
1381 + "version": "2.16.3",
1382 + "bundled": true,
1383 + "dev": true
1384 + },
1385 + "http-signature": {
1386 + "version": "1.1.1",
1387 + "bundled": true,
1388 + "dev": true,
1389 + "optional": true,
1390 + "requires": {
1391 + "assert-plus": "0.2.0",
1392 + "jsprim": "1.4.0",
1393 + "sshpk": "1.13.0"
1394 + }
1395 + },
1396 + "inflight": {
1397 + "version": "1.0.6",
1398 + "bundled": true,
1399 + "dev": true,
1400 + "requires": {
1401 + "once": "1.4.0",
1402 + "wrappy": "1.0.2"
1403 + }
1404 + },
1405 + "inherits": {
1406 + "version": "2.0.3",
1407 + "bundled": true,
1408 + "dev": true
1409 + },
1410 + "ini": {
1411 + "version": "1.3.4",
1412 + "bundled": true,
1413 + "dev": true,
1414 + "optional": true
1415 + },
1416 + "is-fullwidth-code-point": {
1417 + "version": "1.0.0",
1418 + "bundled": true,
1419 + "dev": true,
1420 + "requires": {
1421 + "number-is-nan": "1.0.1"
1422 + }
1423 + },
1424 + "is-typedarray": {
1425 + "version": "1.0.0",
1426 + "bundled": true,
1427 + "dev": true,
1428 + "optional": true
1429 + },
1430 + "isarray": {
1431 + "version": "1.0.0",
1432 + "bundled": true,
1433 + "dev": true
1434 + },
1435 + "isstream": {
1436 + "version": "0.1.2",
1437 + "bundled": true,
1438 + "dev": true,
1439 + "optional": true
1440 + },
1441 + "jodid25519": {
1442 + "version": "1.0.2",
1443 + "bundled": true,
1444 + "dev": true,
1445 + "optional": true,
1446 + "requires": {
1447 + "jsbn": "0.1.1"
1448 + }
1449 + },
1450 + "jsbn": {
1451 + "version": "0.1.1",
1452 + "bundled": true,
1453 + "dev": true,
1454 + "optional": true
1455 + },
1456 + "json-schema": {
1457 + "version": "0.2.3",
1458 + "bundled": true,
1459 + "dev": true,
1460 + "optional": true
1461 + },
1462 + "json-stable-stringify": {
1463 + "version": "1.0.1",
1464 + "bundled": true,
1465 + "dev": true,
1466 + "optional": true,
1467 + "requires": {
1468 + "jsonify": "0.0.0"
1469 + }
1470 + },
1471 + "json-stringify-safe": {
1472 + "version": "5.0.1",
1473 + "bundled": true,
1474 + "dev": true,
1475 + "optional": true
1476 + },
1477 + "jsonify": {
1478 + "version": "0.0.0",
1479 + "bundled": true,
1480 + "dev": true,
1481 + "optional": true
1482 + },
1483 + "jsprim": {
1484 + "version": "1.4.0",
1485 + "bundled": true,
1486 + "dev": true,
1487 + "optional": true,
1488 + "requires": {
1489 + "assert-plus": "1.0.0",
1490 + "extsprintf": "1.0.2",
1491 + "json-schema": "0.2.3",
1492 + "verror": "1.3.6"
1493 + },
1494 + "dependencies": {
1495 + "assert-plus": {
1496 + "version": "1.0.0",
1497 + "bundled": true,
1498 + "dev": true,
1499 + "optional": true
1500 + }
1501 + }
1502 + },
1503 + "mime-db": {
1504 + "version": "1.27.0",
1505 + "bundled": true,
1506 + "dev": true
1507 + },
1508 + "mime-types": {
1509 + "version": "2.1.15",
1510 + "bundled": true,
1511 + "dev": true,
1512 + "requires": {
1513 + "mime-db": "1.27.0"
1514 + }
1515 + },
1516 + "minimatch": {
1517 + "version": "3.0.4",
1518 + "bundled": true,
1519 + "dev": true,
1520 + "requires": {
1521 + "brace-expansion": "1.1.7"
1522 + }
1523 + },
1524 + "minimist": {
1525 + "version": "0.0.8",
1526 + "bundled": true,
1527 + "dev": true
1528 + },
1529 + "mkdirp": {
1530 + "version": "0.5.1",
1531 + "bundled": true,
1532 + "dev": true,
1533 + "requires": {
1534 + "minimist": "0.0.8"
1535 + }
1536 + },
1537 + "ms": {
1538 + "version": "2.0.0",
1539 + "bundled": true,
1540 + "dev": true,
1541 + "optional": true
1542 + },
1543 + "node-pre-gyp": {
1544 + "version": "0.6.39",
1545 + "bundled": true,
1546 + "dev": true,
1547 + "optional": true,
1548 + "requires": {
1549 + "detect-libc": "1.0.2",
1550 + "hawk": "3.1.3",
1551 + "mkdirp": "0.5.1",
1552 + "nopt": "4.0.1",
1553 + "npmlog": "4.1.0",
1554 + "rc": "1.2.1",
1555 + "request": "2.81.0",
1556 + "rimraf": "2.6.1",
1557 + "semver": "5.3.0",
1558 + "tar": "2.2.1",
1559 + "tar-pack": "3.4.0"
1560 + }
1561 + },
1562 + "nopt": {
1563 + "version": "4.0.1",
1564 + "bundled": true,
1565 + "dev": true,
1566 + "optional": true,
1567 + "requires": {
1568 + "abbrev": "1.1.0",
1569 + "osenv": "0.1.4"
1570 + }
1571 + },
1572 + "npmlog": {
1573 + "version": "4.1.0",
1574 + "bundled": true,
1575 + "dev": true,
1576 + "optional": true,
1577 + "requires": {
1578 + "are-we-there-yet": "1.1.4",
1579 + "console-control-strings": "1.1.0",
1580 + "gauge": "2.7.4",
1581 + "set-blocking": "2.0.0"
1582 + }
1583 + },
1584 + "number-is-nan": {
1585 + "version": "1.0.1",
1586 + "bundled": true,
1587 + "dev": true
1588 + },
1589 + "oauth-sign": {
1590 + "version": "0.8.2",
1591 + "bundled": true,
1592 + "dev": true,
1593 + "optional": true
1594 + },
1595 + "object-assign": {
1596 + "version": "4.1.1",
1597 + "bundled": true,
1598 + "dev": true,
1599 + "optional": true
1600 + },
1601 + "once": {
1602 + "version": "1.4.0",
1603 + "bundled": true,
1604 + "dev": true,
1605 + "requires": {
1606 + "wrappy": "1.0.2"
1607 + }
1608 + },
1609 + "os-homedir": {
1610 + "version": "1.0.2",
1611 + "bundled": true,
1612 + "dev": true,
1613 + "optional": true
1614 + },
1615 + "os-tmpdir": {
1616 + "version": "1.0.2",
1617 + "bundled": true,
1618 + "dev": true,
1619 + "optional": true
1620 + },
1621 + "osenv": {
1622 + "version": "0.1.4",
1623 + "bundled": true,
1624 + "dev": true,
1625 + "optional": true,
1626 + "requires": {
1627 + "os-homedir": "1.0.2",
1628 + "os-tmpdir": "1.0.2"
1629 + }
1630 + },
1631 + "path-is-absolute": {
1632 + "version": "1.0.1",
1633 + "bundled": true,
1634 + "dev": true
1635 + },
1636 + "performance-now": {
1637 + "version": "0.2.0",
1638 + "bundled": true,
1639 + "dev": true,
1640 + "optional": true
1641 + },
1642 + "process-nextick-args": {
1643 + "version": "1.0.7",
1644 + "bundled": true,
1645 + "dev": true
1646 + },
1647 + "punycode": {
1648 + "version": "1.4.1",
1649 + "bundled": true,
1650 + "dev": true,
1651 + "optional": true
1652 + },
1653 + "qs": {
1654 + "version": "6.4.0",
1655 + "bundled": true,
1656 + "dev": true,
1657 + "optional": true
1658 + },
1659 + "rc": {
1660 + "version": "1.2.1",
1661 + "bundled": true,
1662 + "dev": true,
1663 + "optional": true,
1664 + "requires": {
1665 + "deep-extend": "0.4.2",
1666 + "ini": "1.3.4",
1667 + "minimist": "1.2.0",
1668 + "strip-json-comments": "2.0.1"
1669 + },
1670 + "dependencies": {
1671 + "minimist": {
1672 + "version": "1.2.0",
1673 + "bundled": true,
1674 + "dev": true,
1675 + "optional": true
1676 + }
1677 + }
1678 + },
1679 + "readable-stream": {
1680 + "version": "2.2.9",
1681 + "bundled": true,
1682 + "dev": true,
1683 + "requires": {
1684 + "buffer-shims": "1.0.0",
1685 + "core-util-is": "1.0.2",
1686 + "inherits": "2.0.3",
1687 + "isarray": "1.0.0",
1688 + "process-nextick-args": "1.0.7",
1689 + "string_decoder": "1.0.1",
1690 + "util-deprecate": "1.0.2"
1691 + }
1692 + },
1693 + "request": {
1694 + "version": "2.81.0",
1695 + "bundled": true,
1696 + "dev": true,
1697 + "optional": true,
1698 + "requires": {
1699 + "aws-sign2": "0.6.0",
1700 + "aws4": "1.6.0",
1701 + "caseless": "0.12.0",
1702 + "combined-stream": "1.0.5",
1703 + "extend": "3.0.1",
1704 + "forever-agent": "0.6.1",
1705 + "form-data": "2.1.4",
1706 + "har-validator": "4.2.1",
1707 + "hawk": "3.1.3",
1708 + "http-signature": "1.1.1",
1709 + "is-typedarray": "1.0.0",
1710 + "isstream": "0.1.2",
1711 + "json-stringify-safe": "5.0.1",
1712 + "mime-types": "2.1.15",
1713 + "oauth-sign": "0.8.2",
1714 + "performance-now": "0.2.0",
1715 + "qs": "6.4.0",
1716 + "safe-buffer": "5.0.1",
1717 + "stringstream": "0.0.5",
1718 + "tough-cookie": "2.3.2",
1719 + "tunnel-agent": "0.6.0",
1720 + "uuid": "3.0.1"
1721 + }
1722 + },
1723 + "rimraf": {
1724 + "version": "2.6.1",
1725 + "bundled": true,
1726 + "dev": true,
1727 + "requires": {
1728 + "glob": "7.1.2"
1729 + }
1730 + },
1731 + "safe-buffer": {
1732 + "version": "5.0.1",
1733 + "bundled": true,
1734 + "dev": true
1735 + },
1736 + "semver": {
1737 + "version": "5.3.0",
1738 + "bundled": true,
1739 + "dev": true,
1740 + "optional": true
1741 + },
1742 + "set-blocking": {
1743 + "version": "2.0.0",
1744 + "bundled": true,
1745 + "dev": true,
1746 + "optional": true
1747 + },
1748 + "signal-exit": {
1749 + "version": "3.0.2",
1750 + "bundled": true,
1751 + "dev": true,
1752 + "optional": true
1753 + },
1754 + "sntp": {
1755 + "version": "1.0.9",
1756 + "bundled": true,
1757 + "dev": true,
1758 + "requires": {
1759 + "hoek": "2.16.3"
1760 + }
1761 + },
1762 + "sshpk": {
1763 + "version": "1.13.0",
1764 + "bundled": true,
1765 + "dev": true,
1766 + "optional": true,
1767 + "requires": {
1768 + "asn1": "0.2.3",
1769 + "assert-plus": "1.0.0",
1770 + "bcrypt-pbkdf": "1.0.1",
1771 + "dashdash": "1.14.1",
1772 + "ecc-jsbn": "0.1.1",
1773 + "getpass": "0.1.7",
1774 + "jodid25519": "1.0.2",
1775 + "jsbn": "0.1.1",
1776 + "tweetnacl": "0.14.5"
1777 + },
1778 + "dependencies": {
1779 + "assert-plus": {
1780 + "version": "1.0.0",
1781 + "bundled": true,
1782 + "dev": true,
1783 + "optional": true
1784 + }
1785 + }
1786 + },
1787 + "string-width": {
1788 + "version": "1.0.2",
1789 + "bundled": true,
1790 + "dev": true,
1791 + "requires": {
1792 + "code-point-at": "1.1.0",
1793 + "is-fullwidth-code-point": "1.0.0",
1794 + "strip-ansi": "3.0.1"
1795 + }
1796 + },
1797 + "string_decoder": {
1798 + "version": "1.0.1",
1799 + "bundled": true,
1800 + "dev": true,
1801 + "requires": {
1802 + "safe-buffer": "5.0.1"
1803 + }
1804 + },
1805 + "stringstream": {
1806 + "version": "0.0.5",
1807 + "bundled": true,
1808 + "dev": true,
1809 + "optional": true
1810 + },
1811 + "strip-ansi": {
1812 + "version": "3.0.1",
1813 + "bundled": true,
1814 + "dev": true,
1815 + "requires": {
1816 + "ansi-regex": "2.1.1"
1817 + }
1818 + },
1819 + "strip-json-comments": {
1820 + "version": "2.0.1",
1821 + "bundled": true,
1822 + "dev": true,
1823 + "optional": true
1824 + },
1825 + "tar": {
1826 + "version": "2.2.1",
1827 + "bundled": true,
1828 + "dev": true,
1829 + "requires": {
1830 + "block-stream": "0.0.9",
1831 + "fstream": "1.0.11",
1832 + "inherits": "2.0.3"
1833 + }
1834 + },
1835 + "tar-pack": {
1836 + "version": "3.4.0",
1837 + "bundled": true,
1838 + "dev": true,
1839 + "optional": true,
1840 + "requires": {
1841 + "debug": "2.6.8",
1842 + "fstream": "1.0.11",
1843 + "fstream-ignore": "1.0.5",
1844 + "once": "1.4.0",
1845 + "readable-stream": "2.2.9",
1846 + "rimraf": "2.6.1",
1847 + "tar": "2.2.1",
1848 + "uid-number": "0.0.6"
1849 + }
1850 + },
1851 + "tough-cookie": {
1852 + "version": "2.3.2",
1853 + "bundled": true,
1854 + "dev": true,
1855 + "optional": true,
1856 + "requires": {
1857 + "punycode": "1.4.1"
1858 + }
1859 + },
1860 + "tunnel-agent": {
1861 + "version": "0.6.0",
1862 + "bundled": true,
1863 + "dev": true,
1864 + "optional": true,
1865 + "requires": {
1866 + "safe-buffer": "5.0.1"
1867 + }
1868 + },
1869 + "tweetnacl": {
1870 + "version": "0.14.5",
1871 + "bundled": true,
1872 + "dev": true,
1873 + "optional": true
1874 + },
1875 + "uid-number": {
1876 + "version": "0.0.6",
1877 + "bundled": true,
1878 + "dev": true,
1879 + "optional": true
1880 + },
1881 + "util-deprecate": {
1882 + "version": "1.0.2",
1883 + "bundled": true,
1884 + "dev": true
1885 + },
1886 + "uuid": {
1887 + "version": "3.0.1",
1888 + "bundled": true,
1889 + "dev": true,
1890 + "optional": true
1891 + },
1892 + "verror": {
1893 + "version": "1.3.6",
1894 + "bundled": true,
1895 + "dev": true,
1896 + "optional": true,
1897 + "requires": {
1898 + "extsprintf": "1.0.2"
1899 + }
1900 + },
1901 + "wide-align": {
1902 + "version": "1.1.2",
1903 + "bundled": true,
1904 + "dev": true,
1905 + "optional": true,
1906 + "requires": {
1907 + "string-width": "1.0.2"
1908 + }
1909 + },
1910 + "wrappy": {
1911 + "version": "1.0.2",
1912 + "bundled": true,
1913 + "dev": true
1914 + }
1915 + }
1916 + },
1917 + "function-bind": {
1918 + "version": "1.1.1",
1919 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1920 + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1921 + "dev": true
1922 + },
1923 + "gauge": {
1924 + "version": "2.7.4",
1925 + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
1926 + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
1927 + "dev": true,
1928 + "requires": {
1929 + "aproba": "1.2.0",
1930 + "console-control-strings": "1.1.0",
1931 + "has-unicode": "2.0.1",
1932 + "object-assign": "4.1.1",
1933 + "signal-exit": "3.0.2",
1934 + "string-width": "1.0.2",
1935 + "strip-ansi": "3.0.1",
1936 + "wide-align": "1.1.2"
1937 + }
1938 + },
1939 + "generate-function": {
1940 + "version": "2.0.0",
1941 + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
1942 + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ="
1943 + },
1944 + "generate-object-property": {
1945 + "version": "1.2.0",
1946 + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
1947 + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
1948 + "requires": {
1949 + "is-property": "1.0.2"
1950 + }
1951 + },
1952 + "github-from-package": {
1953 + "version": "0.0.0",
1954 + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
1955 + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
1956 + "dev": true
1957 + },
1958 + "glob": {
1959 + "version": "7.1.2",
1960 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
1961 + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1962 + "dev": true,
1963 + "requires": {
1964 + "fs.realpath": "1.0.0",
1965 + "inflight": "1.0.6",
1966 + "inherits": "2.0.3",
1967 + "minimatch": "3.0.4",
1968 + "once": "1.4.0",
1969 + "path-is-absolute": "1.0.1"
1970 + }
1971 + },
1972 + "glob-base": {
1973 + "version": "0.3.0",
1974 + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1975 + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1976 + "dev": true,
1977 + "requires": {
1978 + "glob-parent": "2.0.0",
1979 + "is-glob": "2.0.1"
1980 + }
1981 + },
1982 + "glob-parent": {
1983 + "version": "2.0.0",
1984 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1985 + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1986 + "dev": true,
1987 + "requires": {
1988 + "is-glob": "2.0.1"
1989 + }
1990 + },
1991 + "globby": {
1992 + "version": "4.1.0",
1993 + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
1994 + "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
1995 + "dev": true,
1996 + "requires": {
1997 + "array-union": "1.0.2",
1998 + "arrify": "1.0.1",
1999 + "glob": "6.0.4",
2000 + "object-assign": "4.1.1",
2001 + "pify": "2.3.0",
2002 + "pinkie-promise": "2.0.1"
2003 + },
2004 + "dependencies": {
2005 + "glob": {
2006 + "version": "6.0.4",
2007 + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
2008 + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
2009 + "dev": true,
2010 + "requires": {
2011 + "inflight": "1.0.6",
2012 + "inherits": "2.0.3",
2013 + "minimatch": "3.0.4",
2014 + "once": "1.4.0",
2015 + "path-is-absolute": "1.0.1"
2016 + }
2017 + }
2018 + }
2019 + },
2020 + "graceful-fs": {
2021 + "version": "4.1.11",
2022 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
2023 + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
2024 + "dev": true
2025 + },
2026 + "graphreduce": {
2027 + "version": "3.0.4",
2028 + "resolved": "https://registry.npmjs.org/graphreduce/-/graphreduce-3.0.4.tgz",
2029 + "integrity": "sha1-v0QtCoeOg5AeXvPmUtI/+1uDHtc=",
2030 + "dev": true,
2031 + "requires": {
2032 + "statistics": "3.3.0"
2033 + }
2034 + },
2035 + "has": {
2036 + "version": "1.0.1",
2037 + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
2038 + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
2039 + "dev": true,
2040 + "requires": {
2041 + "function-bind": "1.1.1"
2042 + }
2043 + },
2044 + "has-ansi": {
2045 + "version": "2.0.0",
2046 + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
2047 + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
2048 + "dev": true,
2049 + "requires": {
2050 + "ansi-regex": "2.1.1"
2051 + }
2052 + },
2053 + "has-network": {
2054 + "version": "0.0.1",
2055 + "resolved": "https://registry.npmjs.org/has-network/-/has-network-0.0.1.tgz",
2056 + "integrity": "sha1-Pup7RMqpYBeXEkvouonSKMQQFJk=",
2057 + "dev": true
2058 + },
2059 + "has-unicode": {
2060 + "version": "2.0.1",
2061 + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
2062 + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
2063 + "dev": true
2064 + },
2065 + "hashlru": {
2066 + "version": "2.2.1",
2067 + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.2.1.tgz",
2068 + "integrity": "sha1-EPIJmg18BaQPK+r1wdOc8vfavzY=",
2069 + "dev": true
2070 + },
2071 + "he": {
2072 + "version": "0.5.0",
2073 + "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz",
2074 + "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=",
2075 + "dev": true
2076 + },
2077 + "hoox": {
2078 + "version": "0.0.1",
2079 + "resolved": "https://registry.npmjs.org/hoox/-/hoox-0.0.1.tgz",
2080 + "integrity": "sha1-CKdNknKpzIOujmu+AwPw7nZDIJQ=",
2081 + "dev": true
2082 + },
2083 + "html-element": {
2084 + "version": "1.3.0",
2085 + "resolved": "https://registry.npmjs.org/html-element/-/html-element-1.3.0.tgz",
2086 + "integrity": "sha1-117LXa6HSx3mCgv4eUu9GYTQ8gk=",
2087 + "dev": true,
2088 + "requires": {
2089 + "class-list": "0.1.1"
2090 + }
2091 + },
2092 + "hyperfile": {
2093 + "version": "1.1.1",
2094 + "resolved": "https://registry.npmjs.org/hyperfile/-/hyperfile-1.1.1.tgz",
2095 + "integrity": "sha1-czvGxmj7miFgCMTzNlMfiU28efM=",
2096 + "dev": true,
2097 + "requires": {
2098 + "hyperscript": "1.4.7"
2099 + }
2100 + },
2101 + "hyperprogress": {
2102 + "version": "0.1.1",
2103 + "resolved": "https://registry.npmjs.org/hyperprogress/-/hyperprogress-0.1.1.tgz",
2104 + "integrity": "sha1-5TDGFjqisSg+rBkhkiJadi8Jw0Q=",
2105 + "dev": true
2106 + },
2107 + "hyperscript": {
2108 + "version": "1.4.7",
2109 + "resolved": "https://registry.npmjs.org/hyperscript/-/hyperscript-1.4.7.tgz",
2110 + "integrity": "sha1-HyPYgPhDbKrCW5GnrDl0e4mnJhg=",
2111 + "dev": true,
2112 + "requires": {
2113 + "browser-split": "0.0.0",
2114 + "class-list": "0.1.1",
2115 + "html-element": "1.3.0"
2116 + },
2117 + "dependencies": {
2118 + "browser-split": {
2119 + "version": "0.0.0",
2120 + "resolved": "https://registry.npmjs.org/browser-split/-/browser-split-0.0.0.tgz",
2121 + "integrity": "sha1-QUGcrvdpdVkp3VGJZ9PuwKYmJ3E=",
2122 + "dev": true
2123 + }
2124 + }
2125 + },
2126 + "increment-buffer": {
2127 + "version": "1.0.1",
2128 + "resolved": "https://registry.npmjs.org/increment-buffer/-/increment-buffer-1.0.1.tgz",
2129 + "integrity": "sha1-ZQdtdRidgIs5rROrW5WOBSFvng0=",
2130 + "dev": true
2131 + },
2132 + "indexof": {
2133 + "version": "0.0.1",
2134 + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
2135 + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
2136 + "dev": true
2137 + },
2138 + "inflight": {
2139 + "version": "1.0.6",
2140 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2141 + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2142 + "dev": true,
2143 + "requires": {
2144 + "once": "1.4.0",
2145 + "wrappy": "1.0.2"
2146 + }
2147 + },
2148 + "inherits": {
2149 + "version": "2.0.3",
2150 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2151 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
2152 + },
2153 + "ini": {
2154 + "version": "1.3.5",
2155 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
2156 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
2157 + },
2158 + "int53": {
2159 + "version": "0.2.4",
2160 + "resolved": "https://registry.npmjs.org/int53/-/int53-0.2.4.tgz",
2161 + "integrity": "sha1-XtjXqtbFxlZ8rmmqf/xKEJ7oD4Y=",
2162 + "dev": true
2163 + },
2164 + "ip": {
2165 + "version": "1.1.5",
2166 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
2167 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
2168 + },
2169 + "irregular-plurals": {
2170 + "version": "1.4.0",
2171 + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
2172 + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
2173 + "dev": true
2174 + },
2175 + "is-alphabetical": {
2176 + "version": "1.0.1",
2177 + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
2178 + "integrity": "sha1-x3B5zJHU76x3W+EDS/LSQ/lebwg=",
2179 + "dev": true
2180 + },
2181 + "is-alphanumerical": {
2182 + "version": "1.0.1",
2183 + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
2184 + "integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
2185 + "dev": true,
2186 + "requires": {
2187 + "is-alphabetical": "1.0.1",
2188 + "is-decimal": "1.0.1"
2189 + }
2190 + },
2191 + "is-binary-path": {
2192 + "version": "1.0.1",
2193 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
2194 + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
2195 + "dev": true,
2196 + "requires": {
2197 + "binary-extensions": "1.11.0"
2198 + }
2199 + },
2200 + "is-buffer": {
2201 + "version": "1.1.6",
2202 + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2203 + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
2204 + "dev": true
2205 + },
2206 + "is-callable": {
2207 + "version": "1.1.3",
2208 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
2209 + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
2210 + "dev": true
2211 + },
2212 + "is-date-object": {
2213 + "version": "1.0.1",
2214 + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
2215 + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
2216 + "dev": true
2217 + },
2218 + "is-decimal": {
2219 + "version": "1.0.1",
2220 + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
2221 + "integrity": "sha1-9ftqlJlq2ejjdh+/vQkfH8qMToI=",
2222 + "dev": true
2223 + },
2224 + "is-dotfile": {
2225 + "version": "1.0.3",
2226 + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
2227 + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
2228 + "dev": true
2229 + },
2230 + "is-electron": {
2231 + "version": "2.1.0",
2232 + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.1.0.tgz",
2233 + "integrity": "sha512-dkg5xT383+M6zIbbXW/z7n2nz4SFUi2OSyhntnFYkRdtV+HVEfdjEK+5AWisfYgkpe3WYjTIuh7toaKmSfFVWw=="
2234 + },
2235 + "is-equal-shallow": {
2236 + "version": "0.1.3",
2237 + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
2238 + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
2239 + "dev": true,
2240 + "requires": {
2241 + "is-primitive": "2.0.0"
2242 + }
2243 + },
2244 + "is-extendable": {
2245 + "version": "0.1.1",
2246 + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2247 + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
2248 + "dev": true
2249 + },
2250 + "is-extglob": {
2251 + "version": "1.0.0",
2252 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
2253 + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
2254 + "dev": true
2255 + },
2256 + "is-finite": {
2257 + "version": "1.0.2",
2258 + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
2259 + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
2260 + "dev": true,
2261 + "requires": {
2262 + "number-is-nan": "1.0.1"
2263 + }
2264 + },
2265 + "is-fullwidth-code-point": {
2266 + "version": "1.0.0",
2267 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
2268 + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
2269 + "dev": true,
2270 + "requires": {
2271 + "number-is-nan": "1.0.1"
2272 + }
2273 + },
2274 + "is-function": {
2275 + "version": "1.0.1",
2276 + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
2277 + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=",
2278 + "dev": true
2279 + },
2280 + "is-glob": {
2281 + "version": "2.0.1",
2282 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
2283 + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
2284 + "dev": true,
2285 + "requires": {
2286 + "is-extglob": "1.0.0"
2287 + }
2288 + },
2289 + "is-hexadecimal": {
2290 + "version": "1.0.1",
2291 + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
2292 + "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=",
2293 + "dev": true
2294 + },
2295 + "is-my-json-valid": {
2296 + "version": "2.17.1",
2297 + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz",
2298 + "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==",
2299 + "requires": {
2300 + "generate-function": "2.0.0",
2301 + "generate-object-property": "1.2.0",
2302 + "jsonpointer": "4.0.1",
2303 + "xtend": "4.0.1"
2304 + }
2305 + },
2306 + "is-number": {
2307 + "version": "2.1.0",
2308 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
2309 + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
2310 + "dev": true,
2311 + "requires": {
2312 + "kind-of": "3.2.2"
2313 + }
2314 + },
2315 + "is-posix-bracket": {
2316 + "version": "0.1.1",
2317 + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
2318 + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
2319 + "dev": true
2320 + },
2321 + "is-primitive": {
2322 + "version": "2.0.0",
2323 + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
2324 + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
2325 + "dev": true
2326 + },
2327 + "is-property": {
2328 + "version": "1.0.2",
2329 + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
2330 + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
2331 + },
2332 + "is-regex": {
2333 + "version": "1.0.4",
2334 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
2335 + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
2336 + "dev": true,
2337 + "requires": {
2338 + "has": "1.0.1"
2339 + }
2340 + },
2341 + "is-symbol": {
2342 + "version": "1.0.1",
2343 + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
2344 + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
2345 + "dev": true
2346 + },
2347 + "is-valid-domain": {
2348 + "version": "0.0.5",
2349 + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.0.5.tgz",
2350 + "integrity": "sha1-SOcDGfy0MAkjbpazf5hDiJzntRM="
2351 + },
2352 + "isarray": {
2353 + "version": "0.0.1",
2354 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2355 + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2356 + "dev": true
2357 + },
2358 + "isexe": {
2359 + "version": "2.0.0",
2360 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2361 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2362 + "dev": true
2363 + },
2364 + "isobject": {
2365 + "version": "2.1.0",
2366 + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
2367 + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
2368 + "dev": true,
2369 + "requires": {
2370 + "isarray": "1.0.0"
2371 + },
2372 + "dependencies": {
2373 + "isarray": {
2374 + "version": "1.0.0",
2375 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2376 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
2377 + "dev": true
2378 + }
2379 + }
2380 + },
2381 + "json-buffer": {
2382 + "version": "2.0.11",
2383 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-2.0.11.tgz",
2384 + "integrity": "sha1-PkQf2jCYvo0eMXGtWRvGKjPi1V8="
2385 + },
2386 + "jsonpointer": {
2387 + "version": "4.0.1",
2388 + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
2389 + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk="
2390 + },
2391 + "kind-of": {
2392 + "version": "3.2.2",
2393 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2394 + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2395 + "dev": true,
2396 + "requires": {
2397 + "is-buffer": "1.1.6"
2398 + }
2399 + },
2400 + "level": {
2401 + "version": "1.7.0",
2402 + "resolved": "https://registry.npmjs.org/level/-/level-1.7.0.tgz",
2403 + "integrity": "sha1-Q0ZKOounOy895WokKSgFFG2iE6E=",
2404 + "dev": true,
2405 + "requires": {
2406 + "level-packager": "1.2.1",
2407 + "leveldown": "1.7.2"
2408 + }
2409 + },
2410 + "level-codec": {
2411 + "version": "6.2.0",
2412 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-6.2.0.tgz",
2413 + "integrity": "sha1-pLUkS7akwvcj1oodZOmAxTYn2dQ="
2414 + },
2415 + "level-errors": {
2416 + "version": "1.0.5",
2417 + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz",
2418 + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==",
2419 + "dev": true,
2420 + "requires": {
2421 + "errno": "0.1.6"
2422 + }
2423 + },
2424 + "level-iterator-stream": {
2425 + "version": "1.3.1",
2426 + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz",
2427 + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=",
2428 + "dev": true,
2429 + "requires": {
2430 + "inherits": "2.0.3",
2431 + "level-errors": "1.0.5",
2432 + "readable-stream": "1.0.34",
2433 + "xtend": "4.0.1"
2434 + }
2435 + },
2436 + "level-live-stream": {
2437 + "version": "1.4.12",
2438 + "resolved": "https://registry.npmjs.org/level-live-stream/-/level-live-stream-1.4.12.tgz",
2439 + "integrity": "sha1-87jKj4n8Ec+y4P2rZJhOzs1aUhE=",
2440 + "dev": true,
2441 + "requires": {
2442 + "level-sublevel": "6.6.1",
2443 + "pull-level": "2.0.3",
2444 + "pull-stream-to-stream": "1.2.6"
2445 + },
2446 + "dependencies": {
2447 + "pull-stream-to-stream": {
2448 + "version": "1.2.6",
2449 + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.2.6.tgz",
2450 + "integrity": "sha1-3Z+jcy7bPRbmfNHyJLyjim1XSMc=",
2451 + "dev": true,
2452 + "requires": {
2453 + "pull-core": "1.1.0"
2454 + }
2455 + }
2456 + }
2457 + },
2458 + "level-memview": {
2459 + "version": "0.0.0",
2460 + "resolved": "https://registry.npmjs.org/level-memview/-/level-memview-0.0.0.tgz",
2461 + "integrity": "sha1-RtNTc64040LPSldKXjUUodR1OiA=",
2462 + "dev": true,
2463 + "requires": {
2464 + "level-live-stream": "1.4.12",
2465 + "pull-level": "1.2.0",
2466 + "pull-stream": "2.26.1"
2467 + },
2468 + "dependencies": {
2469 + "pull-core": {
2470 + "version": "1.0.0",
2471 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.0.0.tgz",
2472 + "integrity": "sha1-4OuTkY36cJY+0J429j2qFbdrOKQ=",
2473 + "dev": true
2474 + },
2475 + "pull-level": {
2476 + "version": "1.2.0",
2477 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-1.2.0.tgz",
2478 + "integrity": "sha1-U7MhImUOsV01tg5UMh+6Ec9cbmY=",
2479 + "dev": true,
2480 + "requires": {
2481 + "level-post": "1.0.5",
2482 + "pull-cat": "1.1.11",
2483 + "pull-pushable": "1.1.4",
2484 + "pull-stream": "2.26.1",
2485 + "pull-window": "2.1.4",
2486 + "stream-to-pull-stream": "1.3.1"
2487 + }
2488 + },
2489 + "pull-pushable": {
2490 + "version": "1.1.4",
2491 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-1.1.4.tgz",
2492 + "integrity": "sha1-dmTWdB9yaH71yJ9TO3hoLz3pog4=",
2493 + "dev": true,
2494 + "requires": {
2495 + "pull-stream": "2.18.3"
2496 + },
2497 + "dependencies": {
2498 + "pull-stream": {
2499 + "version": "2.18.3",
2500 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.18.3.tgz",
2501 + "integrity": "sha1-egeWIjTXV5yQiGDbjCf380/UUAA=",
2502 + "dev": true,
2503 + "requires": {
2504 + "pull-core": "1.0.0"
2505 + }
2506 + }
2507 + }
2508 + },
2509 + "pull-stream": {
2510 + "version": "2.26.1",
2511 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.26.1.tgz",
2512 + "integrity": "sha1-S/JVneh7ivL1uWtxkNLuQxyh5Rk=",
2513 + "dev": true,
2514 + "requires": {
2515 + "pull-core": "1.1.0"
2516 + },
2517 + "dependencies": {
2518 + "pull-core": {
2519 + "version": "1.1.0",
2520 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.1.0.tgz",
2521 + "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo=",
2522 + "dev": true
2523 + }
2524 + }
2525 + },
2526 + "stream-to-pull-stream": {
2527 + "version": "1.3.1",
2528 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.3.1.tgz",
2529 + "integrity": "sha1-9b6b4PHpS7PRrmaL/46SUbhabG4=",
2530 + "dev": true,
2531 + "requires": {
2532 + "pull-core": "1.0.0"
2533 + }
2534 + }
2535 + }
2536 + },
2537 + "level-packager": {
2538 + "version": "1.2.1",
2539 + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-1.2.1.tgz",
2540 + "integrity": "sha1-Bn/t/Qcrf+PGvsYIDAy9SmsuEfQ=",
2541 + "dev": true,
2542 + "requires": {
2543 + "levelup": "1.3.9"
2544 + },
2545 + "dependencies": {
2546 + "abstract-leveldown": {
2547 + "version": "2.6.3",
2548 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz",
2549 + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==",
2550 + "dev": true,
2551 + "requires": {
2552 + "xtend": "4.0.1"
2553 + }
2554 + },
2555 + "deferred-leveldown": {
2556 + "version": "1.2.2",
2557 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz",
2558 + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==",
2559 + "dev": true,
2560 + "requires": {
2561 + "abstract-leveldown": "2.6.3"
2562 + }
2563 + },
2564 + "level-codec": {
2565 + "version": "7.0.1",
2566 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz",
2567 + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==",
2568 + "dev": true
2569 + },
2570 + "levelup": {
2571 + "version": "1.3.9",
2572 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz",
2573 + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==",
2574 + "dev": true,
2575 + "requires": {
2576 + "deferred-leveldown": "1.2.2",
2577 + "level-codec": "7.0.1",
2578 + "level-errors": "1.0.5",
2579 + "level-iterator-stream": "1.3.1",
2580 + "prr": "1.0.1",
2581 + "semver": "5.4.1",
2582 + "xtend": "4.0.1"
2583 + }
2584 + },
2585 + "prr": {
2586 + "version": "1.0.1",
2587 + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
2588 + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
2589 + "dev": true
2590 + },
2591 + "semver": {
2592 + "version": "5.4.1",
2593 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
2594 + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
2595 + "dev": true
2596 + }
2597 + }
2598 + },
2599 + "level-post": {
2600 + "version": "1.0.5",
2601 + "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.5.tgz",
2602 + "integrity": "sha1-KmY5BAm/ahYhpES6tvAWREzJgCw=",
2603 + "dev": true,
2604 + "requires": {
2605 + "ltgt": "2.2.0"
2606 + }
2607 + },
2608 + "level-sublevel": {
2609 + "version": "6.6.1",
2610 + "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.1.tgz",
2611 + "integrity": "sha1-+ad/dSGrcKj46S7VbyGjx4hqRIU=",
2612 + "dev": true,
2613 + "requires": {
2614 + "bytewise": "1.1.0",
2615 + "levelup": "0.19.1",
2616 + "ltgt": "2.1.3",
2617 + "pull-level": "2.0.3",
2618 + "pull-stream": "3.6.1",
2619 + "typewiselite": "1.0.0",
2620 + "xtend": "4.0.1"
2621 + },
2622 + "dependencies": {
2623 + "ltgt": {
2624 + "version": "2.1.3",
2625 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz",
2626 + "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=",
2627 + "dev": true
2628 + }
2629 + }
2630 + },
2631 + "leveldown": {
2632 + "version": "1.7.2",
2633 + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-1.7.2.tgz",
2634 + "integrity": "sha1-XjRnuyfuJGpKe429j7KxYgam64s=",
2635 + "dev": true,
2636 + "requires": {
2637 + "abstract-leveldown": "2.6.3",
2638 + "bindings": "1.2.1",
2639 + "fast-future": "1.0.2",
2640 + "nan": "2.6.2",
2641 + "prebuild-install": "2.5.0"
2642 + },
2643 + "dependencies": {
2644 + "abstract-leveldown": {
2645 + "version": "2.6.3",
2646 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz",
2647 + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==",
2648 + "dev": true,
2649 + "requires": {
2650 + "xtend": "4.0.1"
2651 + }
2652 + },
2653 + "nan": {
2654 + "version": "2.6.2",
2655 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
2656 + "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
2657 + "dev": true
2658 + }
2659 + }
2660 + },
2661 + "levelup": {
2662 + "version": "0.19.1",
2663 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz",
2664 + "integrity": "sha1-86anIFJyxLXzXkEv8ASgOgrt9Qs=",
2665 + "dev": true,
2666 + "requires": {
2667 + "bl": "0.8.2",
2668 + "deferred-leveldown": "0.2.0",
2669 + "errno": "0.1.6",
2670 + "prr": "0.0.0",
2671 + "readable-stream": "1.0.34",
2672 + "semver": "5.1.1",
2673 + "xtend": "3.0.0"
2674 + },
2675 + "dependencies": {
2676 + "xtend": {
2677 + "version": "3.0.0",
2678 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
2679 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
2680 + "dev": true
2681 + }
2682 + }
2683 + },
2684 + "libsodium": {
2685 + "version": "0.2.12",
2686 + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.2.12.tgz",
2687 + "integrity": "sha1-gwg1ZNzwicuCpQNb6Sul0iSizN4="
2688 + },
2689 + "libsodium-wrappers": {
2690 + "version": "0.2.12",
2691 + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.2.12.tgz",
2692 + "integrity": "sha1-UftQd0uO3FF5J7MHuBKkbDpGfh4=",
2693 + "requires": {
2694 + "libsodium": "0.2.12"
2695 + }
2696 + },
2697 + "lodash": {
2698 + "version": "4.17.5",
2699 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
2700 + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
2701 + },
2702 + "log-symbols": {
2703 + "version": "1.0.2",
2704 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
2705 + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
2706 + "dev": true,
2707 + "requires": {
2708 + "chalk": "1.1.3"
2709 + }
2710 + },
2711 + "log-update": {
2712 + "version": "1.0.2",
2713 + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz",
2714 + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=",
2715 + "dev": true,
2716 + "requires": {
2717 + "ansi-escapes": "1.4.0",
2718 + "cli-cursor": "1.0.2"
2719 + }
2720 + },
2721 + "longest-streak": {
2722 + "version": "1.0.0",
2723 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-1.0.0.tgz",
2724 + "integrity": "sha1-0GWXxNTDG1LMsfXY+P5xSOr9aWU=",
2725 + "dev": true
2726 + },
2727 + "looper": {
2728 + "version": "4.0.0",
2729 + "resolved": "https://registry.npmjs.org/looper/-/looper-4.0.0.tgz",
2730 + "integrity": "sha1-dwat7VmpntygbmtUu4bI7BnJUVU=",
2731 + "dev": true
2732 + },
2733 + "lru-cache": {
2734 + "version": "4.1.1",
2735 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
2736 + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
2737 + "dev": true,
2738 + "requires": {
2739 + "pseudomap": "1.0.2",
2740 + "yallist": "2.1.2"
2741 + }
2742 + },
2743 + "ltgt": {
2744 + "version": "2.2.0",
2745 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.0.tgz",
2746 + "integrity": "sha1-tlul/LNJopkkyOMz98alVi8uSEI=",
2747 + "dev": true
2748 + },
2749 + "map-filter-reduce": {
2750 + "version": "2.2.1",
2751 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-2.2.1.tgz",
2752 + "integrity": "sha1-YysSfDrl1q2eIc/dlpG2O4lE/NI=",
2753 + "dev": true,
2754 + "requires": {
2755 + "binary-search": "1.3.3",
2756 + "pull-sink-through": "0.0.0",
2757 + "pull-stream": "3.6.1",
2758 + "typewiselite": "1.0.0"
2759 + }
2760 + },
2761 + "map-merge": {
2762 + "version": "1.1.0",
2763 + "resolved": "https://registry.npmjs.org/map-merge/-/map-merge-1.1.0.tgz",
2764 + "integrity": "sha1-am/FjJXYqrRsK93kTVFbbuBvzjQ=",
2765 + "dev": true
2766 + },
2767 + "markdown-table": {
2768 + "version": "0.4.0",
2769 + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-0.4.0.tgz",
2770 + "integrity": "sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE=",
2771 + "dev": true
2772 + },
2773 + "mdmanifest": {
2774 + "version": "1.0.8",
2775 + "resolved": "https://registry.npmjs.org/mdmanifest/-/mdmanifest-1.0.8.tgz",
2776 + "integrity": "sha1-wEiRiDwoyDYC4dBrBaEQN+NZtMg=",
2777 + "dev": true,
2778 + "requires": {
2779 + "minimist": "1.2.0",
2780 + "remark": "3.2.3",
2781 + "remark-html": "2.0.2",
2782 + "word-wrap": "1.2.3"
2783 + },
2784 + "dependencies": {
2785 + "minimist": {
2786 + "version": "1.2.0",
2787 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2788 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
2789 + "dev": true
2790 + }
2791 + }
2792 + },
2793 + "micromatch": {
2794 + "version": "2.3.11",
2795 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
2796 + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
2797 + "dev": true,
2798 + "requires": {
2799 + "arr-diff": "2.0.0",
2800 + "array-unique": "0.2.1",
2801 + "braces": "1.8.5",
2802 + "expand-brackets": "0.1.5",
2803 + "extglob": "0.3.2",
2804 + "filename-regex": "2.0.1",
2805 + "is-extglob": "1.0.0",
2806 + "is-glob": "2.0.1",
2807 + "kind-of": "3.2.2",
2808 + "normalize-path": "2.1.1",
2809 + "object.omit": "2.0.1",
2810 + "parse-glob": "3.0.4",
2811 + "regex-cache": "0.4.4"
2812 + }
2813 + },
2814 + "minimatch": {
2815 + "version": "3.0.4",
2816 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2817 + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2818 + "dev": true,
2819 + "requires": {
2820 + "brace-expansion": "1.1.8"
2821 + }
2822 + },
2823 + "minimist": {
2824 + "version": "0.0.8",
2825 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2826 + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
2827 + },
2828 + "mkdirp": {
2829 + "version": "0.5.1",
2830 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2831 + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2832 + "requires": {
2833 + "minimist": "0.0.8"
2834 + }
2835 + },
2836 + "monotonic-timestamp": {
2837 + "version": "0.0.9",
2838 + "resolved": "https://registry.npmjs.org/monotonic-timestamp/-/monotonic-timestamp-0.0.9.tgz",
2839 + "integrity": "sha1-W6Wtx6rIXh1853voRxYe0kazlgM=",
2840 + "dev": true
2841 + },
2842 + "ms": {
2843 + "version": "2.0.0",
2844 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2845 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2846 + "dev": true
2847 + },
2848 + "multiblob": {
2849 + "version": "1.12.0",
2850 + "resolved": "https://registry.npmjs.org/multiblob/-/multiblob-1.12.0.tgz",
2851 + "integrity": "sha1-WbTrvTvB+8CzpHPlhxwrSD1ON4A=",
2852 + "dev": true,
2853 + "requires": {
2854 + "blake2s": "1.0.1",
2855 + "cont": "1.0.3",
2856 + "explain-error": "1.0.4",
2857 + "mkdirp": "0.5.1",
2858 + "pull-cat": "1.1.11",
2859 + "pull-defer": "0.2.2",
2860 + "pull-file": "0.5.0",
2861 + "pull-glob": "1.0.6",
2862 + "pull-live": "1.0.1",
2863 + "pull-notify": "0.0.2",
2864 + "pull-paramap": "1.2.2",
2865 + "pull-stream": "3.6.1",
2866 + "pull-write-file": "0.2.4",
2867 + "rc": "0.5.5",
2868 + "rimraf": "2.2.8"
2869 + },
2870 + "dependencies": {
2871 + "deep-extend": {
2872 + "version": "0.2.11",
2873 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
2874 + "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
2875 + "dev": true
2876 + },
2877 + "pull-file": {
2878 + "version": "0.5.0",
2879 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
2880 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
2881 + "dev": true,
2882 + "requires": {
2883 + "pull-utf8-decoder": "1.0.2"
2884 + }
2885 + },
2886 + "pull-notify": {
2887 + "version": "0.0.2",
2888 + "resolved": "https://registry.npmjs.org/pull-notify/-/pull-notify-0.0.2.tgz",
2889 + "integrity": "sha1-KAu7oaV2g+IqOCBrKYlGXyQFGCE=",
2890 + "dev": true,
2891 + "requires": {
2892 + "pull-pushable": "2.1.2"
2893 + }
2894 + },
2895 + "rc": {
2896 + "version": "0.5.5",
2897 + "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz",
2898 + "integrity": "sha1-VBzDMA9GS23+ZDLXVvDy3T6esZk=",
2899 + "dev": true,
2900 + "requires": {
2901 + "deep-extend": "0.2.11",
2902 + "ini": "1.3.5",
2903 + "minimist": "0.0.8",
2904 + "strip-json-comments": "0.1.3"
2905 + }
2906 + },
2907 + "rimraf": {
2908 + "version": "2.2.8",
2909 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
2910 + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
2911 + "dev": true
2912 + },
2913 + "strip-json-comments": {
2914 + "version": "0.1.3",
2915 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
2916 + "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
2917 + "dev": true
2918 + }
2919 + }
2920 + },
2921 + "multiblob-http": {
2922 + "version": "0.2.1",
2923 + "resolved": "https://registry.npmjs.org/multiblob-http/-/multiblob-http-0.2.1.tgz",
2924 + "integrity": "sha1-N8C+qsxx0YNgEsBi282teX0CIps=",
2925 + "dev": true,
2926 + "requires": {
2927 + "pull-stream": "3.6.1",
2928 + "stream-to-pull-stream": "1.7.2"
2929 + }
2930 + },
2931 + "multicb": {
2932 + "version": "1.2.2",
2933 + "resolved": "https://registry.npmjs.org/multicb/-/multicb-1.2.2.tgz",
2934 + "integrity": "sha512-PZM4dhYFmCF6uZGWpEmoPMUqJBywS9IcAgybT2GmSpYI1BvGvoWSdbio+ik+q/YD2vodhvslESWIS3NnkKYdqQ==",
2935 + "dev": true
2936 + },
2937 + "multiserver": {
2938 + "version": "1.10.1",
2939 + "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-1.10.1.tgz",
2940 + "integrity": "sha1-WiP57wpI9ldDEOCT4qos+lrrka0=",
2941 + "dev": true,
2942 + "requires": {
2943 + "pull-cat": "1.1.11",
2944 + "pull-stream": "3.6.1",
2945 + "pull-ws": "3.3.0",
2946 + "secret-handshake": "1.1.12",
2947 + "separator-escape": "0.0.0",
2948 + "socks": "1.1.9",
2949 + "stream-to-pull-stream": "1.7.2"
2950 + }
2951 + },
2952 + "mutant": {
2953 + "version": "3.22.1",
2954 + "resolved": "https://registry.npmjs.org/mutant/-/mutant-3.22.1.tgz",
2955 + "integrity": "sha1-kEh1RvcAs8KKqApD0c99M48wdYE=",
2956 + "requires": {
2957 + "browser-split": "0.0.1",
2958 + "xtend": "4.0.1"
2959 + }
2960 + },
2961 + "muxrpc": {
2962 + "version": "6.4.0",
2963 + "resolved": "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.0.tgz",
2964 + "integrity": "sha1-JPfaBpvUYpsHfpk7BXeUKyaI6ug=",
2965 + "dev": true,
2966 + "requires": {
2967 + "explain-error": "1.0.4",
2968 + "packet-stream": "2.0.2",
2969 + "packet-stream-codec": "1.1.2",
2970 + "pull-goodbye": "0.0.2",
2971 + "pull-stream": "3.6.1"
2972 + }
2973 + },
2974 + "muxrpc-validation": {
2975 + "version": "2.0.1",
2976 + "resolved": "https://registry.npmjs.org/muxrpc-validation/-/muxrpc-validation-2.0.1.tgz",
2977 + "integrity": "sha1-zWUNFyAl/p0GQjCqs4ymMo3Rby8=",
2978 + "dev": true,
2979 + "requires": {
2980 + "pull-stream": "2.28.4",
2981 + "zerr": "1.0.4"
2982 + },
2983 + "dependencies": {
2984 + "pull-stream": {
2985 + "version": "2.28.4",
2986 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
2987 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
2988 + "dev": true,
2989 + "requires": {
2990 + "pull-core": "1.1.0"
2991 + }
2992 + }
2993 + }
2994 + },
2995 + "muxrpcli": {
2996 + "version": "1.1.0",
2997 + "resolved": "https://registry.npmjs.org/muxrpcli/-/muxrpcli-1.1.0.tgz",
2998 + "integrity": "sha1-Sum6mGq4JcSlwS/LccbaqB6rUVg=",
2999 + "dev": true,
3000 + "requires": {
3001 + "minimist": "1.2.0",
3002 + "pull-stream": "2.28.4",
3003 + "stream-to-pull-stream": "1.7.2",
3004 + "word-wrap": "1.2.3"
3005 + },
3006 + "dependencies": {
3007 + "minimist": {
3008 + "version": "1.2.0",
3009 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
3010 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
3011 + "dev": true
3012 + },
3013 + "pull-stream": {
3014 + "version": "2.28.4",
3015 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
3016 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
3017 + "dev": true,
3018 + "requires": {
3019 + "pull-core": "1.1.0"
3020 + }
3021 + }
3022 + }
3023 + },
3024 + "mv": {
3025 + "version": "2.1.1",
3026 + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
3027 + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
3028 + "dev": true,
3029 + "requires": {
3030 + "mkdirp": "0.5.1",
3031 + "ncp": "2.0.0",
3032 + "rimraf": "2.4.5"
3033 + },
3034 + "dependencies": {
3035 + "glob": {
3036 + "version": "6.0.4",
3037 + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
3038 + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
3039 + "dev": true,
3040 + "requires": {
3041 + "inflight": "1.0.6",
3042 + "inherits": "2.0.3",
3043 + "minimatch": "3.0.4",
3044 + "once": "1.4.0",
3045 + "path-is-absolute": "1.0.1"
3046 + }
3047 + },
3048 + "rimraf": {
3049 + "version": "2.4.5",
3050 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
3051 + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
3052 + "dev": true,
3053 + "requires": {
3054 + "glob": "6.0.4"
3055 + }
3056 + }
3057 + }
3058 + },
3059 + "nan": {
3060 + "version": "2.8.0",
3061 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
3062 + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo="
3063 + },
3064 + "ncp": {
3065 + "version": "2.0.0",
3066 + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
3067 + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
3068 + "dev": true
3069 + },
3070 + "node-abi": {
3071 + "version": "2.2.0",
3072 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz",
3073 + "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==",
3074 + "dev": true,
3075 + "requires": {
3076 + "semver": "5.5.0"
3077 + },
3078 + "dependencies": {
3079 + "semver": {
3080 + "version": "5.5.0",
3081 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
3082 + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
3083 + "dev": true
3084 + }
3085 + }
3086 + },
3087 + "node-gyp-build": {
3088 + "version": "3.2.2",
3089 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.2.2.tgz",
3090 + "integrity": "sha512-t8W/0UqFGl1c+5ORA3NoT3npU+PxWBL9iPhY7ZySSTszodj3RWexmu8niayWBE0v+0DLARvOXsjaAvfmSEQOyQ=="
3091 + },
3092 + "non-private-ip": {
3093 + "version": "1.1.0",
3094 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.1.0.tgz",
3095 + "integrity": "sha1-RvRTUtUPaHNA5MAR9xY8ptGQdAM=",
3096 + "dev": true,
3097 + "requires": {
3098 + "ip": "0.3.3"
3099 + },
3100 + "dependencies": {
3101 + "ip": {
3102 + "version": "0.3.3",
3103 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
3104 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q=",
3105 + "dev": true
3106 + }
3107 + }
3108 + },
3109 + "noop-logger": {
3110 + "version": "0.1.1",
3111 + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
3112 + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
3113 + "dev": true
3114 + },
3115 + "normalize-path": {
3116 + "version": "2.1.1",
3117 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
3118 + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
3119 + "dev": true,
3120 + "requires": {
3121 + "remove-trailing-separator": "1.1.0"
3122 + }
3123 + },
3124 + "normalize-uri": {
3125 + "version": "1.1.0",
3126 + "resolved": "https://registry.npmjs.org/normalize-uri/-/normalize-uri-1.1.0.tgz",
3127 + "integrity": "sha1-AftEDH/QWbnZvoZFqsFDQe/QWd0=",
3128 + "dev": true
3129 + },
3130 + "npm-prefix": {
3131 + "version": "1.2.0",
3132 + "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz",
3133 + "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=",
3134 + "dev": true,
3135 + "requires": {
3136 + "rc": "1.2.5",
3137 + "shellsubstitute": "1.2.0",
3138 + "untildify": "2.1.0"
3139 + }
3140 + },
3141 + "npmlog": {
3142 + "version": "4.1.2",
3143 + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
3144 + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
3145 + "dev": true,
3146 + "requires": {
3147 + "are-we-there-yet": "1.1.4",
3148 + "console-control-strings": "1.1.0",
3149 + "gauge": "2.7.4",
3150 + "set-blocking": "2.0.0"
3151 + }
3152 + },
3153 + "number-is-nan": {
3154 + "version": "1.0.1",
3155 + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
3156 + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
3157 + "dev": true
3158 + },
3159 + "object-assign": {
3160 + "version": "4.1.1",
3161 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3162 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
3163 + "dev": true
3164 + },
3165 + "object-inspect": {
3166 + "version": "1.3.0",
3167 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.3.0.tgz",
3168 + "integrity": "sha512-OHHnLgLNXpM++GnJRyyhbr2bwl3pPVm4YvaraHrRvDt/N3r+s/gDVHciA7EJBTkijKXj61ssgSAikq1fb0IBRg==",
3169 + "dev": true
3170 + },
3171 + "object-keys": {
3172 + "version": "1.0.11",
3173 + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
3174 + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
3175 + "dev": true
3176 + },
3177 + "object.omit": {
3178 + "version": "2.0.1",
3179 + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
3180 + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
3181 + "dev": true,
3182 + "requires": {
3183 + "for-own": "0.1.5",
3184 + "is-extendable": "0.1.1"
3185 + }
3186 + },
3187 + "observ": {
3188 + "version": "0.2.0",
3189 + "resolved": "https://registry.npmjs.org/observ/-/observ-0.2.0.tgz",
3190 + "integrity": "sha1-C8ObPin6pfnmyqWQbLg5LfQAqmg=",
3191 + "dev": true
3192 + },
3193 + "observ-debounce": {
3194 + "version": "1.1.1",
3195 + "resolved": "https://registry.npmjs.org/observ-debounce/-/observ-debounce-1.1.1.tgz",
3196 + "integrity": "sha1-ME6XyFrdpw7NfwjaRQZ475Dwtwc=",
3197 + "dev": true,
3198 + "requires": {
3199 + "observ": "0.2.0"
3200 + }
3201 + },
3202 + "obv": {
3203 + "version": "0.0.0",
3204 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
3205 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE="
3206 + },
3207 + "on-change-network": {
3208 + "version": "0.0.2",
3209 + "resolved": "https://registry.npmjs.org/on-change-network/-/on-change-network-0.0.2.tgz",
3210 + "integrity": "sha1-2XcklHf5FyaUnYDoI0batu9FIWs=",
3211 + "dev": true
3212 + },
3213 + "on-wakeup": {
3214 + "version": "1.0.1",
3215 + "resolved": "https://registry.npmjs.org/on-wakeup/-/on-wakeup-1.0.1.tgz",
3216 + "integrity": "sha1-ANedmH3efIEXvudLtJA/b22vpSs=",
3217 + "dev": true
3218 + },
3219 + "once": {
3220 + "version": "1.4.0",
3221 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3222 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3223 + "dev": true,
3224 + "requires": {
3225 + "wrappy": "1.0.2"
3226 + }
3227 + },
3228 + "onetime": {
3229 + "version": "1.1.0",
3230 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
3231 + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
3232 + "dev": true
3233 + },
3234 + "options": {
3235 + "version": "0.0.6",
3236 + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
3237 + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
3238 + "dev": true
3239 + },
3240 + "os-homedir": {
3241 + "version": "1.0.2",
3242 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
3243 + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
3244 + "dev": true
3245 + },
3246 + "os-tmpdir": {
3247 + "version": "1.0.2",
3248 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
3249 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
3250 + "dev": true
3251 + },
3252 + "osenv": {
3253 + "version": "0.1.4",
3254 + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
3255 + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
3256 + "dev": true,
3257 + "requires": {
3258 + "os-homedir": "1.0.2",
3259 + "os-tmpdir": "1.0.2"
3260 + }
3261 + },
3262 + "packet-stream": {
3263 + "version": "2.0.2",
3264 + "resolved": "https://registry.npmjs.org/packet-stream/-/packet-stream-2.0.2.tgz",
3265 + "integrity": "sha1-uQt/m6tKliQiy8nLJHGcNT5JMmc=",
3266 + "dev": true
3267 + },
3268 + "packet-stream-codec": {
3269 + "version": "1.1.2",
3270 + "resolved": "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.2.tgz",
3271 + "integrity": "sha1-ebMC/BRM37tKtv66cEDmpdmcecc=",
3272 + "dev": true,
3273 + "requires": {
3274 + "pull-reader": "1.2.9",
3275 + "pull-through": "1.0.18"
3276 + }
3277 + },
3278 + "parse-entities": {
3279 + "version": "1.1.1",
3280 + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
3281 + "integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
3282 + "dev": true,
3283 + "requires": {
3284 + "character-entities": "1.2.1",
3285 + "character-entities-legacy": "1.1.1",
3286 + "character-reference-invalid": "1.1.1",
3287 + "is-alphanumerical": "1.0.1",
3288 + "is-decimal": "1.0.1",
3289 + "is-hexadecimal": "1.0.1"
3290 + }
3291 + },
3292 + "parse-glob": {
3293 + "version": "3.0.4",
3294 + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
3295 + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
3296 + "dev": true,
3297 + "requires": {
3298 + "glob-base": "0.3.0",
3299 + "is-dotfile": "1.0.3",
3300 + "is-extglob": "1.0.0",
3301 + "is-glob": "2.0.1"
3302 + }
3303 + },
3304 + "parse-ms": {
3305 + "version": "1.0.1",
3306 + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
3307 + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
3308 + "dev": true
3309 + },
3310 + "path-is-absolute": {
3311 + "version": "1.0.1",
3312 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3313 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3314 + "dev": true
3315 + },
3316 + "path-parse": {
3317 + "version": "1.0.5",
3318 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
3319 + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
3320 + "dev": true
3321 + },
3322 + "pify": {
3323 + "version": "2.3.0",
3324 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
3325 + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
3326 + "dev": true
3327 + },
3328 + "pinkie": {
3329 + "version": "2.0.4",
3330 + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
3331 + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
3332 + "dev": true
3333 + },
3334 + "pinkie-promise": {
3335 + "version": "2.0.1",
3336 + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
3337 + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
3338 + "dev": true,
3339 + "requires": {
3340 + "pinkie": "2.0.4"
3341 + }
3342 + },
3343 + "plur": {
3344 + "version": "2.1.2",
3345 + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
3346 + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
3347 + "dev": true,
3348 + "requires": {
3349 + "irregular-plurals": "1.4.0"
3350 + }
3351 + },
3352 + "prebuild-install": {
3353 + "version": "2.5.0",
3354 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.0.tgz",
3355 + "integrity": "sha512-3wlyZgmkeeyduOR8Ursu5gKr3yWAYObACa5aJOtt2farRRFV/+zXk/Y3wM6yQRMqmqHh+pHAwyKp5r82K699Rg==",
3356 + "dev": true,
3357 + "requires": {
3358 + "detect-libc": "1.0.3",
3359 + "expand-template": "1.1.0",
3360 + "github-from-package": "0.0.0",
3361 + "minimist": "1.2.0",
3362 + "mkdirp": "0.5.1",
3363 + "node-abi": "2.2.0",
3364 + "noop-logger": "0.1.1",
3365 + "npmlog": "4.1.2",
3366 + "os-homedir": "1.0.2",
3367 + "pump": "1.0.3",
3368 + "rc": "1.2.5",
3369 + "simple-get": "1.4.3",
3370 + "tar-fs": "1.16.0",
3371 + "tunnel-agent": "0.6.0",
3372 + "xtend": "4.0.1"
3373 + },
3374 + "dependencies": {
3375 + "minimist": {
3376 + "version": "1.2.0",
3377 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
3378 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
3379 + "dev": true
3380 + }
3381 + }
3382 + },
3383 + "preserve": {
3384 + "version": "0.2.0",
3385 + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
3386 + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
3387 + "dev": true
3388 + },
3389 + "pretty-ms": {
3390 + "version": "2.1.0",
3391 + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
3392 + "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=",
3393 + "dev": true,
3394 + "requires": {
3395 + "is-finite": "1.0.2",
3396 + "parse-ms": "1.0.1",
3397 + "plur": "1.0.0"
3398 + },
3399 + "dependencies": {
3400 + "plur": {
3401 + "version": "1.0.0",
3402 + "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
3403 + "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
3404 + "dev": true
3405 + }
3406 + }
3407 + },
3408 + "private-box": {
3409 + "version": "0.2.1",
3410 + "resolved": "https://registry.npmjs.org/private-box/-/private-box-0.2.1.tgz",
3411 + "integrity": "sha1-HfBhr8pbMDnH/qrdDa8PVvB+PsA=",
3412 + "requires": {
3413 + "chloride": "2.2.8"
3414 + }
3415 + },
3416 + "process-nextick-args": {
3417 + "version": "1.0.7",
3418 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
3419 + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
3420 + "dev": true
3421 + },
3422 + "prr": {
3423 + "version": "0.0.0",
3424 + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
3425 + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
3426 + "dev": true
3427 + },
3428 + "pseudomap": {
3429 + "version": "1.0.2",
3430 + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
3431 + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
3432 + "dev": true
3433 + },
3434 + "pull-abortable": {
3435 + "version": "4.1.1",
3436 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz",
3437 + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE=",
3438 + "dev": true
3439 + },
3440 + "pull-box-stream": {
3441 + "version": "1.0.13",
3442 + "resolved": "https://registry.npmjs.org/pull-box-stream/-/pull-box-stream-1.0.13.tgz",
3443 + "integrity": "sha1-w+JAOY6rP1lRsu0QeMWYi/egork=",
3444 + "dev": true,
3445 + "requires": {
3446 + "chloride": "2.2.8",
3447 + "increment-buffer": "1.0.1",
3448 + "pull-reader": "1.2.9",
3449 + "pull-stream": "3.6.1",
3450 + "pull-through": "1.0.18",
3451 + "split-buffer": "1.0.0"
3452 + }
3453 + },
3454 + "pull-cat": {
3455 + "version": "1.1.11",
3456 + "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
3457 + "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=",
3458 + "dev": true
3459 + },
3460 + "pull-cont": {
3461 + "version": "0.0.0",
3462 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.0.0.tgz",
3463 + "integrity": "sha1-P6xIuBrJe3W6ATMgiLDOevjBvg4=",
3464 + "dev": true
3465 + },
3466 + "pull-core": {
3467 + "version": "1.1.0",
3468 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.1.0.tgz",
3469 + "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo=",
3470 + "dev": true
3471 + },
3472 + "pull-cursor": {
3473 + "version": "2.1.3",
3474 + "resolved": "https://registry.npmjs.org/pull-cursor/-/pull-cursor-2.1.3.tgz",
3475 + "integrity": "sha1-Ah6X19I9eK9mrda4wcF/1v2xK2w=",
3476 + "dev": true,
3477 + "requires": {
3478 + "looper": "4.0.0",
3479 + "ltgt": "2.2.0",
3480 + "pull-stream": "3.6.1"
3481 + }
3482 + },
3483 + "pull-defer": {
3484 + "version": "0.2.2",
3485 + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.2.tgz",
3486 + "integrity": "sha1-CIew/7MK8ypW2+z6csFnInHwexM=",
3487 + "dev": true
3488 + },
3489 + "pull-file": {
3490 + "version": "1.1.0",
3491 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.1.0.tgz",
3492 + "integrity": "sha1-HdmHYF1jV6DSPB5Lgm95FaIVEpw=",
3493 + "dev": true,
3494 + "requires": {
3495 + "pull-utf8-decoder": "1.0.2"
3496 + }
3497 + },
3498 + "pull-flatmap": {
3499 + "version": "0.0.1",
3500 + "resolved": "https://registry.npmjs.org/pull-flatmap/-/pull-flatmap-0.0.1.tgz",
3501 + "integrity": "sha1-E9SURT6PbUeOe7+t5vj+AZf6a7c=",
3502 + "dev": true
3503 + },
3504 + "pull-fs": {
3505 + "version": "1.1.6",
3506 + "resolved": "https://registry.npmjs.org/pull-fs/-/pull-fs-1.1.6.tgz",
3507 + "integrity": "sha1-8YT2p3KLtNlWQTdr6tafb2bfR80=",
3508 + "dev": true,
3509 + "requires": {
3510 + "pull-file": "0.5.0",
3511 + "pull-stream": "3.6.1",
3512 + "pull-traverse": "1.0.3",
3513 + "pull-write-file": "0.2.4"
3514 + },
3515 + "dependencies": {
3516 + "pull-file": {
3517 + "version": "0.5.0",
3518 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
3519 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
3520 + "dev": true,
3521 + "requires": {
3522 + "pull-utf8-decoder": "1.0.2"
3523 + }
3524 + }
3525 + }
3526 + },
3527 + "pull-glob": {
3528 + "version": "1.0.6",
3529 + "resolved": "https://registry.npmjs.org/pull-glob/-/pull-glob-1.0.6.tgz",
3530 + "integrity": "sha1-3qWsWUjuFZeNqyTXdyApJ/aK6KY=",
3531 + "dev": true,
3532 + "requires": {
3533 + "pull-fs": "1.1.6",
3534 + "pull-stream": "3.6.1"
3535 + }
3536 + },
3537 + "pull-goodbye": {
3538 + "version": "0.0.2",
3539 + "resolved": "https://registry.npmjs.org/pull-goodbye/-/pull-goodbye-0.0.2.tgz",
3540 + "integrity": "sha1-jYNX21XiKnEN//DxaoyQtF7+QXE=",
3541 + "dev": true,
3542 + "requires": {
3543 + "pull-stream": "3.5.0"
3544 + },
3545 + "dependencies": {
3546 + "pull-stream": {
3547 + "version": "3.5.0",
3548 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.5.0.tgz",
3549 + "integrity": "sha1-HuW292/Ts6SaWvtt7VwDIKyzz8c=",
3550 + "dev": true
3551 + }
3552 + }
3553 + },
3554 + "pull-handshake": {
3555 + "version": "1.1.4",
3556 + "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz",
3557 + "integrity": "sha1-YACg/QGIhM39c3JU+Mxgqypjd5E=",
3558 + "dev": true,
3559 + "requires": {
3560 + "pull-cat": "1.1.11",
3561 + "pull-pair": "1.1.0",
3562 + "pull-pushable": "2.1.2",
3563 + "pull-reader": "1.2.9"
3564 + }
3565 + },
3566 + "pull-hash": {
3567 + "version": "1.0.0",
3568 + "resolved": "https://registry.npmjs.org/pull-hash/-/pull-hash-1.0.0.tgz",
3569 + "integrity": "sha1-/K1NJQe/LCsyMfZT3Jv7LbTw2Iw=",
3570 + "dev": true
3571 + },
3572 + "pull-inactivity": {
3573 + "version": "2.1.2",
3574 + "resolved": "https://registry.npmjs.org/pull-inactivity/-/pull-inactivity-2.1.2.tgz",
3575 + "integrity": "sha1-N6PW67+sKSzUNfXkgeUHTIwfrXU=",
3576 + "dev": true,
3577 + "requires": {
3578 + "pull-abortable": "4.0.0",
3579 + "pull-stream": "3.6.1"
3580 + },
3581 + "dependencies": {
3582 + "pull-abortable": {
3583 + "version": "4.0.0",
3584 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.0.0.tgz",
3585 + "integrity": "sha1-cBephMO4NN53usOMELd28i38GEM=",
3586 + "dev": true
3587 + }
3588 + }
3589 + },
3590 + "pull-level": {
3591 + "version": "2.0.3",
3592 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.3.tgz",
3593 + "integrity": "sha1-lQBjXiV5Rdb+7eGF9deiR3NFWxc=",
3594 + "dev": true,
3595 + "requires": {
3596 + "level-post": "1.0.5",
3597 + "pull-cat": "1.1.11",
3598 + "pull-live": "1.0.1",
3599 + "pull-pushable": "2.1.2",
3600 + "pull-stream": "3.6.1",
3601 + "pull-window": "2.1.4",
3602 + "stream-to-pull-stream": "1.7.2"
3603 + }
3604 + },
3605 + "pull-live": {
3606 + "version": "1.0.1",
3607 + "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz",
3608 + "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=",
3609 + "dev": true,
3610 + "requires": {
3611 + "pull-cat": "1.1.11",
3612 + "pull-stream": "3.6.1"
3613 + }
3614 + },
3615 + "pull-looper": {
3616 + "version": "1.0.0",
3617 + "resolved": "https://registry.npmjs.org/pull-looper/-/pull-looper-1.0.0.tgz",
3618 + "integrity": "sha512-djlD60A6NGe5goLdP5pgbqzMEiWmk1bInuAzBp0QOH4vDrVwh05YDz6UP8+pOXveKEk8wHVP+rB2jBrK31QMPA==",
3619 + "dev": true,
3620 + "requires": {
3621 + "looper": "4.0.0"
3622 + }
3623 + },
3624 + "pull-many": {
3625 + "version": "1.0.8",
3626 + "resolved": "https://registry.npmjs.org/pull-many/-/pull-many-1.0.8.tgz",
3627 + "integrity": "sha1-Pa3ZttFWxUVyG9qNAAPdjqoGKT4=",
3628 + "dev": true,
3629 + "requires": {
3630 + "pull-stream": "3.6.1"
3631 + }
3632 + },
3633 + "pull-next": {
3634 + "version": "1.0.1",
3635 + "resolved": "https://registry.npmjs.org/pull-next/-/pull-next-1.0.1.tgz",
3636 + "integrity": "sha1-A/TX0Zhy/BEUFh6I227PTGXmHlY=",
3637 + "dev": true
3638 + },
3639 + "pull-notify": {
3640 + "version": "0.1.1",
3641 + "resolved": "https://registry.npmjs.org/pull-notify/-/pull-notify-0.1.1.tgz",
3642 + "integrity": "sha1-b4b/ldJwuJw+vyVbYDG3Ay3JnMo=",
3643 + "requires": {
3644 + "pull-pushable": "2.1.2"
3645 + }
3646 + },
3647 + "pull-pair": {
3648 + "version": "1.1.0",
3649 + "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz",
3650 + "integrity": "sha1-fuQnJj/fTaglOXrAoF4atLdL120=",
3651 + "dev": true
3652 + },
3653 + "pull-paramap": {
3654 + "version": "1.2.2",
3655 + "resolved": "https://registry.npmjs.org/pull-paramap/-/pull-paramap-1.2.2.tgz",
3656 + "integrity": "sha1-UaQZPOnI1yFdla2tReK824STsjo=",
3657 + "dev": true,
3658 + "requires": {
3659 + "looper": "4.0.0"
3660 + }
3661 + },
3662 + "pull-ping": {
3663 + "version": "2.0.2",
3664 + "resolved": "https://registry.npmjs.org/pull-ping/-/pull-ping-2.0.2.tgz",
3665 + "integrity": "sha1-e8SjQBZ9rYj2gqGWxjSFc1x6CJQ=",
3666 + "dev": true,
3667 + "requires": {
3668 + "pull-pushable": "2.1.2",
3669 + "pull-stream": "3.6.1",
3670 + "statistics": "3.3.0"
3671 + }
3672 + },
3673 + "pull-pushable": {
3674 + "version": "2.1.2",
3675 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.1.2.tgz",
3676 + "integrity": "sha1-P+Fbj37sifOXLSOLwEiQyUBabbs="
3677 + },
3678 + "pull-rate": {
3679 + "version": "1.0.2",
3680 + "resolved": "https://registry.npmjs.org/pull-rate/-/pull-rate-1.0.2.tgz",
3681 + "integrity": "sha1-F7IxrV81n2dYJmcBcrDlkMiWTo0=",
3682 + "dev": true,
3683 + "requires": {
3684 + "pull-stream": "3.6.1"
3685 + }
3686 + },
3687 + "pull-reader": {
3688 + "version": "1.2.9",
3689 + "resolved": "https://registry.npmjs.org/pull-reader/-/pull-reader-1.2.9.tgz",
3690 + "integrity": "sha1-0umtALz7VOYqpm1Cwtu8tetoQ7A=",
3691 + "dev": true
3692 + },
3693 + "pull-sink-through": {
3694 + "version": "0.0.0",
3695 + "resolved": "https://registry.npmjs.org/pull-sink-through/-/pull-sink-through-0.0.0.tgz",
3696 + "integrity": "sha1-08BJLzqAtO0gSvZ8S0+TVoD8Wx8=",
3697 + "dev": true
3698 + },
3699 + "pull-stream": {
3700 + "version": "3.6.1",
3701 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.1.tgz",
3702 + "integrity": "sha1-xcKuSlEkbv7rzGXAQSo9clqSzgA="
3703 + },
3704 + "pull-stream-to-stream": {
3705 + "version": "1.3.4",
3706 + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz",
3707 + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=",
3708 + "dev": true
3709 + },
3710 + "pull-stringify": {
3711 + "version": "1.2.2",
3712 + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz",
3713 + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw=",
3714 + "dev": true
3715 + },
3716 + "pull-through": {
3717 + "version": "1.0.18",
3718 + "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz",
3719 + "integrity": "sha1-jdYjFCY+Wc9Qlur7sSeitu8xBzU=",
3720 + "dev": true,
3721 + "requires": {
3722 + "looper": "3.0.0"
3723 + },
3724 + "dependencies": {
3725 + "looper": {
3726 + "version": "3.0.0",
3727 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
3728 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
3729 + "dev": true
3730 + }
3731 + }
3732 + },
3733 + "pull-traverse": {
3734 + "version": "1.0.3",
3735 + "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz",
3736 + "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg=",
3737 + "dev": true
3738 + },
3739 + "pull-utf8-decoder": {
3740 + "version": "1.0.2",
3741 + "resolved": "https://registry.npmjs.org/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz",
3742 + "integrity": "sha1-p6+iOE0eZBWl1gIFQSbMjeO8vOc=",
3743 + "dev": true
3744 + },
3745 + "pull-window": {
3746 + "version": "2.1.4",
3747 + "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz",
3748 + "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=",
3749 + "dev": true,
3750 + "requires": {
3751 + "looper": "2.0.0"
3752 + },
3753 + "dependencies": {
3754 + "looper": {
3755 + "version": "2.0.0",
3756 + "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz",
3757 + "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=",
3758 + "dev": true
3759 + }
3760 + }
3761 + },
3762 + "pull-write": {
3763 + "version": "1.1.4",
3764 + "resolved": "https://registry.npmjs.org/pull-write/-/pull-write-1.1.4.tgz",
3765 + "integrity": "sha1-3d6jFJO0j2douEooHQHrO1Mf4Lg=",
3766 + "dev": true,
3767 + "requires": {
3768 + "looper": "4.0.0",
3769 + "pull-cat": "1.1.11",
3770 + "pull-stream": "3.6.1"
3771 + }
3772 + },
3773 + "pull-write-file": {
3774 + "version": "0.2.4",
3775 + "resolved": "https://registry.npmjs.org/pull-write-file/-/pull-write-file-0.2.4.tgz",
3776 + "integrity": "sha1-Q3NErrIYn2XmeO0a838PdgpUU+8=",
3777 + "dev": true
3778 + },
3779 + "pull-ws": {
3780 + "version": "3.3.0",
3781 + "resolved": "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.0.tgz",
3782 + "integrity": "sha1-4cQ+9AMyFn3YEg71nt9+iSvqSq4=",
3783 + "dev": true,
3784 + "requires": {
3785 + "relative-url": "1.0.2",
3786 + "safe-buffer": "5.1.1",
3787 + "ws": "1.1.5"
3788 + }
3789 + },
3790 + "pump": {
3791 + "version": "1.0.3",
3792 + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
3793 + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
3794 + "dev": true,
3795 + "requires": {
3796 + "end-of-stream": "1.4.1",
3797 + "once": "1.4.0"
3798 + }
3799 + },
3800 + "randomatic": {
3801 + "version": "1.1.7",
3802 + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
3803 + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
3804 + "dev": true,
3805 + "requires": {
3806 + "is-number": "3.0.0",
3807 + "kind-of": "4.0.0"
3808 + },
3809 + "dependencies": {
3810 + "is-number": {
3811 + "version": "3.0.0",
3812 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3813 + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3814 + "dev": true,
3815 + "requires": {
3816 + "kind-of": "3.2.2"
3817 + },
3818 + "dependencies": {
3819 + "kind-of": {
3820 + "version": "3.2.2",
3821 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3822 + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3823 + "dev": true,
3824 + "requires": {
3825 + "is-buffer": "1.1.6"
3826 + }
3827 + }
3828 + }
3829 + },
3830 + "kind-of": {
3831 + "version": "4.0.0",
3832 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
3833 + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
3834 + "dev": true,
3835 + "requires": {
3836 + "is-buffer": "1.1.6"
3837 + }
3838 + }
3839 + }
3840 + },
3841 + "rc": {
3842 + "version": "1.2.5",
3843 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz",
3844 + "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=",
3845 + "dev": true,
3846 + "requires": {
3847 + "deep-extend": "0.4.2",
3848 + "ini": "1.3.5",
3849 + "minimist": "1.2.0",
3850 + "strip-json-comments": "2.0.1"
3851 + },
3852 + "dependencies": {
3853 + "minimist": {
3854 + "version": "1.2.0",
3855 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
3856 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
3857 + "dev": true
3858 + }
3859 + }
3860 + },
3861 + "re-emitter": {
3862 + "version": "1.1.3",
3863 + "resolved": "https://registry.npmjs.org/re-emitter/-/re-emitter-1.1.3.tgz",
3864 + "integrity": "sha1-+p4xn/3u6zWycpbvDz03TawvUqc=",
3865 + "dev": true
3866 + },
3867 + "readable-stream": {
3868 + "version": "1.0.34",
3869 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
3870 + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
3871 + "dev": true,
3872 + "requires": {
3873 + "core-util-is": "1.0.2",
3874 + "inherits": "2.0.3",
3875 + "isarray": "0.0.1",
3876 + "string_decoder": "0.10.31"
3877 + }
3878 + },
3879 + "readdirp": {
3880 + "version": "2.1.0",
3881 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
3882 + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
3883 + "dev": true,
3884 + "requires": {
3885 + "graceful-fs": "4.1.11",
3886 + "minimatch": "3.0.4",
3887 + "readable-stream": "2.3.3",
3888 + "set-immediate-shim": "1.0.1"
3889 + },
3890 + "dependencies": {
3891 + "isarray": {
3892 + "version": "1.0.0",
3893 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3894 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3895 + "dev": true
3896 + },
3897 + "readable-stream": {
3898 + "version": "2.3.3",
3899 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
3900 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
3901 + "dev": true,
3902 + "requires": {
3903 + "core-util-is": "1.0.2",
3904 + "inherits": "2.0.3",
3905 + "isarray": "1.0.0",
3906 + "process-nextick-args": "1.0.7",
3907 + "safe-buffer": "5.1.1",
3908 + "string_decoder": "1.0.3",
3909 + "util-deprecate": "1.0.2"
3910 + }
3911 + },
3912 + "string_decoder": {
3913 + "version": "1.0.3",
3914 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
3915 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
3916 + "dev": true,
3917 + "requires": {
3918 + "safe-buffer": "5.1.1"
3919 + }
3920 + }
3921 + }
3922 + },
3923 + "regex-cache": {
3924 + "version": "0.4.4",
3925 + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
3926 + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
3927 + "dev": true,
3928 + "requires": {
3929 + "is-equal-shallow": "0.1.3"
3930 + }
3931 + },
3932 + "relative-url": {
3933 + "version": "1.0.2",
3934 + "resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
3935 + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc=",
3936 + "dev": true
3937 + },
3938 + "remark": {
3939 + "version": "3.2.3",
3940 + "resolved": "https://registry.npmjs.org/remark/-/remark-3.2.3.tgz",
3941 + "integrity": "sha1-gCo4w6qYyeHj6gFe66IR0ny2Xh8=",
3942 + "dev": true,
3943 + "requires": {
3944 + "camelcase": "2.1.1",
3945 + "ccount": "1.0.2",
3946 + "chalk": "1.1.3",
3947 + "chokidar": "1.7.0",
3948 + "collapse-white-space": "1.0.3",
3949 + "commander": "2.14.1",
3950 + "concat-stream": "1.6.0",
3951 + "debug": "2.6.9",
3952 + "elegant-spinner": "1.0.1",
3953 + "extend.js": "0.0.2",
3954 + "glob": "6.0.4",
3955 + "globby": "4.1.0",
3956 + "he": "0.5.0",
3957 + "log-update": "1.0.2",
3958 + "longest-streak": "1.0.0",
3959 + "markdown-table": "0.4.0",
3960 + "minimatch": "3.0.4",
3961 + "npm-prefix": "1.2.0",
3962 + "parse-entities": "1.1.1",
3963 + "repeat-string": "1.6.1",
3964 + "stringify-entities": "1.3.1",
3965 + "to-vfile": "1.0.0",
3966 + "trim": "0.0.1",
3967 + "trim-trailing-lines": "1.1.0",
3968 + "unified": "2.1.4",
3969 + "user-home": "2.0.0",
3970 + "vfile": "1.4.0",
3971 + "vfile-find-down": "1.0.0",
3972 + "vfile-find-up": "1.0.0",
3973 + "vfile-reporter": "1.5.0",
3974 + "ware": "1.3.0"
3975 + },
3976 + "dependencies": {
3977 + "glob": {
3978 + "version": "6.0.4",
3979 + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
3980 + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
3981 + "dev": true,
3982 + "requires": {
3983 + "inflight": "1.0.6",
3984 + "inherits": "2.0.3",
3985 + "minimatch": "3.0.4",
3986 + "once": "1.4.0",
3987 + "path-is-absolute": "1.0.1"
3988 + }
3989 + }
3990 + }
3991 + },
3992 + "remark-html": {
3993 + "version": "2.0.2",
3994 + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-2.0.2.tgz",
3995 + "integrity": "sha1-WSo0e909WIH08IDJi1sVL7FAepI=",
3996 + "dev": true,
3997 + "requires": {
3998 + "collapse-white-space": "1.0.3",
3999 + "detab": "1.0.2",
4000 + "normalize-uri": "1.1.0",
4001 + "object-assign": "4.1.1",
4002 + "trim": "0.0.1",
4003 + "trim-lines": "1.1.0",
4004 + "unist-util-visit": "1.3.0"
4005 + }
4006 + },
4007 + "remove-trailing-separator": {
4008 + "version": "1.1.0",
4009 + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
4010 + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
4011 + "dev": true
4012 + },
4013 + "repeat-element": {
4014 + "version": "1.1.2",
4015 + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
4016 + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
4017 + "dev": true
4018 + },
4019 + "repeat-string": {
4020 + "version": "1.6.1",
4021 + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
4022 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
4023 + "dev": true
4024 + },
4025 + "resolve": {
4026 + "version": "1.4.0",
4027 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
4028 + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==",
4029 + "dev": true,
4030 + "requires": {
4031 + "path-parse": "1.0.5"
4032 + }
4033 + },
4034 + "restore-cursor": {
4035 + "version": "1.0.1",
4036 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
4037 + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
4038 + "dev": true,
4039 + "requires": {
4040 + "exit-hook": "1.1.1",
4041 + "onetime": "1.1.0"
4042 + }
4043 + },
4044 + "resumer": {
4045 + "version": "0.0.0",
4046 + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
4047 + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
4048 + "dev": true,
4049 + "requires": {
4050 + "through": "2.3.8"
4051 + }
4052 + },
4053 + "rimraf": {
4054 + "version": "2.6.2",
4055 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
4056 + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
4057 + "dev": true,
4058 + "requires": {
4059 + "glob": "7.1.2"
4060 + }
4061 + },
4062 + "safe-buffer": {
4063 + "version": "5.1.1",
4064 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
4065 + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
4066 + },
4067 + "scuttle-testbot": {
4068 + "version": "1.1.3",
4069 + "resolved": "https://registry.npmjs.org/scuttle-testbot/-/scuttle-testbot-1.1.3.tgz",
4070 + "integrity": "sha512-gK6Yf3a1mYnNOf7UlYDq91b1DZuBNvEe9DKxsWqmy1z1qkBxAIE7bBtkX8WG5ihhy4xc04U5NPCRZ/gh4pk0uQ==",
4071 + "dev": true,
4072 + "requires": {
4073 + "rimraf": "2.6.2",
4074 + "scuttlebot": "10.5.0",
4075 + "ssb-keys": "7.0.13"
4076 + }
4077 + },
4078 + "scuttlebot": {
4079 + "version": "10.5.0",
4080 + "resolved": "https://registry.npmjs.org/scuttlebot/-/scuttlebot-10.5.0.tgz",
4081 + "integrity": "sha1-nHJwHHjfr8/XAQCUnQAbZHUyzNI=",
4082 + "dev": true,
4083 + "requires": {
4084 + "atomic-file": "0.0.1",
4085 + "bash-color": "0.0.4",
4086 + "broadcast-stream": "0.2.2",
4087 + "cont": "1.0.3",
4088 + "cross-spawn": "5.1.0",
4089 + "deep-equal": "1.0.1",
4090 + "explain-error": "1.0.4",
4091 + "flumedb": "0.4.6",
4092 + "flumelog-offset": "3.2.6",
4093 + "flumeview-reduce": "1.3.12",
4094 + "graphreduce": "3.0.4",
4095 + "has-network": "0.0.1",
4096 + "ip": "0.3.3",
4097 + "level-memview": "0.0.0",
4098 + "mdmanifest": "1.0.8",
4099 + "minimist": "1.2.0",
4100 + "mkdirp": "0.5.1",
4101 + "multiblob": "1.12.0",
4102 + "multicb": "1.2.2",
4103 + "muxrpc": "6.4.0",
4104 + "muxrpc-validation": "2.0.1",
4105 + "muxrpcli": "1.1.0",
4106 + "mv": "2.1.1",
4107 + "non-private-ip": "1.1.0",
4108 + "observ-debounce": "1.1.1",
4109 + "obv": "0.0.1",
4110 + "on-change-network": "0.0.2",
4111 + "on-wakeup": "1.0.1",
4112 + "osenv": "0.1.4",
4113 + "pull-abortable": "4.1.1",
4114 + "pull-cat": "1.1.11",
4115 + "pull-file": "1.1.0",
4116 + "pull-flatmap": "0.0.1",
4117 + "pull-inactivity": "2.1.2",
4118 + "pull-level": "2.0.3",
4119 + "pull-many": "1.0.8",
4120 + "pull-next": "1.0.1",
4121 + "pull-notify": "0.1.1",
4122 + "pull-paramap": "1.2.2",
4123 + "pull-ping": "2.0.2",
4124 + "pull-pushable": "2.1.2",
4125 + "pull-stream": "3.6.1",
4126 + "pull-stream-to-stream": "1.3.4",
4127 + "pull-stringify": "1.2.2",
4128 + "rimraf": "2.6.2",
4129 + "secret-stack": "4.0.1",
4130 + "secure-scuttlebutt": "17.1.1",
4131 + "sodium-native": "2.1.4",
4132 + "ssb-blobs": "1.1.4",
4133 + "ssb-client": "4.5.3",
4134 + "ssb-config": "2.2.0",
4135 + "ssb-friends": "2.4.0",
4136 + "ssb-keys": "7.0.13",
4137 + "ssb-links": "3.0.1",
4138 + "ssb-msgs": "5.2.0",
4139 + "ssb-query": "1.0.2",
4140 + "ssb-ref": "2.9.1",
4141 + "ssb-ws": "1.0.3",
4142 + "statistics": "3.3.0",
4143 + "stream-to-pull-stream": "1.7.2",
4144 + "zerr": "1.0.4"
4145 + },
4146 + "dependencies": {
4147 + "atomic-file": {
4148 + "version": "0.0.1",
4149 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-0.0.1.tgz",
4150 + "integrity": "sha1-bDZlj2xOzjP7o4d3MefCX8gpmbs=",
4151 + "dev": true
4152 + },
4153 + "ip": {
4154 + "version": "0.3.3",
4155 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
4156 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q=",
4157 + "dev": true
4158 + },
4159 + "minimist": {
4160 + "version": "1.2.0",
4161 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
4162 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4163 + "dev": true
4164 + },
4165 + "obv": {
4166 + "version": "0.0.1",
4167 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
4168 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
4169 + "dev": true
4170 + }
4171 + }
4172 + },
4173 + "secret-handshake": {
4174 + "version": "1.1.12",
4175 + "resolved": "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.12.tgz",
4176 + "integrity": "sha512-5K2rx7QLBOz/JFAWGevU0JsoeC/0PZufSFJPqxQefZSdhMmB2aO16CJ9rwfnAzwMZMGrM+F2/ljXTP9wHp4GlA==",
4177 + "dev": true,
4178 + "requires": {
4179 + "chloride": "2.2.8",
4180 + "deep-equal": "1.0.1",
4181 + "pull-box-stream": "1.0.13",
4182 + "pull-handshake": "1.1.4",
4183 + "pull-stream": "3.6.1"
4184 + }
4185 + },
4186 + "secret-stack": {
4187 + "version": "4.0.1",
4188 + "resolved": "https://registry.npmjs.org/secret-stack/-/secret-stack-4.0.1.tgz",
4189 + "integrity": "sha1-kvucB+zI+FHH9/5nybhDASZtzXk=",
4190 + "dev": true,
4191 + "requires": {
4192 + "hoox": "0.0.1",
4193 + "ip": "1.1.5",
4194 + "map-merge": "1.1.0",
4195 + "multiserver": "1.10.1",
4196 + "muxrpc": "6.4.0",
4197 + "non-private-ip": "1.4.3",
4198 + "pull-inactivity": "2.1.2",
4199 + "pull-rate": "1.0.2",
4200 + "pull-stream": "3.6.1",
4201 + "stream-to-pull-stream": "1.7.2"
4202 + },
4203 + "dependencies": {
4204 + "non-private-ip": {
4205 + "version": "1.4.3",
4206 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.3.tgz",
4207 + "integrity": "sha1-UsrysFOxU6vCKFbr3lOuAJPAYKU=",
4208 + "dev": true,
4209 + "requires": {
4210 + "ip": "0.3.3"
4211 + },
4212 + "dependencies": {
4213 + "ip": {
4214 + "version": "0.3.3",
4215 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
4216 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q=",
4217 + "dev": true
4218 + }
4219 + }
4220 + }
4221 + }
4222 + },
4223 + "secure-scuttlebutt": {
4224 + "version": "17.1.1",
4225 + "resolved": "https://registry.npmjs.org/secure-scuttlebutt/-/secure-scuttlebutt-17.1.1.tgz",
4226 + "integrity": "sha1-3jcVeDxA3zTfaj25mt6GN7oPHLI=",
4227 + "dev": true,
4228 + "requires": {
4229 + "async-write": "2.1.0",
4230 + "cont": "1.0.3",
4231 + "deep-equal": "0.2.2",
4232 + "explain-error": "1.0.4",
4233 + "flumecodec": "0.0.1",
4234 + "flumedb": "0.4.6",
4235 + "flumelog-offset": "3.2.6",
4236 + "flumeview-hashtable": "1.0.3",
4237 + "flumeview-level": "2.1.1",
4238 + "flumeview-reduce": "1.3.12",
4239 + "level": "1.7.0",
4240 + "level-sublevel": "6.6.1",
4241 + "ltgt": "2.2.0",
4242 + "monotonic-timestamp": "0.0.9",
4243 + "obv": "0.0.1",
4244 + "pull-cont": "0.0.0",
4245 + "pull-level": "2.0.3",
4246 + "pull-live": "1.0.1",
4247 + "pull-notify": "0.1.1",
4248 + "pull-paramap": "1.2.2",
4249 + "pull-stream": "3.6.1",
4250 + "ssb-keys": "7.0.13",
4251 + "ssb-msgs": "5.2.0",
4252 + "ssb-ref": "2.9.1",
4253 + "ssb-validate": "3.0.0",
4254 + "typewiselite": "1.0.0"
4255 + },
4256 + "dependencies": {
4257 + "deep-equal": {
4258 + "version": "0.2.2",
4259 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz",
4260 + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=",
4261 + "dev": true
4262 + },
4263 + "flumecodec": {
4264 + "version": "0.0.1",
4265 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.1.tgz",
4266 + "integrity": "sha1-rgSacUOGu4PjQmV6gpJLcDZKkNY=",
4267 + "dev": true,
4268 + "requires": {
4269 + "level-codec": "6.2.0"
4270 + }
4271 + },
4272 + "obv": {
4273 + "version": "0.0.1",
4274 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
4275 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
4276 + "dev": true
4277 + }
4278 + }
4279 + },
4280 + "semver": {
4281 + "version": "5.1.1",
4282 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz",
4283 + "integrity": "sha1-oykqNz5vPgeY2gsgZBuanFvEfhk=",
4284 + "dev": true
4285 + },
4286 + "separator-escape": {
4287 + "version": "0.0.0",
4288 + "resolved": "https://registry.npmjs.org/separator-escape/-/separator-escape-0.0.0.tgz",
4289 + "integrity": "sha1-5DNnaTICBFTjwUhwxRfqHeVsL6Q=",
4290 + "dev": true
4291 + },
4292 + "set-blocking": {
4293 + "version": "2.0.0",
4294 + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
4295 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
4296 + "dev": true
4297 + },
4298 + "set-immediate-shim": {
4299 + "version": "1.0.1",
4300 + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
4301 + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
4302 + "dev": true
4303 + },
4304 + "sha.js": {
4305 + "version": "2.4.5",
4306 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz",
4307 + "integrity": "sha1-J9Fx78yCoRi5ljn/WBZgJCtQbnw=",
4308 + "requires": {
4309 + "inherits": "2.0.3"
4310 + }
4311 + },
4312 + "shebang-command": {
4313 + "version": "1.2.0",
4314 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
4315 + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
4316 + "dev": true,
4317 + "requires": {
4318 + "shebang-regex": "1.0.0"
4319 + }
4320 + },
4321 + "shebang-regex": {
4322 + "version": "1.0.0",
4323 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
4324 + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
4325 + "dev": true
4326 + },
4327 + "shellsubstitute": {
4328 + "version": "1.2.0",
4329 + "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz",
4330 + "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=",
4331 + "dev": true
4332 + },
4333 + "signal-exit": {
4334 + "version": "3.0.2",
4335 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
4336 + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
4337 + "dev": true
4338 + },
4339 + "simple-get": {
4340 + "version": "1.4.3",
4341 + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz",
4342 + "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=",
4343 + "dev": true,
4344 + "requires": {
4345 + "once": "1.4.0",
4346 + "unzip-response": "1.0.2",
4347 + "xtend": "4.0.1"
4348 + }
4349 + },
4350 + "smart-buffer": {
4351 + "version": "1.1.15",
4352 + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
4353 + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
4354 + "dev": true
4355 + },
4356 + "socks": {
4357 + "version": "1.1.9",
4358 + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
4359 + "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
4360 + "dev": true,
4361 + "requires": {
4362 + "ip": "1.1.5",
4363 + "smart-buffer": "1.1.15"
4364 + }
4365 + },
4366 + "sodium-browserify": {
4367 + "version": "1.2.1",
4368 + "resolved": "https://registry.npmjs.org/sodium-browserify/-/sodium-browserify-1.2.1.tgz",
4369 + "integrity": "sha1-sLVZyjaYFnkIUhSFXiZkXfZ6rxw=",
4370 + "requires": {
4371 + "libsodium-wrappers": "0.2.12",
4372 + "sha.js": "2.4.5",
4373 + "tweetnacl": "0.14.5"
4374 + }
4375 + },
4376 + "sodium-browserify-tweetnacl": {
4377 + "version": "0.2.3",
4378 + "resolved": "https://registry.npmjs.org/sodium-browserify-tweetnacl/-/sodium-browserify-tweetnacl-0.2.3.tgz",
4379 + "integrity": "sha1-tVN//LufdOvEQ7i2ohGykej8vI4=",
4380 + "requires": {
4381 + "chloride-test": "1.2.2",
4382 + "ed2curve": "0.1.4",
4383 + "sha.js": "2.4.10",
4384 + "tweetnacl": "0.14.5",
4385 + "tweetnacl-auth": "0.3.1"
4386 + },
4387 + "dependencies": {
4388 + "sha.js": {
4389 + "version": "2.4.10",
4390 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz",
4391 + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==",
4392 + "requires": {
4393 + "inherits": "2.0.3",
4394 + "safe-buffer": "5.1.1"
4395 + }
4396 + }
4397 + }
4398 + },
4399 + "sodium-chloride": {
4400 + "version": "1.1.0",
4401 + "resolved": "https://registry.npmjs.org/sodium-chloride/-/sodium-chloride-1.1.0.tgz",
4402 + "integrity": "sha1-JHojS4iGf23/UTMrYF8ZOmW/aDk="
4403 + },
4404 + "sodium-native": {
4405 + "version": "2.1.4",
4406 + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.4.tgz",
4407 + "integrity": "sha512-EiCWFVWp1useIOg+S4YZOsNv16dN+2J6RI2PKDiubhyrcP/YjK5O9XswkuEZUpgL0UMZb3S+u/J1eu9iXq412g==",
4408 + "requires": {
4409 + "ini": "1.3.5",
4410 + "nan": "2.8.0",
4411 + "node-gyp-build": "3.2.2"
4412 + }
4413 + },
4414 + "split": {
4415 + "version": "1.0.1",
4416 + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
4417 + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
4418 + "dev": true,
4419 + "requires": {
4420 + "through": "2.3.8"
4421 + }
4422 + },
4423 + "split-buffer": {
4424 + "version": "1.0.0",
4425 + "resolved": "https://registry.npmjs.org/split-buffer/-/split-buffer-1.0.0.tgz",
4426 + "integrity": "sha1-t+jgq1E0UVi3LB9tvvJAbVHx0Cc=",
4427 + "dev": true
4428 + },
4429 + "ssb-about": {
4430 + "version": "0.1.2",
4431 + "resolved": "https://registry.npmjs.org/ssb-about/-/ssb-about-0.1.2.tgz",
4432 + "integrity": "sha512-/dvDJZdvukOHTjWDAUDdi5euG3fHIgW0z8xIWI+n+C3ugDCPad24josbRBMtgJ6e5piKOzstTlumIqfekvv8YQ==",
4433 + "requires": {
4434 + "flumeview-reduce": "1.3.12",
4435 + "ssb-ref": "2.9.1"
4436 + }
4437 + },
4438 + "ssb-blobs": {
4439 + "version": "1.1.4",
4440 + "resolved": "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.1.4.tgz",
4441 + "integrity": "sha1-2T8pYLSU4QZXhp/zu59y32lxXck=",
4442 + "dev": true,
4443 + "requires": {
4444 + "cont": "1.0.3",
4445 + "level": "1.7.0",
4446 + "multiblob": "1.12.0",
4447 + "pull-level": "1.5.2",
4448 + "pull-notify": "0.1.1",
4449 + "pull-stream": "3.6.1",
4450 + "ssb-ref": "2.9.1"
4451 + },
4452 + "dependencies": {
4453 + "pull-level": {
4454 + "version": "1.5.2",
4455 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-1.5.2.tgz",
4456 + "integrity": "sha1-K0vcjquNTy43CLSVEjULFLsDW1Y=",
4457 + "dev": true,
4458 + "requires": {
4459 + "level-post": "1.0.5",
4460 + "pull-cat": "1.1.11",
4461 + "pull-pushable": "2.1.2",
4462 + "pull-stream": "3.6.1",
4463 + "pull-window": "2.1.4",
4464 + "stream-to-pull-stream": "1.7.2"
4465 + }
4466 + }
4467 + }
4468 + },
4469 + "ssb-client": {
4470 + "version": "4.5.3",
4471 + "resolved": "https://registry.npmjs.org/ssb-client/-/ssb-client-4.5.3.tgz",
4472 + "integrity": "sha1-Svh1rBET2KojbKGBGdGjAodZmio=",
4473 + "dev": true,
4474 + "requires": {
4475 + "explain-error": "1.0.4",
4476 + "multicb": "1.2.2",
4477 + "multiserver": "1.10.1",
4478 + "muxrpc": "6.4.0",
4479 + "pull-hash": "1.0.0",
4480 + "pull-stream": "3.6.1",
4481 + "ssb-config": "2.2.0",
4482 + "ssb-keys": "7.0.13"
4483 + }
4484 + },
4485 + "ssb-config": {
4486 + "version": "2.2.0",
4487 + "resolved": "https://registry.npmjs.org/ssb-config/-/ssb-config-2.2.0.tgz",
4488 + "integrity": "sha1-QcrQOKhXWvQGLT/VfTsWe+hbA7w=",
4489 + "dev": true,
4490 + "requires": {
4491 + "deep-extend": "0.4.2",
4492 + "non-private-ip": "1.4.3",
4493 + "os-homedir": "1.0.2",
4494 + "rc": "1.2.5"
4495 + },
4496 + "dependencies": {
4497 + "ip": {
4498 + "version": "0.3.3",
4499 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
4500 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q=",
4501 + "dev": true
4502 + },
4503 + "non-private-ip": {
4504 + "version": "1.4.3",
4505 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.3.tgz",
4506 + "integrity": "sha1-UsrysFOxU6vCKFbr3lOuAJPAYKU=",
4507 + "dev": true,
4508 + "requires": {
4509 + "ip": "0.3.3"
4510 + }
4511 + }
4512 + }
4513 + },
4514 + "ssb-friends": {
4515 + "version": "2.4.0",
4516 + "resolved": "https://registry.npmjs.org/ssb-friends/-/ssb-friends-2.4.0.tgz",
4517 + "integrity": "sha1-DUDNlqEvIznJBkqK0dWnE+kcV64=",
4518 + "dev": true,
4519 + "requires": {
4520 + "flumeview-reduce": "1.3.12",
4521 + "graphreduce": "3.0.4",
4522 + "obv": "0.0.1",
4523 + "pull-cont": "0.1.1",
4524 + "pull-flatmap": "0.0.1",
4525 + "pull-stream": "3.6.1",
4526 + "ssb-ref": "2.9.1"
4527 + },
4528 + "dependencies": {
4529 + "obv": {
4530 + "version": "0.0.1",
4531 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
4532 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
4533 + "dev": true
4534 + },
4535 + "pull-cont": {
4536 + "version": "0.1.1",
4537 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.1.1.tgz",
4538 + "integrity": "sha1-3x1YDicXV7qay666IN4kIdZg1hg=",
4539 + "dev": true
4540 + }
4541 + }
4542 + },
4543 + "ssb-keys": {
4544 + "version": "7.0.13",
4545 + "resolved": "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.0.13.tgz",
4546 + "integrity": "sha1-nWUnEAWHawfOqie3JICPDGAQu8k=",
4547 + "requires": {
4548 + "chloride": "2.2.8",
4549 + "mkdirp": "0.5.1",
4550 + "private-box": "0.2.1"
4551 + }
4552 + },
4553 + "ssb-links": {
4554 + "version": "3.0.1",
4555 + "resolved": "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.1.tgz",
4556 + "integrity": "sha1-v4UzTvR/buhIunxMb56WOmNzb28=",
4557 + "dev": true,
4558 + "requires": {
4559 + "flumeview-query": "4.0.1",
4560 + "map-filter-reduce": "2.2.1",
4561 + "pull-stream": "3.6.1",
4562 + "ssb-msgs": "5.2.0"
4563 + }
4564 + },
4565 + "ssb-msgs": {
4566 + "version": "5.2.0",
4567 + "resolved": "https://registry.npmjs.org/ssb-msgs/-/ssb-msgs-5.2.0.tgz",
4568 + "integrity": "sha1-xoHaXNcMV0ySLcpPA8UhU4E1wkM=",
4569 + "dev": true,
4570 + "requires": {
4571 + "ssb-ref": "2.9.1"
4572 + }
4573 + },
4574 + "ssb-query": {
4575 + "version": "1.0.2",
4576 + "resolved": "https://registry.npmjs.org/ssb-query/-/ssb-query-1.0.2.tgz",
4577 + "integrity": "sha1-uFZH3vSG51cGehEqr2PqHPx0cTM=",
4578 + "dev": true,
4579 + "requires": {
4580 + "explain-error": "1.0.4",
4581 + "flumeview-query": "4.0.1",
4582 + "pull-stream": "3.6.1"
4583 + }
4584 + },
4585 + "ssb-ref": {
4586 + "version": "2.9.1",
4587 + "resolved": "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.9.1.tgz",
4588 + "integrity": "sha1-YIYXE9gMERqaUq6DCZ4zGvzbv2s=",
4589 + "requires": {
4590 + "ip": "1.1.5",
4591 + "is-valid-domain": "0.0.5"
4592 + }
4593 + },
4594 + "ssb-sort": {
4595 + "version": "0.0.0",
4596 + "resolved": "https://registry.npmjs.org/ssb-sort/-/ssb-sort-0.0.0.tgz",
4597 + "integrity": "sha1-OEwus/pIzEbF8R1Za/aGYZ+ol58=",
4598 + "dev": true,
4599 + "requires": {
4600 + "ssb-ref": "2.9.1"
4601 + }
4602 + },
4603 + "ssb-validate": {
4604 + "version": "3.0.0",
4605 + "resolved": "https://registry.npmjs.org/ssb-validate/-/ssb-validate-3.0.0.tgz",
4606 + "integrity": "sha1-jDsLdhGabaQ4TMB78NMiYxAUuUU=",
4607 + "dev": true,
4608 + "requires": {
4609 + "ssb-ref": "2.9.1"
4610 + }
4611 + },
4612 + "ssb-ws": {
4613 + "version": "1.0.3",
4614 + "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-1.0.3.tgz",
4615 + "integrity": "sha1-+68EZOCWaPS7lRbSxBzcA6nWgdw=",
4616 + "dev": true,
4617 + "requires": {
4618 + "emoji-server": "1.0.0",
4619 + "multiblob-http": "0.2.1",
4620 + "multiserver": "1.10.1",
4621 + "muxrpc": "6.4.0",
4622 + "pull-stream": "3.6.1",
4623 + "ssb-ref": "2.9.1",
4624 + "ssb-sort": "0.0.0",
4625 + "stack": "0.1.0",
4626 + "web-bootloader": "0.1.2"
4627 + }
4628 + },
4629 + "stack": {
4630 + "version": "0.1.0",
4631 + "resolved": "https://registry.npmjs.org/stack/-/stack-0.1.0.tgz",
4632 + "integrity": "sha1-6SNZipvlHmF2gsshzxsoGKRJraI=",
4633 + "dev": true
4634 + },
4635 + "statistics": {
4636 + "version": "3.3.0",
4637 + "resolved": "https://registry.npmjs.org/statistics/-/statistics-3.3.0.tgz",
4638 + "integrity": "sha1-7HtHUP8DqySmTdmzV6eDFr6teKo=",
4639 + "dev": true
4640 + },
4641 + "stream-to-pull-stream": {
4642 + "version": "1.7.2",
4643 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
4644 + "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
4645 + "dev": true,
4646 + "requires": {
4647 + "looper": "3.0.0",
4648 + "pull-stream": "3.6.1"
4649 + },
4650 + "dependencies": {
4651 + "looper": {
4652 + "version": "3.0.0",
4653 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
4654 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
4655 + "dev": true
4656 + }
4657 + }
4658 + },
4659 + "string-width": {
4660 + "version": "1.0.2",
4661 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
4662 + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
4663 + "dev": true,
4664 + "requires": {
4665 + "code-point-at": "1.1.0",
4666 + "is-fullwidth-code-point": "1.0.0",
4667 + "strip-ansi": "3.0.1"
4668 + }
4669 + },
4670 + "string.prototype.trim": {
4671 + "version": "1.1.2",
4672 + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
4673 + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
4674 + "dev": true,
4675 + "requires": {
4676 + "define-properties": "1.1.2",
4677 + "es-abstract": "1.10.0",
4678 + "function-bind": "1.1.1"
4679 + }
4680 + },
4681 + "string_decoder": {
4682 + "version": "0.10.31",
4683 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
4684 + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
4685 + "dev": true
4686 + },
4687 + "stringify-entities": {
4688 + "version": "1.3.1",
4689 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz",
4690 + "integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
4691 + "dev": true,
4692 + "requires": {
4693 + "character-entities-html4": "1.1.1",
4694 + "character-entities-legacy": "1.1.1",
4695 + "is-alphanumerical": "1.0.1",
4696 + "is-hexadecimal": "1.0.1"
4697 + }
4698 + },
4699 + "strip-ansi": {
4700 + "version": "3.0.1",
4701 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4702 + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
4703 + "dev": true,
4704 + "requires": {
4705 + "ansi-regex": "2.1.1"
4706 + }
4707 + },
4708 + "strip-json-comments": {
4709 + "version": "2.0.1",
4710 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4711 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
4712 + "dev": true
4713 + },
4714 + "supports-color": {
4715 + "version": "2.0.0",
4716 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4717 + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
4718 + "dev": true
4719 + },
4720 + "tap-out": {
4721 + "version": "1.4.2",
4722 + "resolved": "https://registry.npmjs.org/tap-out/-/tap-out-1.4.2.tgz",
4723 + "integrity": "sha1-yQfsG/lAURHQiCY+kvVgi4jLs3o=",
4724 + "dev": true,
4725 + "requires": {
4726 + "re-emitter": "1.1.3",
4727 + "readable-stream": "2.3.3",
4728 + "split": "1.0.1",
4729 + "trim": "0.0.1"
4730 + },
4731 + "dependencies": {
4732 + "isarray": {
4733 + "version": "1.0.0",
4734 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4735 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
4736 + "dev": true
4737 + },
4738 + "readable-stream": {
4739 + "version": "2.3.3",
4740 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
4741 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
4742 + "dev": true,
4743 + "requires": {
4744 + "core-util-is": "1.0.2",
4745 + "inherits": "2.0.3",
4746 + "isarray": "1.0.0",
4747 + "process-nextick-args": "1.0.7",
4748 + "safe-buffer": "5.1.1",
4749 + "string_decoder": "1.0.3",
4750 + "util-deprecate": "1.0.2"
4751 + }
4752 + },
4753 + "string_decoder": {
4754 + "version": "1.0.3",
4755 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
4756 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
4757 + "dev": true,
4758 + "requires": {
4759 + "safe-buffer": "5.1.1"
4760 + }
4761 + }
4762 + }
4763 + },
4764 + "tap-spec": {
4765 + "version": "4.1.1",
4766 + "resolved": "https://registry.npmjs.org/tap-spec/-/tap-spec-4.1.1.tgz",
4767 + "integrity": "sha1-4unyb1IIIysfViKIyXYk1YqI8Fo=",
4768 + "dev": true,
4769 + "requires": {
4770 + "chalk": "1.1.3",
4771 + "duplexer": "0.1.1",
4772 + "figures": "1.7.0",
4773 + "lodash": "3.10.1",
4774 + "pretty-ms": "2.1.0",
4775 + "repeat-string": "1.6.1",
4776 + "tap-out": "1.4.2",
4777 + "through2": "2.0.3"
4778 + },
4779 + "dependencies": {
4780 + "lodash": {
4781 + "version": "3.10.1",
4782 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
4783 + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
4784 + "dev": true
4785 + }
4786 + }
4787 + },
4788 + "tape": {
4789 + "version": "4.8.0",
4790 + "resolved": "https://registry.npmjs.org/tape/-/tape-4.8.0.tgz",
4791 + "integrity": "sha512-TWILfEnvO7I8mFe35d98F6T5fbLaEtbFTG/lxWvid8qDfFTxt19EBijWmB4j3+Hoh5TfHE2faWs73ua+EphuBA==",
4792 + "dev": true,
4793 + "requires": {
4794 + "deep-equal": "1.0.1",
4795 + "defined": "1.0.0",
4796 + "for-each": "0.3.2",
4797 + "function-bind": "1.1.1",
4798 + "glob": "7.1.2",
4799 + "has": "1.0.1",
4800 + "inherits": "2.0.3",
4801 + "minimist": "1.2.0",
4802 + "object-inspect": "1.3.0",
4803 + "resolve": "1.4.0",
4804 + "resumer": "0.0.0",
4805 + "string.prototype.trim": "1.1.2",
4806 + "through": "2.3.8"
4807 + },
4808 + "dependencies": {
4809 + "minimist": {
4810 + "version": "1.2.0",
4811 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
4812 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4813 + "dev": true
4814 + }
4815 + }
4816 + },
4817 + "tar-fs": {
4818 + "version": "1.16.0",
4819 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz",
4820 + "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==",
4821 + "dev": true,
4822 + "requires": {
4823 + "chownr": "1.0.1",
4824 + "mkdirp": "0.5.1",
4825 + "pump": "1.0.3",
4826 + "tar-stream": "1.5.5"
4827 + }
4828 + },
4829 + "tar-stream": {
4830 + "version": "1.5.5",
4831 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz",
4832 + "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
4833 + "dev": true,
4834 + "requires": {
4835 + "bl": "1.2.1",
4836 + "end-of-stream": "1.4.1",
4837 + "readable-stream": "2.3.3",
4838 + "xtend": "4.0.1"
4839 + },
4840 + "dependencies": {
4841 + "bl": {
4842 + "version": "1.2.1",
4843 + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
4844 + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
4845 + "dev": true,
4846 + "requires": {
4847 + "readable-stream": "2.3.3"
4848 + }
4849 + },
4850 + "isarray": {
4851 + "version": "1.0.0",
4852 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4853 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
4854 + "dev": true
4855 + },
4856 + "readable-stream": {
4857 + "version": "2.3.3",
4858 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
4859 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
4860 + "dev": true,
4861 + "requires": {
4862 + "core-util-is": "1.0.2",
4863 + "inherits": "2.0.3",
4864 + "isarray": "1.0.0",
4865 + "process-nextick-args": "1.0.7",
4866 + "safe-buffer": "5.1.1",
4867 + "string_decoder": "1.0.3",
4868 + "util-deprecate": "1.0.2"
4869 + }
4870 + },
4871 + "string_decoder": {
4872 + "version": "1.0.3",
4873 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
4874 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
4875 + "dev": true,
4876 + "requires": {
4877 + "safe-buffer": "5.1.1"
4878 + }
4879 + }
4880 + }
4881 + },
4882 + "text-table": {
4883 + "version": "0.2.0",
4884 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
4885 + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
4886 + "dev": true
4887 + },
4888 + "through": {
4889 + "version": "2.3.8",
4890 + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
4891 + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
4892 + "dev": true
4893 + },
4894 + "through2": {
4895 + "version": "2.0.3",
4896 + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
4897 + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
4898 + "dev": true,
4899 + "requires": {
4900 + "readable-stream": "2.3.3",
4901 + "xtend": "4.0.1"
4902 + },
4903 + "dependencies": {
4904 + "isarray": {
4905 + "version": "1.0.0",
4906 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
4907 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
4908 + "dev": true
4909 + },
4910 + "readable-stream": {
4911 + "version": "2.3.3",
4912 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
4913 + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
4914 + "dev": true,
4915 + "requires": {
4916 + "core-util-is": "1.0.2",
4917 + "inherits": "2.0.3",
4918 + "isarray": "1.0.0",
4919 + "process-nextick-args": "1.0.7",
4920 + "safe-buffer": "5.1.1",
4921 + "string_decoder": "1.0.3",
4922 + "util-deprecate": "1.0.2"
4923 + }
4924 + },
4925 + "string_decoder": {
4926 + "version": "1.0.3",
4927 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
4928 + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
4929 + "dev": true,
4930 + "requires": {
4931 + "safe-buffer": "5.1.1"
4932 + }
4933 + }
4934 + }
4935 + },
4936 + "to-vfile": {
4937 + "version": "1.0.0",
4938 + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-1.0.0.tgz",
4939 + "integrity": "sha1-iN7+zUOtsu9ZhiXw49WffzQpQbo=",
4940 + "dev": true,
4941 + "requires": {
4942 + "vfile": "1.4.0"
4943 + }
4944 + },
4945 + "trim": {
4946 + "version": "0.0.1",
4947 + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
4948 + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
4949 + "dev": true
4950 + },
4951 + "trim-lines": {
4952 + "version": "1.1.0",
4953 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.0.tgz",
4954 + "integrity": "sha1-mSbQPt4Tuhj31CIiYx+wTHn/Jv4=",
4955 + "dev": true
4956 + },
4957 + "trim-trailing-lines": {
4958 + "version": "1.1.0",
4959 + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
4960 + "integrity": "sha1-eu+7eAjfnWafbaLkOMrIxGradoQ=",
4961 + "dev": true
4962 + },
4963 + "tunnel-agent": {
4964 + "version": "0.6.0",
4965 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
4966 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
4967 + "dev": true,
4968 + "requires": {
4969 + "safe-buffer": "5.1.1"
4970 + }
4971 + },
4972 + "tweetnacl": {
4973 + "version": "0.14.5",
4974 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
4975 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
4976 + },
4977 + "tweetnacl-auth": {
4978 + "version": "0.3.1",
4979 + "resolved": "https://registry.npmjs.org/tweetnacl-auth/-/tweetnacl-auth-0.3.1.tgz",
4980 + "integrity": "sha1-t1vC3xVkm7hOi5qjwGacbEvODSU=",
4981 + "requires": {
4982 + "tweetnacl": "0.14.5"
4983 + }
4984 + },
4985 + "typedarray": {
4986 + "version": "0.0.6",
4987 + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
4988 + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
4989 + "dev": true
4990 + },
4991 + "typewise": {
4992 + "version": "1.0.3",
4993 + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
4994 + "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
4995 + "dev": true,
4996 + "requires": {
4997 + "typewise-core": "1.2.0"
4998 + }
4999 + },
5000 + "typewise-core": {
5001 + "version": "1.2.0",
5002 + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
5003 + "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=",
5004 + "dev": true
5005 + },
5006 + "typewiselite": {
5007 + "version": "1.0.0",
5008 + "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz",
5009 + "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=",
5010 + "dev": true
5011 + },
5012 + "uint48be": {
5013 + "version": "1.0.2",
5014 + "resolved": "https://registry.npmjs.org/uint48be/-/uint48be-1.0.2.tgz",
5015 + "integrity": "sha512-jNn1eEi81BLiZfJkjbiAKPDMj7iFrturKazqpBu0aJYLr6evgkn+9rgkX/gUwPBj5j2Ri5oUelsqC/S1zmpWBA==",
5016 + "dev": true
5017 + },
5018 + "ultron": {
5019 + "version": "1.0.2",
5020 + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
5021 + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
5022 + "dev": true
5023 + },
5024 + "unherit": {
5025 + "version": "1.1.0",
5026 + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
5027 + "integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
5028 + "dev": true,
5029 + "requires": {
5030 + "inherits": "2.0.3",
5031 + "xtend": "4.0.1"
5032 + }
5033 + },
5034 + "unified": {
5035 + "version": "2.1.4",
5036 + "resolved": "https://registry.npmjs.org/unified/-/unified-2.1.4.tgz",
5037 + "integrity": "sha1-FLxs1A2Y//91tAVQa62HPsu6w7o=",
5038 + "dev": true,
5039 + "requires": {
5040 + "attach-ware": "1.1.1",
5041 + "bail": "1.0.2",
5042 + "extend": "3.0.1",
5043 + "unherit": "1.1.0",
5044 + "vfile": "1.4.0",
5045 + "ware": "1.3.0"
5046 + }
5047 + },
5048 + "unist-util-is": {
5049 + "version": "2.1.1",
5050 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
5051 + "integrity": "sha1-DDEmKeP5YMZukx6BLT2A53AQlHs=",
5052 + "dev": true
5053 + },
5054 + "unist-util-visit": {
5055 + "version": "1.3.0",
5056 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
5057 + "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
5058 + "dev": true,
5059 + "requires": {
5060 + "unist-util-is": "2.1.1"
5061 + }
5062 + },
5063 + "untildify": {
5064 + "version": "2.1.0",
5065 + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz",
5066 + "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
5067 + "dev": true,
5068 + "requires": {
5069 + "os-homedir": "1.0.2"
5070 + }
5071 + },
5072 + "unzip-response": {
5073 + "version": "1.0.2",
5074 + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
5075 + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
5076 + "dev": true
5077 + },
5078 + "user-home": {
5079 + "version": "2.0.0",
5080 + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
5081 + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
5082 + "dev": true,
5083 + "requires": {
5084 + "os-homedir": "1.0.2"
5085 + }
5086 + },
5087 + "util-deprecate": {
5088 + "version": "1.0.2",
5089 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5090 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
5091 + "dev": true
5092 + },
5093 + "vfile": {
5094 + "version": "1.4.0",
5095 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-1.4.0.tgz",
5096 + "integrity": "sha1-wP1vpIT43r23cfaMMe112I2pf+c=",
5097 + "dev": true
5098 + },
5099 + "vfile-find-down": {
5100 + "version": "1.0.0",
5101 + "resolved": "https://registry.npmjs.org/vfile-find-down/-/vfile-find-down-1.0.0.tgz",
5102 + "integrity": "sha1-hKTWbQNRP2FAqE4Hdu8ISNTwrZU=",
5103 + "dev": true,
5104 + "requires": {
5105 + "to-vfile": "1.0.0"
5106 + }
5107 + },
5108 + "vfile-find-up": {
5109 + "version": "1.0.0",
5110 + "resolved": "https://registry.npmjs.org/vfile-find-up/-/vfile-find-up-1.0.0.tgz",
5111 + "integrity": "sha1-VgTab+RTs0NQY3mE61/kkJ4oA5A=",
5112 + "dev": true,
5113 + "requires": {
5114 + "to-vfile": "1.0.0"
5115 + }
5116 + },
5117 + "vfile-reporter": {
5118 + "version": "1.5.0",
5119 + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-1.5.0.tgz",
5120 + "integrity": "sha1-IacAm/5V4k34/0Mqpb9vbvp05Bg=",
5121 + "dev": true,
5122 + "requires": {
5123 + "chalk": "1.1.3",
5124 + "log-symbols": "1.0.2",
5125 + "plur": "2.1.2",
5126 + "repeat-string": "1.6.1",
5127 + "string-width": "1.0.2",
5128 + "text-table": "0.2.0",
5129 + "vfile-sort": "1.0.0"
5130 + }
5131 + },
5132 + "vfile-sort": {
5133 + "version": "1.0.0",
5134 + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-1.0.0.tgz",
5135 + "integrity": "sha1-F+5JG6Q+iVG7IpE/z/MqfcTSNNQ=",
5136 + "dev": true
5137 + },
5138 + "ware": {
5139 + "version": "1.3.0",
5140 + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
5141 + "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
5142 + "dev": true,
5143 + "requires": {
5144 + "wrap-fn": "0.1.5"
5145 + }
5146 + },
5147 + "web-bootloader": {
5148 + "version": "0.1.2",
5149 + "resolved": "https://registry.npmjs.org/web-bootloader/-/web-bootloader-0.1.2.tgz",
5150 + "integrity": "sha1-3hgiTOmGMz6piMOON26IGPKQJIY=",
5151 + "dev": true,
5152 + "requires": {
5153 + "arraybuffer-base64": "1.0.0",
5154 + "binary-xhr": "0.0.2",
5155 + "hyperfile": "1.1.1",
5156 + "hyperprogress": "0.1.1"
5157 + }
5158 + },
5159 + "which": {
5160 + "version": "1.3.0",
5161 + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
5162 + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
5163 + "dev": true,
5164 + "requires": {
5165 + "isexe": "2.0.0"
5166 + }
5167 + },
5168 + "wide-align": {
5169 + "version": "1.1.2",
5170 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
5171 + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
5172 + "dev": true,
5173 + "requires": {
5174 + "string-width": "1.0.2"
5175 + }
5176 + },
5177 + "word-wrap": {
5178 + "version": "1.2.3",
5179 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
5180 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
5181 + "dev": true
5182 + },
5183 + "wrap-fn": {
5184 + "version": "0.1.5",
5185 + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
5186 + "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
5187 + "dev": true,
5188 + "requires": {
5189 + "co": "3.1.0"
5190 + }
5191 + },
5192 + "wrappy": {
5193 + "version": "1.0.2",
5194 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5195 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5196 + "dev": true
5197 + },
5198 + "ws": {
5199 + "version": "1.1.5",
5200 + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
5201 + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
5202 + "dev": true,
5203 + "requires": {
5204 + "options": "0.0.6",
5205 + "ultron": "1.0.2"
5206 + }
5207 + },
5208 + "xtend": {
5209 + "version": "4.0.1",
5210 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
5211 + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
5212 + },
5213 + "yallist": {
5214 + "version": "2.1.2",
5215 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
5216 + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
5217 + "dev": true
5218 + },
5219 + "zerr": {
5220 + "version": "1.0.4",
5221 + "resolved": "https://registry.npmjs.org/zerr/-/zerr-1.0.4.tgz",
5222 + "integrity": "sha1-YoFN15nv+DYfKiKPQfcFxeGd5Mk=",
5223 + "dev": true
5224 + }
5225 + }
5226 +}
package.jsonView
@@ -1,0 +1,37 @@
1 +{
2 + "name": "scuttle-blog",
3 + "version": "0.0.1",
4 + "description": "a scuttlebutt helper for all blog related messages",
5 + "main": "index.js",
6 + "scripts": {
7 + "test": "tape tests/**/*.js | tap-spec"
8 + },
9 + "repository": {
10 + "type": "git",
11 + "url": "git+https://github.com/ssbc/scuttle-blog.git"
12 + },
13 + "keywords": [
14 + "scuttlebutt",
15 + "books"
16 + ],
17 + "author": "mixmix",
18 + "license": "AGPL-3.0",
19 + "bugs": {
20 + "url": "https://github.com/ssbc/scuttle-blog/issues"
21 + },
22 + "homepage": "https://github.com/ssbc/scuttle-blog#readme",
23 + "dependencies": {
24 + "is-my-json-valid": "^2.17.1",
25 + "lodash": "^4.17.4",
26 + "mutant": "^3.22.1",
27 + "pull-stream": "^3.6.1",
28 + "ssb-about": "^0.1.2",
29 + "ssb-keys": "^7.0.13",
30 + "ssb-ref": "^2.9.1"
31 + },
32 + "devDependencies": {
33 + "scuttle-testbot": "^1.1.3",
34 + "tap-spec": "^4.1.1",
35 + "tape": "^4.8.0"
36 + }
37 +}
schema/blog.jsView
@@ -1,0 +1,16 @@
1 +const { blobIdRegex } = require('ssb-ref')
2 +
3 +module.exports = {
4 + $schema: 'http://json-schema.org/schema#',
5 + type: 'object',
6 + required: ['type', 'title', 'content'],
7 + properties: {
8 + type: {type: 'string', pattern: 'blog'},
9 + title: {type: 'string'},
10 + content: {type: 'string', pattern: blobIdRegex},
11 + summary: {type: 'string'},
12 + thumbnail: {type: 'string', pattern: blobIdRegex},
13 + channel: {type: 'string'},
14 + }
15 +}
16 +
sync/isBlog.jsView
@@ -1,0 +1,23 @@
1 +const validator = require('is-my-json-valid')
2 +const schema = require('../schema/blog')
3 +const isBlogContent = validator(schema, {verbose: true})
4 +
5 +// server is not used here. Closure pattern is just for consistency of use with other functions.
6 +module.exports = function (server) {
7 + return function isBlog (obj) {
8 + const result = isBlogContent(getMsgContent(obj))
9 +
10 + // exposes error messages provided by is-my-json-valid
11 + isBlog.errors = isBlogContent.errors
12 +
13 + return result
14 + }
15 +}
16 +
17 +function getMsgContent (obj) {
18 + if (obj.value && obj.value.content) return obj.value.content
19 +
20 + return obj
21 +}
22 +
23 +
tests/sync/isBlog.jsView
@@ -1,0 +1,39 @@
1 +const test = require('tape')
2 +const validator = require('is-my-json-valid')
3 +
4 +const isBlog = require('../../sync/isBlog')()
5 +// or const isBlog = require('../../isBlog')
6 +
7 +test('isBlog / blog schema', t => {
8 +
9 + const notBlog = {
10 + type: 'post',
11 + title: 'An important idea',
12 + content: '&sfoIYo0kKKGI+TJYnznVDSs3BM/HjMWdCPXirvj9BfE=.sha256'
13 + }
14 + t.notOk(isBlog(notBlog), 'invalidates messages that are not blogs')
15 +
16 + const simpleBlog = {
17 + type: 'blog',
18 + title: 'An important idea',
19 + content: '&sfoIYo0kKKGI+TJYnznVDSs3BM/HjMWdCPXirvj9BfE=.sha256'
20 + }
21 + t.ok(isBlog(simpleBlog), 'validates simple blog')
22 +
23 + const incompleteBlog = {
24 + type: 'blog',
25 + title: 'An important idea'
26 + }
27 + t.notOk(isBlog(incompleteBlog), 'invalidates incompleteBlog blog')
28 + t.equal(isBlog.errors[0].message, 'is required', 'provides error messages')
29 +
30 + const malformedBlog = {
31 + type: 'blog',
32 + title: 'An important idea',
33 + content: '&sfoIYo0kKKGI+TJYnznVDSs3BM'
34 + }
35 + t.notOk(isBlog(malformedBlog), 'invalidates malformed blog')
36 +
37 + t.end()
38 +})
39 +

Built with git-ssb-web