git ssb

0+

mixmix / scuttle-gathering



Commit 42f778a6f4c682d801ef04495ea2ea63fe4139f4

initial research post

mix irving committed on 6/19/2018, 2:55:00 AM

Files changed

.gitignoreadded
package-lock.jsonadded
package.jsonadded
research/1_nested_callbacks.jsadded
research/README.mdadded
research/config.jsadded
research/server.jsadded
.gitignoreView
@@ -1,0 +1,1 @@
1 +node_modules
package-lock.jsonView
@@ -1,0 +1,4389 @@
1 +{
2 + "name": "scuttle-gathering",
3 + "version": "1.0.0",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "abstract-leveldown": {
8 + "version": "4.0.3",
9 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-4.0.3.tgz",
10 + "integrity": "sha512-qsIHFQy0u17JqSY+3ZUT+ykqxYY17yOfvAsLkFkw8kSQqi05d1jyj0bCuSX6sjYlXuY9cKpgUt5EudQdP4aXyA==",
11 + "dev": true,
12 + "requires": {
13 + "xtend": "~4.0.0"
14 + }
15 + },
16 + "aligned-block-file": {
17 + "version": "1.1.3",
18 + "resolved": "https://registry.npmjs.org/aligned-block-file/-/aligned-block-file-1.1.3.tgz",
19 + "integrity": "sha512-ai/S+nZ9XMjC0ReZfq94OLGCICVBJyhNiKWmF1J+/GVZZaXtYV805plMi9obaWjfNl/QljB+VOsT+wQ7R858xA==",
20 + "dev": true,
21 + "requires": {
22 + "hashlru": "^2.1.0",
23 + "int53": "^0.2.4",
24 + "mkdirp": "^0.5.1",
25 + "obv": "0.0.0",
26 + "uint48be": "^1.0.1"
27 + },
28 + "dependencies": {
29 + "obv": {
30 + "version": "0.0.0",
31 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
32 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE=",
33 + "dev": true
34 + }
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.1.5",
62 + "normalize-path": "^2.0.0"
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.5",
79 + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
80 + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
81 + "dev": true,
82 + "requires": {
83 + "delegates": "^1.0.0",
84 + "readable-stream": "^2.0.6"
85 + }
86 + },
87 + "arr-diff": {
88 + "version": "2.0.0",
89 + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
90 + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
91 + "dev": true,
92 + "requires": {
93 + "arr-flatten": "^1.0.1"
94 + }
95 + },
96 + "arr-flatten": {
97 + "version": "1.1.0",
98 + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
99 + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
100 + "dev": true
101 + },
102 + "array-union": {
103 + "version": "1.0.2",
104 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
105 + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
106 + "dev": true,
107 + "requires": {
108 + "array-uniq": "^1.0.1"
109 + }
110 + },
111 + "array-uniq": {
112 + "version": "1.0.3",
113 + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
114 + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
115 + "dev": true
116 + },
117 + "array-unique": {
118 + "version": "0.2.1",
119 + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
120 + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
121 + "dev": true
122 + },
123 + "arrify": {
124 + "version": "1.0.1",
125 + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
126 + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
127 + "dev": true
128 + },
129 + "async-each": {
130 + "version": "1.0.1",
131 + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
132 + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
133 + "dev": true
134 + },
135 + "async-single": {
136 + "version": "1.0.5",
137 + "resolved": "https://registry.npmjs.org/async-single/-/async-single-1.0.5.tgz",
138 + "integrity": "sha1-El3QneldPqMKN4rb7QIQkhebA8k=",
139 + "dev": true
140 + },
141 + "async-write": {
142 + "version": "2.1.0",
143 + "resolved": "https://registry.npmjs.org/async-write/-/async-write-2.1.0.tgz",
144 + "integrity": "sha1-HnYoF9hJzkS/rAeSWkIDZ4cGGxU=",
145 + "dev": true
146 + },
147 + "atomic-file": {
148 + "version": "0.0.1",
149 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-0.0.1.tgz",
150 + "integrity": "sha1-bDZlj2xOzjP7o4d3MefCX8gpmbs=",
151 + "dev": true
152 + },
153 + "attach-ware": {
154 + "version": "1.1.1",
155 + "resolved": "https://registry.npmjs.org/attach-ware/-/attach-ware-1.1.1.tgz",
156 + "integrity": "sha1-KPUTk92LuL2q2XI0JRm/CWIaNaM=",
157 + "dev": true,
158 + "requires": {
159 + "unherit": "^1.0.0"
160 + }
161 + },
162 + "bail": {
163 + "version": "1.0.3",
164 + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
165 + "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==",
166 + "dev": true
167 + },
168 + "balanced-match": {
169 + "version": "1.0.0",
170 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
171 + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
172 + "dev": true
173 + },
174 + "base64-url": {
175 + "version": "1.3.3",
176 + "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.3.3.tgz",
177 + "integrity": "sha1-+LbFN/CaT8WMmcuG4LDpxhRhog8=",
178 + "dev": true
179 + },
180 + "bash-color": {
181 + "version": "0.0.4",
182 + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz",
183 + "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=",
184 + "dev": true
185 + },
186 + "binary-extensions": {
187 + "version": "1.11.0",
188 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
189 + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
190 + "dev": true
191 + },
192 + "binary-search": {
193 + "version": "1.3.3",
194 + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.3.tgz",
195 + "integrity": "sha512-T/jKp3vw1JI+6KQgsyT5R6CcRhMtxlHojeKrA5gX5WG50BQaoujRfoJJKMkuokNuZ0w2S+1wHufEWzw6Qhj30Q==",
196 + "dev": true
197 + },
198 + "bindings": {
199 + "version": "1.3.0",
200 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz",
201 + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==",
202 + "dev": true
203 + },
204 + "bl": {
205 + "version": "1.2.2",
206 + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
207 + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
208 + "dev": true,
209 + "requires": {
210 + "readable-stream": "^2.3.5",
211 + "safe-buffer": "^5.1.1"
212 + }
213 + },
214 + "blake2s": {
215 + "version": "1.0.1",
216 + "resolved": "https://registry.npmjs.org/blake2s/-/blake2s-1.0.1.tgz",
217 + "integrity": "sha1-FZiCKjIOzmqkAbqYKVT4L2GwzXs=",
218 + "dev": true
219 + },
220 + "brace-expansion": {
221 + "version": "1.1.11",
222 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
223 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
224 + "dev": true,
225 + "requires": {
226 + "balanced-match": "^1.0.0",
227 + "concat-map": "0.0.1"
228 + }
229 + },
230 + "braces": {
231 + "version": "1.8.5",
232 + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
233 + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
234 + "dev": true,
235 + "requires": {
236 + "expand-range": "^1.8.1",
237 + "preserve": "^0.2.0",
238 + "repeat-element": "^1.1.2"
239 + }
240 + },
241 + "broadcast-stream": {
242 + "version": "0.2.2",
243 + "resolved": "https://registry.npmjs.org/broadcast-stream/-/broadcast-stream-0.2.2.tgz",
244 + "integrity": "sha1-eee7FKmrunf3KsklgiAkKo/TkZ0=",
245 + "dev": true
246 + },
247 + "browser-split": {
248 + "version": "0.0.1",
249 + "resolved": "https://registry.npmjs.org/browser-split/-/browser-split-0.0.1.tgz",
250 + "integrity": "sha1-ewl1dPjj6tYG+0Zk5krf3aKYGpM="
251 + },
252 + "buffer-alloc": {
253 + "version": "1.2.0",
254 + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
255 + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
256 + "dev": true,
257 + "requires": {
258 + "buffer-alloc-unsafe": "^1.1.0",
259 + "buffer-fill": "^1.0.0"
260 + }
261 + },
262 + "buffer-alloc-unsafe": {
263 + "version": "1.1.0",
264 + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
265 + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
266 + "dev": true
267 + },
268 + "buffer-fill": {
269 + "version": "1.0.0",
270 + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
271 + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
272 + "dev": true
273 + },
274 + "buffer-from": {
275 + "version": "1.1.0",
276 + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
277 + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
278 + "dev": true
279 + },
280 + "bytewise": {
281 + "version": "1.1.0",
282 + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
283 + "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
284 + "dev": true,
285 + "requires": {
286 + "bytewise-core": "^1.2.2",
287 + "typewise": "^1.0.3"
288 + }
289 + },
290 + "bytewise-core": {
291 + "version": "1.2.3",
292 + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
293 + "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
294 + "dev": true,
295 + "requires": {
296 + "typewise-core": "^1.2"
297 + }
298 + },
299 + "camelcase": {
300 + "version": "2.1.1",
301 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
302 + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
303 + "dev": true
304 + },
305 + "ccount": {
306 + "version": "1.0.3",
307 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
308 + "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==",
309 + "dev": true
310 + },
311 + "chalk": {
312 + "version": "1.1.3",
313 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
314 + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
315 + "dev": true,
316 + "requires": {
317 + "ansi-styles": "^2.2.1",
318 + "escape-string-regexp": "^1.0.2",
319 + "has-ansi": "^2.0.0",
320 + "strip-ansi": "^3.0.0",
321 + "supports-color": "^2.0.0"
322 + }
323 + },
324 + "character-entities": {
325 + "version": "1.2.2",
326 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
327 + "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
328 + "dev": true
329 + },
330 + "character-entities-html4": {
331 + "version": "1.1.2",
332 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
333 + "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==",
334 + "dev": true
335 + },
336 + "character-entities-legacy": {
337 + "version": "1.1.2",
338 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
339 + "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
340 + "dev": true
341 + },
342 + "character-reference-invalid": {
343 + "version": "1.1.2",
344 + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
345 + "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
346 + "dev": true
347 + },
348 + "charwise": {
349 + "version": "3.0.1",
350 + "resolved": "https://registry.npmjs.org/charwise/-/charwise-3.0.1.tgz",
351 + "integrity": "sha512-RcdumNsM6fJZ5HHbYunqj2bpurVRGsXour3OR+SlLEHFhG6ALm54i6Osnh+OvO7kEoSBzwExpblYFH8zKQiEPw==",
352 + "dev": true
353 + },
354 + "chloride": {
355 + "version": "2.2.10",
356 + "resolved": "https://registry.npmjs.org/chloride/-/chloride-2.2.10.tgz",
357 + "integrity": "sha512-CbU1ISGiB2JBV6PDXx7hkl8D94d2TPD1BANUMFbr8rZYKJi8De2d3Hu2XDIOLAhXf+8yhoFOdjtLG6fxz3QByQ==",
358 + "dev": true,
359 + "requires": {
360 + "is-electron": "^2.0.0",
361 + "sodium-browserify": "^1.2.4",
362 + "sodium-browserify-tweetnacl": "^0.2.2",
363 + "sodium-chloride": "^1.1.0",
364 + "sodium-native": "^2.1.6"
365 + }
366 + },
367 + "chloride-test": {
368 + "version": "1.2.2",
369 + "resolved": "https://registry.npmjs.org/chloride-test/-/chloride-test-1.2.2.tgz",
370 + "integrity": "sha1-F4aGqF6SeARREulujHkXk/mhCuo=",
371 + "dev": true,
372 + "requires": {
373 + "json-buffer": "^2.0.11"
374 + }
375 + },
376 + "chokidar": {
377 + "version": "1.7.0",
378 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
379 + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
380 + "dev": true,
381 + "requires": {
382 + "anymatch": "^1.3.0",
383 + "async-each": "^1.0.0",
384 + "fsevents": "^1.0.0",
385 + "glob-parent": "^2.0.0",
386 + "inherits": "^2.0.1",
387 + "is-binary-path": "^1.0.0",
388 + "is-glob": "^2.0.0",
389 + "path-is-absolute": "^1.0.0",
390 + "readdirp": "^2.0.0"
391 + }
392 + },
393 + "chownr": {
394 + "version": "1.0.1",
395 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
396 + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
397 + "dev": true
398 + },
399 + "cli-cursor": {
400 + "version": "1.0.2",
401 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
402 + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
403 + "dev": true,
404 + "requires": {
405 + "restore-cursor": "^1.0.1"
406 + }
407 + },
408 + "co": {
409 + "version": "3.1.0",
410 + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
411 + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
412 + "dev": true
413 + },
414 + "code-point-at": {
415 + "version": "1.1.0",
416 + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
417 + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
418 + "dev": true
419 + },
420 + "collapse-white-space": {
421 + "version": "1.0.4",
422 + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
423 + "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==",
424 + "dev": true
425 + },
426 + "commander": {
427 + "version": "2.15.1",
428 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
429 + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
430 + "dev": true
431 + },
432 + "concat-map": {
433 + "version": "0.0.1",
434 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
435 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
436 + "dev": true
437 + },
438 + "concat-stream": {
439 + "version": "1.6.2",
440 + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
441 + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
442 + "dev": true,
443 + "requires": {
444 + "buffer-from": "^1.0.0",
445 + "inherits": "^2.0.3",
446 + "readable-stream": "^2.2.2",
447 + "typedarray": "^0.0.6"
448 + }
449 + },
450 + "console-control-strings": {
451 + "version": "1.1.0",
452 + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
453 + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
454 + "dev": true
455 + },
456 + "cont": {
457 + "version": "1.0.3",
458 + "resolved": "https://registry.npmjs.org/cont/-/cont-1.0.3.tgz",
459 + "integrity": "sha1-aHTx6TX8qZ0EjK6qrZoK6wILzOA=",
460 + "dev": true,
461 + "requires": {
462 + "continuable": "~1.2.0",
463 + "continuable-para": "~1.2.0",
464 + "continuable-series": "~1.2.0"
465 + }
466 + },
467 + "continuable": {
468 + "version": "1.2.0",
469 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.2.0.tgz",
470 + "integrity": "sha1-CCd0aNQRNiAAdMz4cpQwjRafJbY=",
471 + "dev": true
472 + },
473 + "continuable-hash": {
474 + "version": "0.1.4",
475 + "resolved": "https://registry.npmjs.org/continuable-hash/-/continuable-hash-0.1.4.tgz",
476 + "integrity": "sha1-gcdNQXcdjJJ4Ph4A5fEbNNbfx4w=",
477 + "dev": true,
478 + "requires": {
479 + "continuable": "~1.1.6"
480 + },
481 + "dependencies": {
482 + "continuable": {
483 + "version": "1.1.8",
484 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
485 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U=",
486 + "dev": true
487 + }
488 + }
489 + },
490 + "continuable-list": {
491 + "version": "0.1.6",
492 + "resolved": "https://registry.npmjs.org/continuable-list/-/continuable-list-0.1.6.tgz",
493 + "integrity": "sha1-h88G7FgHFuEN/5X7C4TF8OisrF8=",
494 + "dev": true,
495 + "requires": {
496 + "continuable": "~1.1.6"
497 + },
498 + "dependencies": {
499 + "continuable": {
500 + "version": "1.1.8",
501 + "resolved": "https://registry.npmjs.org/continuable/-/continuable-1.1.8.tgz",
502 + "integrity": "sha1-3Id7R0FghwrjvN6HM2Jo6+UFl9U=",
503 + "dev": true
504 + }
505 + }
506 + },
507 + "continuable-para": {
508 + "version": "1.2.0",
509 + "resolved": "https://registry.npmjs.org/continuable-para/-/continuable-para-1.2.0.tgz",
510 + "integrity": "sha1-RFUQ9klFndD8NchyAVFGEicxxYM=",
511 + "dev": true,
512 + "requires": {
513 + "continuable-hash": "~0.1.4",
514 + "continuable-list": "~0.1.5"
515 + }
516 + },
517 + "continuable-series": {
518 + "version": "1.2.0",
519 + "resolved": "https://registry.npmjs.org/continuable-series/-/continuable-series-1.2.0.tgz",
520 + "integrity": "sha1-MkM5euk6cdZVswJoNKUVkLlYueg=",
521 + "dev": true
522 + },
523 + "core-util-is": {
524 + "version": "1.0.2",
525 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
526 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
527 + "dev": true
528 + },
529 + "cross-spawn": {
530 + "version": "5.1.0",
531 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
532 + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
533 + "dev": true,
534 + "requires": {
535 + "lru-cache": "^4.0.1",
536 + "shebang-command": "^1.2.0",
537 + "which": "^1.2.9"
538 + }
539 + },
540 + "debug": {
541 + "version": "2.6.9",
542 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
543 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
544 + "dev": true,
545 + "requires": {
546 + "ms": "2.0.0"
547 + }
548 + },
549 + "decompress-response": {
550 + "version": "3.3.0",
551 + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
552 + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
553 + "dev": true,
554 + "requires": {
555 + "mimic-response": "^1.0.0"
556 + }
557 + },
558 + "deep-equal": {
559 + "version": "1.0.1",
560 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
561 + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
562 + "dev": true
563 + },
564 + "deep-extend": {
565 + "version": "0.6.0",
566 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
567 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
568 + "dev": true
569 + },
570 + "deferred-leveldown": {
571 + "version": "3.0.0",
572 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-3.0.0.tgz",
573 + "integrity": "sha512-ajbXqRPMXRlcdyt0TuWqknOJkp1JgQjGB7xOl2V+ebol7/U11E9h3/nCZAtN1M7djmAJEIhypCUc1tIWxdQAuQ==",
574 + "dev": true,
575 + "requires": {
576 + "abstract-leveldown": "~4.0.0"
577 + }
578 + },
579 + "define-properties": {
580 + "version": "1.1.2",
581 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
582 + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
583 + "dev": true,
584 + "requires": {
585 + "foreach": "^2.0.5",
586 + "object-keys": "^1.0.8"
587 + }
588 + },
589 + "defined": {
590 + "version": "1.0.0",
591 + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
592 + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
593 + "dev": true
594 + },
595 + "delegates": {
596 + "version": "1.0.0",
597 + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
598 + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
599 + "dev": true
600 + },
601 + "detab": {
602 + "version": "1.0.2",
603 + "resolved": "https://registry.npmjs.org/detab/-/detab-1.0.2.tgz",
604 + "integrity": "sha1-AbwqSr57x8xnwwOYCO265HBJoO4=",
605 + "dev": true,
606 + "requires": {
607 + "repeat-string": "^1.5.2"
608 + }
609 + },
610 + "detect-libc": {
611 + "version": "1.0.3",
612 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
613 + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
614 + "dev": true
615 + },
616 + "ed2curve": {
617 + "version": "0.1.4",
618 + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.1.4.tgz",
619 + "integrity": "sha1-lKRCSLuH2jXbDv968KpXYWgRf1k=",
620 + "dev": true,
621 + "requires": {
622 + "tweetnacl": "0.x.x"
623 + }
624 + },
625 + "elegant-spinner": {
626 + "version": "1.0.1",
627 + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
628 + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
629 + "dev": true
630 + },
631 + "emoji-named-characters": {
632 + "version": "1.0.2",
633 + "resolved": "https://registry.npmjs.org/emoji-named-characters/-/emoji-named-characters-1.0.2.tgz",
634 + "integrity": "sha1-zes20OZgAsS5178d+8Ohmft9QJs=",
635 + "dev": true
636 + },
637 + "emoji-server": {
638 + "version": "1.0.0",
639 + "resolved": "https://registry.npmjs.org/emoji-server/-/emoji-server-1.0.0.tgz",
640 + "integrity": "sha1-0GPP7prxGMxa7vvC6bPdUIWBXGM=",
641 + "dev": true,
642 + "requires": {
643 + "emoji-named-characters": "~1.0.2"
644 + }
645 + },
646 + "encoding-down": {
647 + "version": "4.0.1",
648 + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-4.0.1.tgz",
649 + "integrity": "sha512-AlSE+ugBIpLL0i9if2SlnOZ4oWj/XvBb8tw2Ie/pFB73vdYs5O/6plRyqIgjbZbz8onaL20AAuMP87LWbP56IQ==",
650 + "dev": true,
651 + "requires": {
652 + "abstract-leveldown": "^4.0.0",
653 + "level-codec": "^8.0.0",
654 + "level-errors": "^1.0.4",
655 + "xtend": "^4.0.1"
656 + },
657 + "dependencies": {
658 + "level-codec": {
659 + "version": "8.0.0",
660 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-8.0.0.tgz",
661 + "integrity": "sha512-gNZlo1HRHz0BWxzGCyNf7xntAs2HKOPvvRBWtXsoDvEX4vMYnSTBS6ZnxoaiX7nhxSBPpegRa8CQ/hnfGBKk3Q==",
662 + "dev": true
663 + }
664 + }
665 + },
666 + "end-of-stream": {
667 + "version": "1.4.1",
668 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
669 + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
670 + "dev": true,
671 + "requires": {
672 + "once": "^1.4.0"
673 + }
674 + },
675 + "epidemic-broadcast-trees": {
676 + "version": "6.3.3",
677 + "resolved": "https://registry.npmjs.org/epidemic-broadcast-trees/-/epidemic-broadcast-trees-6.3.3.tgz",
678 + "integrity": "sha512-yNbiNBGgX69SleCvOeNL9v7DlqtcEeH6FXZOnGCSgsgcJIZQIMwsQ1HB/j7h+yvnYYh/qqX2iFP9fqR0aukuug==",
679 + "dev": true,
680 + "requires": {
681 + "inherits": "^2.0.3",
682 + "push-stream": "^10.0.0"
683 + }
684 + },
685 + "errno": {
686 + "version": "0.1.7",
687 + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
688 + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
689 + "dev": true,
690 + "requires": {
691 + "prr": "~1.0.1"
692 + }
693 + },
694 + "es-abstract": {
695 + "version": "1.12.0",
696 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
697 + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
698 + "dev": true,
699 + "requires": {
700 + "es-to-primitive": "^1.1.1",
701 + "function-bind": "^1.1.1",
702 + "has": "^1.0.1",
703 + "is-callable": "^1.1.3",
704 + "is-regex": "^1.0.4"
705 + }
706 + },
707 + "es-to-primitive": {
708 + "version": "1.1.1",
709 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
710 + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
711 + "dev": true,
712 + "requires": {
713 + "is-callable": "^1.1.1",
714 + "is-date-object": "^1.0.1",
715 + "is-symbol": "^1.0.1"
716 + }
717 + },
718 + "escape-string-regexp": {
719 + "version": "1.0.5",
720 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
721 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
722 + "dev": true
723 + },
724 + "exit-hook": {
725 + "version": "1.1.1",
726 + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
727 + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
728 + "dev": true
729 + },
730 + "expand-brackets": {
731 + "version": "0.1.5",
732 + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
733 + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
734 + "dev": true,
735 + "requires": {
736 + "is-posix-bracket": "^0.1.0"
737 + }
738 + },
739 + "expand-range": {
740 + "version": "1.8.2",
741 + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
742 + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
743 + "dev": true,
744 + "requires": {
745 + "fill-range": "^2.1.0"
746 + }
747 + },
748 + "expand-template": {
749 + "version": "1.1.1",
750 + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
751 + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==",
752 + "dev": true
753 + },
754 + "explain-error": {
755 + "version": "1.0.4",
756 + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz",
757 + "integrity": "sha1-p5PTrAytTGq1cemWj7urbLJTKSk=",
758 + "dev": true
759 + },
760 + "extend": {
761 + "version": "3.0.1",
762 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
763 + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
764 + "dev": true
765 + },
766 + "extend.js": {
767 + "version": "0.0.2",
768 + "resolved": "https://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz",
769 + "integrity": "sha1-D5x6gaHyCLcD6wwxMf5XFqxuzRU=",
770 + "dev": true
771 + },
772 + "extglob": {
773 + "version": "0.3.2",
774 + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
775 + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
776 + "dev": true,
777 + "requires": {
778 + "is-extglob": "^1.0.0"
779 + }
780 + },
781 + "fast-future": {
782 + "version": "1.0.2",
783 + "resolved": "https://registry.npmjs.org/fast-future/-/fast-future-1.0.2.tgz",
784 + "integrity": "sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo=",
785 + "dev": true
786 + },
787 + "filename-regex": {
788 + "version": "2.0.1",
789 + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
790 + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
791 + "dev": true
792 + },
793 + "fill-range": {
794 + "version": "2.2.4",
795 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
796 + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
797 + "dev": true,
798 + "requires": {
799 + "is-number": "^2.1.0",
800 + "isobject": "^2.0.0",
801 + "randomatic": "^3.0.0",
802 + "repeat-element": "^1.1.2",
803 + "repeat-string": "^1.5.2"
804 + }
805 + },
806 + "flumecodec": {
807 + "version": "0.0.1",
808 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.1.tgz",
809 + "integrity": "sha1-rgSacUOGu4PjQmV6gpJLcDZKkNY=",
810 + "dev": true,
811 + "requires": {
812 + "level-codec": "^6.2.0"
813 + }
814 + },
815 + "flumedb": {
816 + "version": "0.4.8",
817 + "resolved": "https://registry.npmjs.org/flumedb/-/flumedb-0.4.8.tgz",
818 + "integrity": "sha512-R6em/DjNiUBU2H8LYt9Q66+jaQy0FHYReXy52UgbUh03VI307OXXvq+fJ5Vt90dfnECSpB9S8a8+3qErGJzLPw==",
819 + "dev": true,
820 + "requires": {
821 + "cont": "^1.0.3",
822 + "explain-error": "^1.0.3",
823 + "obv": "0.0.1",
824 + "pull-cont": "0.0.0",
825 + "pull-looper": "^1.0.0",
826 + "pull-stream": "^3.5.0"
827 + }
828 + },
829 + "flumelog-offset": {
830 + "version": "3.3.1",
831 + "resolved": "https://registry.npmjs.org/flumelog-offset/-/flumelog-offset-3.3.1.tgz",
832 + "integrity": "sha512-4yYdr8tTL0qOkKqhxAxvNnIwDBaBcLEsJWbyc2wU4Ycaewts9xxcBaxNbORp2KBbTwFaqZAV13HVpfZcO1X/AA==",
833 + "dev": true,
834 + "requires": {
835 + "aligned-block-file": "^1.1.2",
836 + "append-batch": "^0.0.1",
837 + "explain-error": "^1.0.3",
838 + "hashlru": "^2.2.0",
839 + "int53": "^0.2.4",
840 + "looper": "^4.0.0",
841 + "ltgt": "^2.1.3",
842 + "obv": "0.0.1",
843 + "pull-cursor": "^3.0.0",
844 + "pull-looper": "^1.0.0",
845 + "uint48be": "^1.0.1"
846 + }
847 + },
848 + "flumeview-hashtable": {
849 + "version": "1.0.3",
850 + "resolved": "https://registry.npmjs.org/flumeview-hashtable/-/flumeview-hashtable-1.0.3.tgz",
851 + "integrity": "sha1-0qn6Fkn1fvaNG4nrTEO/sXJDeWc=",
852 + "dev": true,
853 + "requires": {
854 + "async-single": "^1.0.5",
855 + "atomic-file": "^1.1.3",
856 + "obv": "0.0.1",
857 + "pull-stream": "^3.6.0"
858 + },
859 + "dependencies": {
860 + "atomic-file": {
861 + "version": "1.1.5",
862 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-1.1.5.tgz",
863 + "integrity": "sha512-TG+5YFiaKQ6CZiSQsosGMJ/IJzwMZ4V/rSdEXlD6+DwKyv8OyeUcprq34kp4yuS6bfQYXhxBC2Vm8PWo+iKBGQ==",
864 + "dev": true
865 + }
866 + }
867 + },
868 + "flumeview-level": {
869 + "version": "3.0.5",
870 + "resolved": "https://registry.npmjs.org/flumeview-level/-/flumeview-level-3.0.5.tgz",
871 + "integrity": "sha512-LKW+YdJGemOo7TnUwpFHq4cBBiYAIKtWk+G2CK7zrxbCIiAHemBRudohBOUKuSUZZ0CReR5fJ73peBHW02VerA==",
872 + "dev": true,
873 + "requires": {
874 + "charwise": "^3.0.1",
875 + "explain-error": "^1.0.4",
876 + "level": "^3.0.1",
877 + "ltgt": "^2.1.3",
878 + "mkdirp": "^0.5.1",
879 + "obv": "0.0.0",
880 + "pull-level": "^2.0.3",
881 + "pull-paramap": "^1.2.1",
882 + "pull-stream": "^3.5.0",
883 + "pull-write": "^1.1.1"
884 + },
885 + "dependencies": {
886 + "obv": {
887 + "version": "0.0.0",
888 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
889 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE=",
890 + "dev": true
891 + }
892 + }
893 + },
894 + "flumeview-query": {
895 + "version": "6.2.0",
896 + "resolved": "https://registry.npmjs.org/flumeview-query/-/flumeview-query-6.2.0.tgz",
897 + "integrity": "sha512-tq7rD63gixBDOPegw10khz/d5Bnq9qW9IbURHbWuJkG5CUBm3JP4QQSIF/Phl99jz66MRuXoXjRrXXQLN89iNQ==",
898 + "dev": true,
899 + "requires": {
900 + "deep-equal": "^1.0.1",
901 + "flumeview-level": "^3.0.0",
902 + "map-filter-reduce": "^3.0.7",
903 + "pull-flatmap": "0.0.1",
904 + "pull-paramap": "^1.1.3",
905 + "pull-sink-through": "0.0.0",
906 + "pull-stream": "^3.4.0"
907 + },
908 + "dependencies": {
909 + "map-filter-reduce": {
910 + "version": "3.1.0",
911 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-3.1.0.tgz",
912 + "integrity": "sha512-os2GlG1lEWRSAvAb9iqfapQ0I1GRXSA+alSjQl0DB7XxNyDx2/VOVAEVhK7EMsqwDDCWNTBSstoo1roc7U5H0w==",
913 + "dev": true,
914 + "requires": {
915 + "binary-search": "^1.2.0",
916 + "pull-sink-through": "0.0.0",
917 + "pull-stream": "^3.4.3",
918 + "typewiselite": "^1.0.0"
919 + }
920 + }
921 + }
922 + },
923 + "flumeview-reduce": {
924 + "version": "1.3.13",
925 + "resolved": "https://registry.npmjs.org/flumeview-reduce/-/flumeview-reduce-1.3.13.tgz",
926 + "integrity": "sha512-QN/07+ia3uXpfy8/xWjLI2XGIG67Aiwp9VaOTIqYt6NHP6OfdGfl8nGRPkJRHlkfFbzEouRvJcQBFohWEXMdNQ==",
927 + "dev": true,
928 + "requires": {
929 + "async-single": "^1.0.5",
930 + "atomic-file": "^1.1.3",
931 + "deep-equal": "^1.0.1",
932 + "flumecodec": "0.0.0",
933 + "obv": "0.0.0",
934 + "pull-notify": "^0.1.1",
935 + "pull-stream": "^3.5.0"
936 + },
937 + "dependencies": {
938 + "atomic-file": {
939 + "version": "1.1.5",
940 + "resolved": "https://registry.npmjs.org/atomic-file/-/atomic-file-1.1.5.tgz",
941 + "integrity": "sha512-TG+5YFiaKQ6CZiSQsosGMJ/IJzwMZ4V/rSdEXlD6+DwKyv8OyeUcprq34kp4yuS6bfQYXhxBC2Vm8PWo+iKBGQ==",
942 + "dev": true
943 + },
944 + "flumecodec": {
945 + "version": "0.0.0",
946 + "resolved": "https://registry.npmjs.org/flumecodec/-/flumecodec-0.0.0.tgz",
947 + "integrity": "sha1-Ns4Gq+Lg4BxE3WnyoWUwWiMgZJs=",
948 + "dev": true,
949 + "requires": {
950 + "level-codec": "^6.2.0"
951 + }
952 + },
953 + "obv": {
954 + "version": "0.0.0",
955 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.0.tgz",
956 + "integrity": "sha1-7eq4Ro+R1BkzYu1/kdC5bdOaecE=",
957 + "dev": true
958 + }
959 + }
960 + },
961 + "for-each": {
962 + "version": "0.3.3",
963 + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
964 + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
965 + "dev": true,
966 + "requires": {
967 + "is-callable": "^1.1.3"
968 + }
969 + },
970 + "for-in": {
971 + "version": "1.0.2",
972 + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
973 + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
974 + "dev": true
975 + },
976 + "for-own": {
977 + "version": "0.1.5",
978 + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
979 + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
980 + "dev": true,
981 + "requires": {
982 + "for-in": "^1.0.1"
983 + }
984 + },
985 + "foreach": {
986 + "version": "2.0.5",
987 + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
988 + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
989 + "dev": true
990 + },
991 + "fs-constants": {
992 + "version": "1.0.0",
993 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
994 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
995 + "dev": true
996 + },
997 + "fs.realpath": {
998 + "version": "1.0.0",
999 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1000 + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1001 + "dev": true
1002 + },
1003 + "fsevents": {
1004 + "version": "1.2.4",
1005 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
1006 + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
1007 + "dev": true,
1008 + "optional": true,
1009 + "requires": {
1010 + "nan": "^2.9.2",
1011 + "node-pre-gyp": "^0.10.0"
1012 + },
1013 + "dependencies": {
1014 + "abbrev": {
1015 + "version": "1.1.1",
1016 + "bundled": true,
1017 + "dev": true,
1018 + "optional": true
1019 + },
1020 + "ansi-regex": {
1021 + "version": "2.1.1",
1022 + "bundled": true,
1023 + "dev": true
1024 + },
1025 + "aproba": {
1026 + "version": "1.2.0",
1027 + "bundled": true,
1028 + "dev": true,
1029 + "optional": true
1030 + },
1031 + "are-we-there-yet": {
1032 + "version": "1.1.4",
1033 + "bundled": true,
1034 + "dev": true,
1035 + "optional": true,
1036 + "requires": {
1037 + "delegates": "^1.0.0",
1038 + "readable-stream": "^2.0.6"
1039 + }
1040 + },
1041 + "balanced-match": {
1042 + "version": "1.0.0",
1043 + "bundled": true,
1044 + "dev": true
1045 + },
1046 + "brace-expansion": {
1047 + "version": "1.1.11",
1048 + "bundled": true,
1049 + "dev": true,
1050 + "requires": {
1051 + "balanced-match": "^1.0.0",
1052 + "concat-map": "0.0.1"
1053 + }
1054 + },
1055 + "chownr": {
1056 + "version": "1.0.1",
1057 + "bundled": true,
1058 + "dev": true,
1059 + "optional": true
1060 + },
1061 + "code-point-at": {
1062 + "version": "1.1.0",
1063 + "bundled": true,
1064 + "dev": true
1065 + },
1066 + "concat-map": {
1067 + "version": "0.0.1",
1068 + "bundled": true,
1069 + "dev": true
1070 + },
1071 + "console-control-strings": {
1072 + "version": "1.1.0",
1073 + "bundled": true,
1074 + "dev": true
1075 + },
1076 + "core-util-is": {
1077 + "version": "1.0.2",
1078 + "bundled": true,
1079 + "dev": true,
1080 + "optional": true
1081 + },
1082 + "debug": {
1083 + "version": "2.6.9",
1084 + "bundled": true,
1085 + "dev": true,
1086 + "optional": true,
1087 + "requires": {
1088 + "ms": "2.0.0"
1089 + }
1090 + },
1091 + "deep-extend": {
1092 + "version": "0.5.1",
1093 + "bundled": true,
1094 + "dev": true,
1095 + "optional": true
1096 + },
1097 + "delegates": {
1098 + "version": "1.0.0",
1099 + "bundled": true,
1100 + "dev": true,
1101 + "optional": true
1102 + },
1103 + "detect-libc": {
1104 + "version": "1.0.3",
1105 + "bundled": true,
1106 + "dev": true,
1107 + "optional": true
1108 + },
1109 + "fs-minipass": {
1110 + "version": "1.2.5",
1111 + "bundled": true,
1112 + "dev": true,
1113 + "optional": true,
1114 + "requires": {
1115 + "minipass": "^2.2.1"
1116 + }
1117 + },
1118 + "fs.realpath": {
1119 + "version": "1.0.0",
1120 + "bundled": true,
1121 + "dev": true,
1122 + "optional": true
1123 + },
1124 + "gauge": {
1125 + "version": "2.7.4",
1126 + "bundled": true,
1127 + "dev": true,
1128 + "optional": true,
1129 + "requires": {
1130 + "aproba": "^1.0.3",
1131 + "console-control-strings": "^1.0.0",
1132 + "has-unicode": "^2.0.0",
1133 + "object-assign": "^4.1.0",
1134 + "signal-exit": "^3.0.0",
1135 + "string-width": "^1.0.1",
1136 + "strip-ansi": "^3.0.1",
1137 + "wide-align": "^1.1.0"
1138 + }
1139 + },
1140 + "glob": {
1141 + "version": "7.1.2",
1142 + "bundled": true,
1143 + "dev": true,
1144 + "optional": true,
1145 + "requires": {
1146 + "fs.realpath": "^1.0.0",
1147 + "inflight": "^1.0.4",
1148 + "inherits": "2",
1149 + "minimatch": "^3.0.4",
1150 + "once": "^1.3.0",
1151 + "path-is-absolute": "^1.0.0"
1152 + }
1153 + },
1154 + "has-unicode": {
1155 + "version": "2.0.1",
1156 + "bundled": true,
1157 + "dev": true,
1158 + "optional": true
1159 + },
1160 + "iconv-lite": {
1161 + "version": "0.4.21",
1162 + "bundled": true,
1163 + "dev": true,
1164 + "optional": true,
1165 + "requires": {
1166 + "safer-buffer": "^2.1.0"
1167 + }
1168 + },
1169 + "ignore-walk": {
1170 + "version": "3.0.1",
1171 + "bundled": true,
1172 + "dev": true,
1173 + "optional": true,
1174 + "requires": {
1175 + "minimatch": "^3.0.4"
1176 + }
1177 + },
1178 + "inflight": {
1179 + "version": "1.0.6",
1180 + "bundled": true,
1181 + "dev": true,
1182 + "optional": true,
1183 + "requires": {
1184 + "once": "^1.3.0",
1185 + "wrappy": "1"
1186 + }
1187 + },
1188 + "inherits": {
1189 + "version": "2.0.3",
1190 + "bundled": true,
1191 + "dev": true
1192 + },
1193 + "ini": {
1194 + "version": "1.3.5",
1195 + "bundled": true,
1196 + "dev": true,
1197 + "optional": true
1198 + },
1199 + "is-fullwidth-code-point": {
1200 + "version": "1.0.0",
1201 + "bundled": true,
1202 + "dev": true,
1203 + "requires": {
1204 + "number-is-nan": "^1.0.0"
1205 + }
1206 + },
1207 + "isarray": {
1208 + "version": "1.0.0",
1209 + "bundled": true,
1210 + "dev": true,
1211 + "optional": true
1212 + },
1213 + "minimatch": {
1214 + "version": "3.0.4",
1215 + "bundled": true,
1216 + "dev": true,
1217 + "requires": {
1218 + "brace-expansion": "^1.1.7"
1219 + }
1220 + },
1221 + "minimist": {
1222 + "version": "0.0.8",
1223 + "bundled": true,
1224 + "dev": true
1225 + },
1226 + "minipass": {
1227 + "version": "2.2.4",
1228 + "bundled": true,
1229 + "dev": true,
1230 + "requires": {
1231 + "safe-buffer": "^5.1.1",
1232 + "yallist": "^3.0.0"
1233 + }
1234 + },
1235 + "minizlib": {
1236 + "version": "1.1.0",
1237 + "bundled": true,
1238 + "dev": true,
1239 + "optional": true,
1240 + "requires": {
1241 + "minipass": "^2.2.1"
1242 + }
1243 + },
1244 + "mkdirp": {
1245 + "version": "0.5.1",
1246 + "bundled": true,
1247 + "dev": true,
1248 + "requires": {
1249 + "minimist": "0.0.8"
1250 + }
1251 + },
1252 + "ms": {
1253 + "version": "2.0.0",
1254 + "bundled": true,
1255 + "dev": true,
1256 + "optional": true
1257 + },
1258 + "needle": {
1259 + "version": "2.2.0",
1260 + "bundled": true,
1261 + "dev": true,
1262 + "optional": true,
1263 + "requires": {
1264 + "debug": "^2.1.2",
1265 + "iconv-lite": "^0.4.4",
1266 + "sax": "^1.2.4"
1267 + }
1268 + },
1269 + "node-pre-gyp": {
1270 + "version": "0.10.0",
1271 + "bundled": true,
1272 + "dev": true,
1273 + "optional": true,
1274 + "requires": {
1275 + "detect-libc": "^1.0.2",
1276 + "mkdirp": "^0.5.1",
1277 + "needle": "^2.2.0",
1278 + "nopt": "^4.0.1",
1279 + "npm-packlist": "^1.1.6",
1280 + "npmlog": "^4.0.2",
1281 + "rc": "^1.1.7",
1282 + "rimraf": "^2.6.1",
1283 + "semver": "^5.3.0",
1284 + "tar": "^4"
1285 + }
1286 + },
1287 + "nopt": {
1288 + "version": "4.0.1",
1289 + "bundled": true,
1290 + "dev": true,
1291 + "optional": true,
1292 + "requires": {
1293 + "abbrev": "1",
1294 + "osenv": "^0.1.4"
1295 + }
1296 + },
1297 + "npm-bundled": {
1298 + "version": "1.0.3",
1299 + "bundled": true,
1300 + "dev": true,
1301 + "optional": true
1302 + },
1303 + "npm-packlist": {
1304 + "version": "1.1.10",
1305 + "bundled": true,
1306 + "dev": true,
1307 + "optional": true,
1308 + "requires": {
1309 + "ignore-walk": "^3.0.1",
1310 + "npm-bundled": "^1.0.1"
1311 + }
1312 + },
1313 + "npmlog": {
1314 + "version": "4.1.2",
1315 + "bundled": true,
1316 + "dev": true,
1317 + "optional": true,
1318 + "requires": {
1319 + "are-we-there-yet": "~1.1.2",
1320 + "console-control-strings": "~1.1.0",
1321 + "gauge": "~2.7.3",
1322 + "set-blocking": "~2.0.0"
1323 + }
1324 + },
1325 + "number-is-nan": {
1326 + "version": "1.0.1",
1327 + "bundled": true,
1328 + "dev": true
1329 + },
1330 + "object-assign": {
1331 + "version": "4.1.1",
1332 + "bundled": true,
1333 + "dev": true,
1334 + "optional": true
1335 + },
1336 + "once": {
1337 + "version": "1.4.0",
1338 + "bundled": true,
1339 + "dev": true,
1340 + "requires": {
1341 + "wrappy": "1"
1342 + }
1343 + },
1344 + "os-homedir": {
1345 + "version": "1.0.2",
1346 + "bundled": true,
1347 + "dev": true,
1348 + "optional": true
1349 + },
1350 + "os-tmpdir": {
1351 + "version": "1.0.2",
1352 + "bundled": true,
1353 + "dev": true,
1354 + "optional": true
1355 + },
1356 + "osenv": {
1357 + "version": "0.1.5",
1358 + "bundled": true,
1359 + "dev": true,
1360 + "optional": true,
1361 + "requires": {
1362 + "os-homedir": "^1.0.0",
1363 + "os-tmpdir": "^1.0.0"
1364 + }
1365 + },
1366 + "path-is-absolute": {
1367 + "version": "1.0.1",
1368 + "bundled": true,
1369 + "dev": true,
1370 + "optional": true
1371 + },
1372 + "process-nextick-args": {
1373 + "version": "2.0.0",
1374 + "bundled": true,
1375 + "dev": true,
1376 + "optional": true
1377 + },
1378 + "rc": {
1379 + "version": "1.2.7",
1380 + "bundled": true,
1381 + "dev": true,
1382 + "optional": true,
1383 + "requires": {
1384 + "deep-extend": "^0.5.1",
1385 + "ini": "~1.3.0",
1386 + "minimist": "^1.2.0",
1387 + "strip-json-comments": "~2.0.1"
1388 + },
1389 + "dependencies": {
1390 + "minimist": {
1391 + "version": "1.2.0",
1392 + "bundled": true,
1393 + "dev": true,
1394 + "optional": true
1395 + }
1396 + }
1397 + },
1398 + "readable-stream": {
1399 + "version": "2.3.6",
1400 + "bundled": true,
1401 + "dev": true,
1402 + "optional": true,
1403 + "requires": {
1404 + "core-util-is": "~1.0.0",
1405 + "inherits": "~2.0.3",
1406 + "isarray": "~1.0.0",
1407 + "process-nextick-args": "~2.0.0",
1408 + "safe-buffer": "~5.1.1",
1409 + "string_decoder": "~1.1.1",
1410 + "util-deprecate": "~1.0.1"
1411 + }
1412 + },
1413 + "rimraf": {
1414 + "version": "2.6.2",
1415 + "bundled": true,
1416 + "dev": true,
1417 + "optional": true,
1418 + "requires": {
1419 + "glob": "^7.0.5"
1420 + }
1421 + },
1422 + "safe-buffer": {
1423 + "version": "5.1.1",
1424 + "bundled": true,
1425 + "dev": true
1426 + },
1427 + "safer-buffer": {
1428 + "version": "2.1.2",
1429 + "bundled": true,
1430 + "dev": true,
1431 + "optional": true
1432 + },
1433 + "sax": {
1434 + "version": "1.2.4",
1435 + "bundled": true,
1436 + "dev": true,
1437 + "optional": true
1438 + },
1439 + "semver": {
1440 + "version": "5.5.0",
1441 + "bundled": true,
1442 + "dev": true,
1443 + "optional": true
1444 + },
1445 + "set-blocking": {
1446 + "version": "2.0.0",
1447 + "bundled": true,
1448 + "dev": true,
1449 + "optional": true
1450 + },
1451 + "signal-exit": {
1452 + "version": "3.0.2",
1453 + "bundled": true,
1454 + "dev": true,
1455 + "optional": true
1456 + },
1457 + "string-width": {
1458 + "version": "1.0.2",
1459 + "bundled": true,
1460 + "dev": true,
1461 + "requires": {
1462 + "code-point-at": "^1.0.0",
1463 + "is-fullwidth-code-point": "^1.0.0",
1464 + "strip-ansi": "^3.0.0"
1465 + }
1466 + },
1467 + "string_decoder": {
1468 + "version": "1.1.1",
1469 + "bundled": true,
1470 + "dev": true,
1471 + "optional": true,
1472 + "requires": {
1473 + "safe-buffer": "~5.1.0"
1474 + }
1475 + },
1476 + "strip-ansi": {
1477 + "version": "3.0.1",
1478 + "bundled": true,
1479 + "dev": true,
1480 + "requires": {
1481 + "ansi-regex": "^2.0.0"
1482 + }
1483 + },
1484 + "strip-json-comments": {
1485 + "version": "2.0.1",
1486 + "bundled": true,
1487 + "dev": true,
1488 + "optional": true
1489 + },
1490 + "tar": {
1491 + "version": "4.4.1",
1492 + "bundled": true,
1493 + "dev": true,
1494 + "optional": true,
1495 + "requires": {
1496 + "chownr": "^1.0.1",
1497 + "fs-minipass": "^1.2.5",
1498 + "minipass": "^2.2.4",
1499 + "minizlib": "^1.1.0",
1500 + "mkdirp": "^0.5.0",
1501 + "safe-buffer": "^5.1.1",
1502 + "yallist": "^3.0.2"
1503 + }
1504 + },
1505 + "util-deprecate": {
1506 + "version": "1.0.2",
1507 + "bundled": true,
1508 + "dev": true,
1509 + "optional": true
1510 + },
1511 + "wide-align": {
1512 + "version": "1.1.2",
1513 + "bundled": true,
1514 + "dev": true,
1515 + "optional": true,
1516 + "requires": {
1517 + "string-width": "^1.0.2"
1518 + }
1519 + },
1520 + "wrappy": {
1521 + "version": "1.0.2",
1522 + "bundled": true,
1523 + "dev": true
1524 + },
1525 + "yallist": {
1526 + "version": "3.0.2",
1527 + "bundled": true,
1528 + "dev": true
1529 + }
1530 + }
1531 + },
1532 + "function-bind": {
1533 + "version": "1.1.1",
1534 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1535 + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1536 + "dev": true
1537 + },
1538 + "gauge": {
1539 + "version": "2.7.4",
1540 + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
1541 + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
1542 + "dev": true,
1543 + "requires": {
1544 + "aproba": "^1.0.3",
1545 + "console-control-strings": "^1.0.0",
1546 + "has-unicode": "^2.0.0",
1547 + "object-assign": "^4.1.0",
1548 + "signal-exit": "^3.0.0",
1549 + "string-width": "^1.0.1",
1550 + "strip-ansi": "^3.0.1",
1551 + "wide-align": "^1.1.0"
1552 + }
1553 + },
1554 + "github-from-package": {
1555 + "version": "0.0.0",
1556 + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
1557 + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
1558 + "dev": true
1559 + },
1560 + "glob": {
1561 + "version": "6.0.4",
1562 + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
1563 + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
1564 + "dev": true,
1565 + "requires": {
1566 + "inflight": "^1.0.4",
1567 + "inherits": "2",
1568 + "minimatch": "2 || 3",
1569 + "once": "^1.3.0",
1570 + "path-is-absolute": "^1.0.0"
1571 + }
1572 + },
1573 + "glob-base": {
1574 + "version": "0.3.0",
1575 + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1576 + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1577 + "dev": true,
1578 + "requires": {
1579 + "glob-parent": "^2.0.0",
1580 + "is-glob": "^2.0.0"
1581 + }
1582 + },
1583 + "glob-parent": {
1584 + "version": "2.0.0",
1585 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1586 + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1587 + "dev": true,
1588 + "requires": {
1589 + "is-glob": "^2.0.0"
1590 + }
1591 + },
1592 + "globby": {
1593 + "version": "4.1.0",
1594 + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
1595 + "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
1596 + "dev": true,
1597 + "requires": {
1598 + "array-union": "^1.0.1",
1599 + "arrify": "^1.0.0",
1600 + "glob": "^6.0.1",
1601 + "object-assign": "^4.0.1",
1602 + "pify": "^2.0.0",
1603 + "pinkie-promise": "^2.0.0"
1604 + }
1605 + },
1606 + "graceful-fs": {
1607 + "version": "4.1.11",
1608 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1609 + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
1610 + "dev": true
1611 + },
1612 + "graphreduce": {
1613 + "version": "3.0.4",
1614 + "resolved": "https://registry.npmjs.org/graphreduce/-/graphreduce-3.0.4.tgz",
1615 + "integrity": "sha1-v0QtCoeOg5AeXvPmUtI/+1uDHtc=",
1616 + "dev": true,
1617 + "requires": {
1618 + "statistics": "^3.3.0"
1619 + }
1620 + },
1621 + "has": {
1622 + "version": "1.0.3",
1623 + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1624 + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1625 + "dev": true,
1626 + "requires": {
1627 + "function-bind": "^1.1.1"
1628 + }
1629 + },
1630 + "has-ansi": {
1631 + "version": "2.0.0",
1632 + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1633 + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1634 + "dev": true,
1635 + "requires": {
1636 + "ansi-regex": "^2.0.0"
1637 + }
1638 + },
1639 + "has-network": {
1640 + "version": "0.0.1",
1641 + "resolved": "https://registry.npmjs.org/has-network/-/has-network-0.0.1.tgz",
1642 + "integrity": "sha1-Pup7RMqpYBeXEkvouonSKMQQFJk=",
1643 + "dev": true
1644 + },
1645 + "has-unicode": {
1646 + "version": "2.0.1",
1647 + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
1648 + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
1649 + "dev": true
1650 + },
1651 + "hashlru": {
1652 + "version": "2.2.1",
1653 + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.2.1.tgz",
1654 + "integrity": "sha1-EPIJmg18BaQPK+r1wdOc8vfavzY=",
1655 + "dev": true
1656 + },
1657 + "he": {
1658 + "version": "0.5.0",
1659 + "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz",
1660 + "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=",
1661 + "dev": true
1662 + },
1663 + "hoox": {
1664 + "version": "0.0.1",
1665 + "resolved": "https://registry.npmjs.org/hoox/-/hoox-0.0.1.tgz",
1666 + "integrity": "sha1-CKdNknKpzIOujmu+AwPw7nZDIJQ=",
1667 + "dev": true
1668 + },
1669 + "increment-buffer": {
1670 + "version": "1.0.1",
1671 + "resolved": "https://registry.npmjs.org/increment-buffer/-/increment-buffer-1.0.1.tgz",
1672 + "integrity": "sha1-ZQdtdRidgIs5rROrW5WOBSFvng0=",
1673 + "dev": true
1674 + },
1675 + "inflight": {
1676 + "version": "1.0.6",
1677 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1678 + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1679 + "dev": true,
1680 + "requires": {
1681 + "once": "^1.3.0",
1682 + "wrappy": "1"
1683 + }
1684 + },
1685 + "inherits": {
1686 + "version": "2.0.3",
1687 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1688 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
1689 + "dev": true
1690 + },
1691 + "ini": {
1692 + "version": "1.3.5",
1693 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
1694 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
1695 + "dev": true
1696 + },
1697 + "int53": {
1698 + "version": "0.2.4",
1699 + "resolved": "https://registry.npmjs.org/int53/-/int53-0.2.4.tgz",
1700 + "integrity": "sha1-XtjXqtbFxlZ8rmmqf/xKEJ7oD4Y=",
1701 + "dev": true
1702 + },
1703 + "ip": {
1704 + "version": "0.3.3",
1705 + "resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz",
1706 + "integrity": "sha1-jugwnpLwsEDSh/cu+soaIXAtP7Q=",
1707 + "dev": true
1708 + },
1709 + "irregular-plurals": {
1710 + "version": "1.4.0",
1711 + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz",
1712 + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
1713 + "dev": true
1714 + },
1715 + "is-alphabetical": {
1716 + "version": "1.0.2",
1717 + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
1718 + "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
1719 + "dev": true
1720 + },
1721 + "is-alphanumerical": {
1722 + "version": "1.0.2",
1723 + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
1724 + "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
1725 + "dev": true,
1726 + "requires": {
1727 + "is-alphabetical": "^1.0.0",
1728 + "is-decimal": "^1.0.0"
1729 + }
1730 + },
1731 + "is-binary-path": {
1732 + "version": "1.0.1",
1733 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
1734 + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
1735 + "dev": true,
1736 + "requires": {
1737 + "binary-extensions": "^1.0.0"
1738 + }
1739 + },
1740 + "is-buffer": {
1741 + "version": "1.1.6",
1742 + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1743 + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1744 + "dev": true
1745 + },
1746 + "is-callable": {
1747 + "version": "1.1.3",
1748 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
1749 + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
1750 + "dev": true
1751 + },
1752 + "is-date-object": {
1753 + "version": "1.0.1",
1754 + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
1755 + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
1756 + "dev": true
1757 + },
1758 + "is-decimal": {
1759 + "version": "1.0.2",
1760 + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
1761 + "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
1762 + "dev": true
1763 + },
1764 + "is-dotfile": {
1765 + "version": "1.0.3",
1766 + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
1767 + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
1768 + "dev": true
1769 + },
1770 + "is-electron": {
1771 + "version": "2.1.0",
1772 + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.1.0.tgz",
1773 + "integrity": "sha512-dkg5xT383+M6zIbbXW/z7n2nz4SFUi2OSyhntnFYkRdtV+HVEfdjEK+5AWisfYgkpe3WYjTIuh7toaKmSfFVWw==",
1774 + "dev": true
1775 + },
1776 + "is-equal-shallow": {
1777 + "version": "0.1.3",
1778 + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
1779 + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
1780 + "dev": true,
1781 + "requires": {
1782 + "is-primitive": "^2.0.0"
1783 + }
1784 + },
1785 + "is-extendable": {
1786 + "version": "0.1.1",
1787 + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1788 + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1789 + "dev": true
1790 + },
1791 + "is-extglob": {
1792 + "version": "1.0.0",
1793 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1794 + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1795 + "dev": true
1796 + },
1797 + "is-fullwidth-code-point": {
1798 + "version": "1.0.0",
1799 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1800 + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1801 + "dev": true,
1802 + "requires": {
1803 + "number-is-nan": "^1.0.0"
1804 + }
1805 + },
1806 + "is-glob": {
1807 + "version": "2.0.1",
1808 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1809 + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1810 + "dev": true,
1811 + "requires": {
1812 + "is-extglob": "^1.0.0"
1813 + }
1814 + },
1815 + "is-hexadecimal": {
1816 + "version": "1.0.2",
1817 + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
1818 + "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
1819 + "dev": true
1820 + },
1821 + "is-number": {
1822 + "version": "2.1.0",
1823 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1824 + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1825 + "dev": true,
1826 + "requires": {
1827 + "kind-of": "^3.0.2"
1828 + }
1829 + },
1830 + "is-posix-bracket": {
1831 + "version": "0.1.1",
1832 + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
1833 + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
1834 + "dev": true
1835 + },
1836 + "is-primitive": {
1837 + "version": "2.0.0",
1838 + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
1839 + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
1840 + "dev": true
1841 + },
1842 + "is-regex": {
1843 + "version": "1.0.4",
1844 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
1845 + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
1846 + "dev": true,
1847 + "requires": {
1848 + "has": "^1.0.1"
1849 + }
1850 + },
1851 + "is-symbol": {
1852 + "version": "1.0.1",
1853 + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
1854 + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
1855 + "dev": true
1856 + },
1857 + "is-valid-domain": {
1858 + "version": "0.0.5",
1859 + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.0.5.tgz",
1860 + "integrity": "sha1-SOcDGfy0MAkjbpazf5hDiJzntRM=",
1861 + "dev": true
1862 + },
1863 + "isarray": {
1864 + "version": "1.0.0",
1865 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1866 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1867 + "dev": true
1868 + },
1869 + "isexe": {
1870 + "version": "2.0.0",
1871 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1872 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1873 + "dev": true
1874 + },
1875 + "isobject": {
1876 + "version": "2.1.0",
1877 + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1878 + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1879 + "dev": true,
1880 + "requires": {
1881 + "isarray": "1.0.0"
1882 + }
1883 + },
1884 + "json-buffer": {
1885 + "version": "2.0.11",
1886 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-2.0.11.tgz",
1887 + "integrity": "sha1-PkQf2jCYvo0eMXGtWRvGKjPi1V8=",
1888 + "dev": true
1889 + },
1890 + "kind-of": {
1891 + "version": "3.2.2",
1892 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1893 + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1894 + "dev": true,
1895 + "requires": {
1896 + "is-buffer": "^1.1.5"
1897 + }
1898 + },
1899 + "level": {
1900 + "version": "3.0.2",
1901 + "resolved": "https://registry.npmjs.org/level/-/level-3.0.2.tgz",
1902 + "integrity": "sha512-2qYbbiptPsPWGUI+AgB1gTNXqIjPpALRqrQyNx1zWYNZxhhuzEj/IE4Unu9weEBnsUEocfYe56xOGlAceb8/Fg==",
1903 + "dev": true,
1904 + "requires": {
1905 + "level-packager": "^2.0.2",
1906 + "leveldown": "^3.0.0",
1907 + "opencollective-postinstall": "^2.0.0"
1908 + }
1909 + },
1910 + "level-codec": {
1911 + "version": "6.2.0",
1912 + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-6.2.0.tgz",
1913 + "integrity": "sha1-pLUkS7akwvcj1oodZOmAxTYn2dQ=",
1914 + "dev": true
1915 + },
1916 + "level-errors": {
1917 + "version": "1.1.2",
1918 + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.1.2.tgz",
1919 + "integrity": "sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==",
1920 + "dev": true,
1921 + "requires": {
1922 + "errno": "~0.1.1"
1923 + }
1924 + },
1925 + "level-iterator-stream": {
1926 + "version": "2.0.1",
1927 + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.1.tgz",
1928 + "integrity": "sha512-GAHN00KMxAxyuBX7jdGAMnoOeVQOggRsJ0QJOtasnTVHgYHfvfwogXeROXHLWb/IJZWcR5a4BvSlrDNi2/RkUA==",
1929 + "dev": true,
1930 + "requires": {
1931 + "inherits": "^2.0.1",
1932 + "readable-stream": "^2.0.5",
1933 + "xtend": "^4.0.0"
1934 + }
1935 + },
1936 + "level-packager": {
1937 + "version": "2.1.1",
1938 + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-2.1.1.tgz",
1939 + "integrity": "sha512-6l3G6dVkmdvHwOJrEA9d9hL6SSFrzwjQoLP8HsvohOgfY/8Z9LyTKNCM5Gc84wtsUWCuIHu6r+S6WrCtTWUJCw==",
1940 + "dev": true,
1941 + "requires": {
1942 + "encoding-down": "~4.0.0",
1943 + "levelup": "^2.0.0"
1944 + }
1945 + },
1946 + "level-post": {
1947 + "version": "1.0.7",
1948 + "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz",
1949 + "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==",
1950 + "dev": true,
1951 + "requires": {
1952 + "ltgt": "^2.1.2"
1953 + }
1954 + },
1955 + "level-sublevel": {
1956 + "version": "6.6.2",
1957 + "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.2.tgz",
1958 + "integrity": "sha512-+hptqmFYPKFju9QG4F6scvx3ZXkhrSmmhYui+hPzRn/jiC3DJ6VNZRKsIhGMpeajVBWfRV7XiysUThrJ/7PgXQ==",
1959 + "dev": true,
1960 + "requires": {
1961 + "bytewise": "~1.1.0",
1962 + "levelup": "~0.19.0",
1963 + "ltgt": "~2.1.1",
1964 + "pull-defer": "^0.2.2",
1965 + "pull-level": "^2.0.3",
1966 + "pull-stream": "^3.6.8",
1967 + "typewiselite": "~1.0.0",
1968 + "xtend": "~4.0.0"
1969 + },
1970 + "dependencies": {
1971 + "abstract-leveldown": {
1972 + "version": "0.12.4",
1973 + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz",
1974 + "integrity": "sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=",
1975 + "dev": true,
1976 + "requires": {
1977 + "xtend": "~3.0.0"
1978 + },
1979 + "dependencies": {
1980 + "xtend": {
1981 + "version": "3.0.0",
1982 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
1983 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
1984 + "dev": true
1985 + }
1986 + }
1987 + },
1988 + "bl": {
1989 + "version": "0.8.2",
1990 + "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
1991 + "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
1992 + "dev": true,
1993 + "requires": {
1994 + "readable-stream": "~1.0.26"
1995 + }
1996 + },
1997 + "deferred-leveldown": {
1998 + "version": "0.2.0",
1999 + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz",
2000 + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=",
2001 + "dev": true,
2002 + "requires": {
2003 + "abstract-leveldown": "~0.12.1"
2004 + }
2005 + },
2006 + "isarray": {
2007 + "version": "0.0.1",
2008 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2009 + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2010 + "dev": true
2011 + },
2012 + "levelup": {
2013 + "version": "0.19.1",
2014 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz",
2015 + "integrity": "sha1-86anIFJyxLXzXkEv8ASgOgrt9Qs=",
2016 + "dev": true,
2017 + "requires": {
2018 + "bl": "~0.8.1",
2019 + "deferred-leveldown": "~0.2.0",
2020 + "errno": "~0.1.1",
2021 + "prr": "~0.0.0",
2022 + "readable-stream": "~1.0.26",
2023 + "semver": "~5.1.0",
2024 + "xtend": "~3.0.0"
2025 + },
2026 + "dependencies": {
2027 + "xtend": {
2028 + "version": "3.0.0",
2029 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
2030 + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
2031 + "dev": true
2032 + }
2033 + }
2034 + },
2035 + "ltgt": {
2036 + "version": "2.1.3",
2037 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz",
2038 + "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=",
2039 + "dev": true
2040 + },
2041 + "prr": {
2042 + "version": "0.0.0",
2043 + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
2044 + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
2045 + "dev": true
2046 + },
2047 + "readable-stream": {
2048 + "version": "1.0.34",
2049 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
2050 + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
2051 + "dev": true,
2052 + "requires": {
2053 + "core-util-is": "~1.0.0",
2054 + "inherits": "~2.0.1",
2055 + "isarray": "0.0.1",
2056 + "string_decoder": "~0.10.x"
2057 + }
2058 + },
2059 + "semver": {
2060 + "version": "5.1.1",
2061 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz",
2062 + "integrity": "sha1-oykqNz5vPgeY2gsgZBuanFvEfhk=",
2063 + "dev": true
2064 + },
2065 + "string_decoder": {
2066 + "version": "0.10.31",
2067 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2068 + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2069 + "dev": true
2070 + }
2071 + }
2072 + },
2073 + "leveldown": {
2074 + "version": "3.0.2",
2075 + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-3.0.2.tgz",
2076 + "integrity": "sha512-+ANRScj1npQQzv6e4DYAKRjVQZZ+ahMoubKrNP68nIq+l9bYgb+WiXF+14oTcQTg2f7qE9WHGW7rBG9nGSsA+A==",
2077 + "dev": true,
2078 + "requires": {
2079 + "abstract-leveldown": "~4.0.0",
2080 + "bindings": "~1.3.0",
2081 + "fast-future": "~1.0.2",
2082 + "nan": "~2.10.0",
2083 + "prebuild-install": "^4.0.0"
2084 + }
2085 + },
2086 + "levelup": {
2087 + "version": "2.0.2",
2088 + "resolved": "https://registry.npmjs.org/levelup/-/levelup-2.0.2.tgz",
2089 + "integrity": "sha512-us+nTLUyd/eLnclYYddOCdAVw1hnymGx/9p4Jr5ThohStsjLqMVmbYiz6/SYFZEPXNF+AKQSvh6fA2e2KZpC8w==",
2090 + "dev": true,
2091 + "requires": {
2092 + "deferred-leveldown": "~3.0.0",
2093 + "level-errors": "~1.1.0",
2094 + "level-iterator-stream": "~2.0.0",
2095 + "xtend": "~4.0.0"
2096 + }
2097 + },
2098 + "libnested": {
2099 + "version": "1.3.2",
2100 + "resolved": "https://registry.npmjs.org/libnested/-/libnested-1.3.2.tgz",
2101 + "integrity": "sha512-YvMQglpk/DyB8vFL5usJe6IZTqOU/fRopoUpoOt9TavYh5CaGdTp6zYqrA7DW8tHmZAr8fj+pDXbHBwlVrcVXQ=="
2102 + },
2103 + "libsodium": {
2104 + "version": "0.7.3",
2105 + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.3.tgz",
2106 + "integrity": "sha512-ld+deUNqSsZYbAobUs63UyduPq8ICp/Ul/5lbvBIYpuSNWpPRU0PIxbW+xXipVZtuopR6fIz9e0tTnNuPMNeqw==",
2107 + "dev": true
2108 + },
2109 + "libsodium-wrappers": {
2110 + "version": "0.7.3",
2111 + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.3.tgz",
2112 + "integrity": "sha512-dw5Jh6TZ5qc5rQVZe3JrSO/J05CE+DmAPnqD7Q2glBUE969xZ6o3fchnUxyPlp6ss3x0MFxmdJntveFN+XTg1g==",
2113 + "dev": true,
2114 + "requires": {
2115 + "libsodium": "0.7.3"
2116 + }
2117 + },
2118 + "log-symbols": {
2119 + "version": "1.0.2",
2120 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
2121 + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
2122 + "dev": true,
2123 + "requires": {
2124 + "chalk": "^1.0.0"
2125 + }
2126 + },
2127 + "log-update": {
2128 + "version": "1.0.2",
2129 + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz",
2130 + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=",
2131 + "dev": true,
2132 + "requires": {
2133 + "ansi-escapes": "^1.0.0",
2134 + "cli-cursor": "^1.0.2"
2135 + }
2136 + },
2137 + "longest-streak": {
2138 + "version": "1.0.0",
2139 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-1.0.0.tgz",
2140 + "integrity": "sha1-0GWXxNTDG1LMsfXY+P5xSOr9aWU=",
2141 + "dev": true
2142 + },
2143 + "looper": {
2144 + "version": "4.0.0",
2145 + "resolved": "https://registry.npmjs.org/looper/-/looper-4.0.0.tgz",
2146 + "integrity": "sha1-dwat7VmpntygbmtUu4bI7BnJUVU=",
2147 + "dev": true
2148 + },
2149 + "lossy-store": {
2150 + "version": "1.2.3",
2151 + "resolved": "https://registry.npmjs.org/lossy-store/-/lossy-store-1.2.3.tgz",
2152 + "integrity": "sha1-Vi4qkgPYZh9g6HEt5Af72t8nXck=",
2153 + "dev": true,
2154 + "requires": {
2155 + "mkdirp": "^0.5.1",
2156 + "tape": "^4.6.3"
2157 + }
2158 + },
2159 + "lru-cache": {
2160 + "version": "4.1.3",
2161 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
2162 + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
2163 + "dev": true,
2164 + "requires": {
2165 + "pseudomap": "^1.0.2",
2166 + "yallist": "^2.1.2"
2167 + }
2168 + },
2169 + "ltgt": {
2170 + "version": "2.2.1",
2171 + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
2172 + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=",
2173 + "dev": true
2174 + },
2175 + "map-filter-reduce": {
2176 + "version": "2.2.1",
2177 + "resolved": "https://registry.npmjs.org/map-filter-reduce/-/map-filter-reduce-2.2.1.tgz",
2178 + "integrity": "sha1-YysSfDrl1q2eIc/dlpG2O4lE/NI=",
2179 + "dev": true,
2180 + "requires": {
2181 + "binary-search": "^1.2.0",
2182 + "pull-sink-through": "0.0.0",
2183 + "pull-stream": "^3.3.0",
2184 + "typewiselite": "^1.0.0"
2185 + }
2186 + },
2187 + "map-merge": {
2188 + "version": "1.1.0",
2189 + "resolved": "https://registry.npmjs.org/map-merge/-/map-merge-1.1.0.tgz",
2190 + "integrity": "sha1-am/FjJXYqrRsK93kTVFbbuBvzjQ=",
2191 + "dev": true
2192 + },
2193 + "markdown-table": {
2194 + "version": "0.4.0",
2195 + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-0.4.0.tgz",
2196 + "integrity": "sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE=",
2197 + "dev": true
2198 + },
2199 + "math-random": {
2200 + "version": "1.0.1",
2201 + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
2202 + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
2203 + "dev": true
2204 + },
2205 + "mdmanifest": {
2206 + "version": "1.0.8",
2207 + "resolved": "https://registry.npmjs.org/mdmanifest/-/mdmanifest-1.0.8.tgz",
2208 + "integrity": "sha1-wEiRiDwoyDYC4dBrBaEQN+NZtMg=",
2209 + "dev": true,
2210 + "requires": {
2211 + "minimist": "^1.2.0",
2212 + "remark": "^3.2.2",
2213 + "remark-html": "^2.0.2",
2214 + "word-wrap": "^1.1.0"
2215 + }
2216 + },
2217 + "micromatch": {
2218 + "version": "2.3.11",
2219 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
2220 + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
2221 + "dev": true,
2222 + "requires": {
2223 + "arr-diff": "^2.0.0",
2224 + "array-unique": "^0.2.1",
2225 + "braces": "^1.8.2",
2226 + "expand-brackets": "^0.1.4",
2227 + "extglob": "^0.3.1",
2228 + "filename-regex": "^2.0.0",
2229 + "is-extglob": "^1.0.0",
2230 + "is-glob": "^2.0.1",
2231 + "kind-of": "^3.0.2",
2232 + "normalize-path": "^2.0.1",
2233 + "object.omit": "^2.0.0",
2234 + "parse-glob": "^3.0.4",
2235 + "regex-cache": "^0.4.2"
2236 + }
2237 + },
2238 + "mimic-response": {
2239 + "version": "1.0.0",
2240 + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz",
2241 + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=",
2242 + "dev": true
2243 + },
2244 + "minimatch": {
2245 + "version": "3.0.4",
2246 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2247 + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2248 + "dev": true,
2249 + "requires": {
2250 + "brace-expansion": "^1.1.7"
2251 + }
2252 + },
2253 + "minimist": {
2254 + "version": "1.2.0",
2255 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2256 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
2257 + "dev": true
2258 + },
2259 + "mkdirp": {
2260 + "version": "0.5.1",
2261 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2262 + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2263 + "dev": true,
2264 + "requires": {
2265 + "minimist": "0.0.8"
2266 + },
2267 + "dependencies": {
2268 + "minimist": {
2269 + "version": "0.0.8",
2270 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2271 + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
2272 + "dev": true
2273 + }
2274 + }
2275 + },
2276 + "monotonic-timestamp": {
2277 + "version": "0.0.9",
2278 + "resolved": "https://registry.npmjs.org/monotonic-timestamp/-/monotonic-timestamp-0.0.9.tgz",
2279 + "integrity": "sha1-W6Wtx6rIXh1853voRxYe0kazlgM=",
2280 + "dev": true
2281 + },
2282 + "ms": {
2283 + "version": "2.0.0",
2284 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2285 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2286 + "dev": true
2287 + },
2288 + "multiblob": {
2289 + "version": "1.13.0",
2290 + "resolved": "https://registry.npmjs.org/multiblob/-/multiblob-1.13.0.tgz",
2291 + "integrity": "sha1-4oTV5KlE5yS+4uOJbLMAfwaaQbs=",
2292 + "dev": true,
2293 + "requires": {
2294 + "blake2s": "~1.0.1",
2295 + "cont": "~1.0.1",
2296 + "explain-error": "~1.0.1",
2297 + "mkdirp": "~0.5.0",
2298 + "pull-cat": "^1.1.8",
2299 + "pull-defer": "^0.2.2",
2300 + "pull-file": "^0.5.0",
2301 + "pull-glob": "~1.0.6",
2302 + "pull-live": "^1.0.0",
2303 + "pull-notify": "^0.1.1",
2304 + "pull-paramap": "^1.2.2",
2305 + "pull-stream": "^3.6.2",
2306 + "pull-write-file": "^0.2.1",
2307 + "rc": "~0.5.4",
2308 + "rimraf": "~2.2.8",
2309 + "stream-to-pull-stream": "^1.7.2"
2310 + },
2311 + "dependencies": {
2312 + "deep-extend": {
2313 + "version": "0.2.11",
2314 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
2315 + "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
2316 + "dev": true
2317 + },
2318 + "minimist": {
2319 + "version": "0.0.10",
2320 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
2321 + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
2322 + "dev": true
2323 + },
2324 + "pull-file": {
2325 + "version": "0.5.0",
2326 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
2327 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
2328 + "dev": true,
2329 + "requires": {
2330 + "pull-utf8-decoder": "^1.0.2"
2331 + }
2332 + },
2333 + "rc": {
2334 + "version": "0.5.5",
2335 + "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz",
2336 + "integrity": "sha1-VBzDMA9GS23+ZDLXVvDy3T6esZk=",
2337 + "dev": true,
2338 + "requires": {
2339 + "deep-extend": "~0.2.5",
2340 + "ini": "~1.3.0",
2341 + "minimist": "~0.0.7",
2342 + "strip-json-comments": "0.1.x"
2343 + }
2344 + },
2345 + "rimraf": {
2346 + "version": "2.2.8",
2347 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
2348 + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
2349 + "dev": true
2350 + },
2351 + "strip-json-comments": {
2352 + "version": "0.1.3",
2353 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
2354 + "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
2355 + "dev": true
2356 + }
2357 + }
2358 + },
2359 + "multiblob-http": {
2360 + "version": "0.4.2",
2361 + "resolved": "https://registry.npmjs.org/multiblob-http/-/multiblob-http-0.4.2.tgz",
2362 + "integrity": "sha512-hVaXryaqJ3vvKjRNcOCEadzgO99nR+haxlptswr3vRvgavbK/Y/I7/Nat12WIQno2/A8+nkbE+ZcrsN3UDbtQw==",
2363 + "dev": true,
2364 + "requires": {
2365 + "pull-stream": "^3.4.3",
2366 + "stream-to-pull-stream": "^1.7.0"
2367 + }
2368 + },
2369 + "multicb": {
2370 + "version": "1.2.2",
2371 + "resolved": "https://registry.npmjs.org/multicb/-/multicb-1.2.2.tgz",
2372 + "integrity": "sha512-PZM4dhYFmCF6uZGWpEmoPMUqJBywS9IcAgybT2GmSpYI1BvGvoWSdbio+ik+q/YD2vodhvslESWIS3NnkKYdqQ==",
2373 + "dev": true
2374 + },
2375 + "multiserver": {
2376 + "version": "1.12.0",
2377 + "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-1.12.0.tgz",
2378 + "integrity": "sha512-vyoVDqxiJabvepIKYN2+lYcPDcV5/de54kWXg1nYa1VK0NMJZ+gVIS6bLnQ9FmNzOxpCmVrVOkaQ0pMlMic5Ow==",
2379 + "dev": true,
2380 + "requires": {
2381 + "pull-cat": "~1.1.5",
2382 + "pull-stream": "^3.6.1",
2383 + "pull-ws": "^3.3.0",
2384 + "secret-handshake": "^1.1.12",
2385 + "separator-escape": "0.0.0",
2386 + "socks": "1.1.9",
2387 + "stream-to-pull-stream": "^1.7.2"
2388 + }
2389 + },
2390 + "mutant": {
2391 + "version": "3.22.1",
2392 + "resolved": "https://registry.npmjs.org/mutant/-/mutant-3.22.1.tgz",
2393 + "integrity": "sha1-kEh1RvcAs8KKqApD0c99M48wdYE=",
2394 + "requires": {
2395 + "browser-split": "0.0.1",
2396 + "xtend": "^4.0.1"
2397 + }
2398 + },
2399 + "muxrpc": {
2400 + "version": "6.4.0",
2401 + "resolved": "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.0.tgz",
2402 + "integrity": "sha1-JPfaBpvUYpsHfpk7BXeUKyaI6ug=",
2403 + "dev": true,
2404 + "requires": {
2405 + "explain-error": "^1.0.1",
2406 + "packet-stream": "~2.0.0",
2407 + "packet-stream-codec": "^1.1.1",
2408 + "pull-goodbye": "~0.0.1",
2409 + "pull-stream": "^3.2.3"
2410 + }
2411 + },
2412 + "muxrpc-validation": {
2413 + "version": "2.0.1",
2414 + "resolved": "https://registry.npmjs.org/muxrpc-validation/-/muxrpc-validation-2.0.1.tgz",
2415 + "integrity": "sha1-zWUNFyAl/p0GQjCqs4ymMo3Rby8=",
2416 + "dev": true,
2417 + "requires": {
2418 + "pull-stream": "^2.28.3",
2419 + "zerr": "^1.0.1"
2420 + },
2421 + "dependencies": {
2422 + "pull-stream": {
2423 + "version": "2.28.4",
2424 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
2425 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
2426 + "dev": true,
2427 + "requires": {
2428 + "pull-core": "~1.1.0"
2429 + }
2430 + }
2431 + }
2432 + },
2433 + "muxrpcli": {
2434 + "version": "1.1.0",
2435 + "resolved": "https://registry.npmjs.org/muxrpcli/-/muxrpcli-1.1.0.tgz",
2436 + "integrity": "sha1-Sum6mGq4JcSlwS/LccbaqB6rUVg=",
2437 + "dev": true,
2438 + "requires": {
2439 + "minimist": "^1.2.0",
2440 + "pull-stream": "^2.28.3",
2441 + "stream-to-pull-stream": "^1.6.6",
2442 + "word-wrap": "^1.1.0"
2443 + },
2444 + "dependencies": {
2445 + "pull-stream": {
2446 + "version": "2.28.4",
2447 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-2.28.4.tgz",
2448 + "integrity": "sha1-fql0E8FhnCC8O9+eEOkTR7AyU+Q=",
2449 + "dev": true,
2450 + "requires": {
2451 + "pull-core": "~1.1.0"
2452 + }
2453 + }
2454 + }
2455 + },
2456 + "mv": {
2457 + "version": "2.1.1",
2458 + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
2459 + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
2460 + "dev": true,
2461 + "requires": {
2462 + "mkdirp": "~0.5.1",
2463 + "ncp": "~2.0.0",
2464 + "rimraf": "~2.4.0"
2465 + },
2466 + "dependencies": {
2467 + "rimraf": {
2468 + "version": "2.4.5",
2469 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
2470 + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
2471 + "dev": true,
2472 + "requires": {
2473 + "glob": "^6.0.1"
2474 + }
2475 + }
2476 + }
2477 + },
2478 + "nan": {
2479 + "version": "2.10.0",
2480 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
2481 + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
2482 + "dev": true
2483 + },
2484 + "ncp": {
2485 + "version": "2.0.0",
2486 + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
2487 + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
2488 + "dev": true
2489 + },
2490 + "node-abi": {
2491 + "version": "2.4.1",
2492 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.1.tgz",
2493 + "integrity": "sha512-pUlswqpHQ7zGPI9lGjZ4XDNIEUDbHxsltfIRb7dTnYdhgHWHOcB0MLZKLoCz6UMcGzSPG5wGl1HODZVQAUsH6w==",
2494 + "dev": true,
2495 + "requires": {
2496 + "semver": "^5.4.1"
2497 + }
2498 + },
2499 + "node-gyp-build": {
2500 + "version": "3.3.0",
2501 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.3.0.tgz",
2502 + "integrity": "sha512-SNtBzznpPggc7mY8XTfnYBywd9OGN99bwnxGKFqud9erYJMbwnJn6B8HXER2dy8iOYr6Nf2SzBQoJjV8gdM4Nw==",
2503 + "dev": true,
2504 + "optional": true
2505 + },
2506 + "non-private-ip": {
2507 + "version": "1.4.4",
2508 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.4.tgz",
2509 + "integrity": "sha512-K9nTVFOGUOYutaG8ywiKpCdVu458RFxSgSJ0rribUxtf5iLM9B2+raFJgkID3p5op0+twmoQqFaPnu9KYz6qzg==",
2510 + "dev": true,
2511 + "requires": {
2512 + "ip": "^1.1.5"
2513 + },
2514 + "dependencies": {
2515 + "ip": {
2516 + "version": "1.1.5",
2517 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
2518 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
2519 + "dev": true
2520 + }
2521 + }
2522 + },
2523 + "noop-logger": {
2524 + "version": "0.1.1",
2525 + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
2526 + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
2527 + "dev": true
2528 + },
2529 + "normalize-path": {
2530 + "version": "2.1.1",
2531 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2532 + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2533 + "dev": true,
2534 + "requires": {
2535 + "remove-trailing-separator": "^1.0.1"
2536 + }
2537 + },
2538 + "normalize-uri": {
2539 + "version": "1.1.1",
2540 + "resolved": "https://registry.npmjs.org/normalize-uri/-/normalize-uri-1.1.1.tgz",
2541 + "integrity": "sha512-bui9/kzRGymbkxJsZEBZgDHK2WJWGOHzR0pCr404EpkpVFTkCOYaRwQTlehUE+7oI70mWNENncCWqUxT/icfHw==",
2542 + "dev": true
2543 + },
2544 + "npm-prefix": {
2545 + "version": "1.2.0",
2546 + "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz",
2547 + "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=",
2548 + "dev": true,
2549 + "requires": {
2550 + "rc": "^1.1.0",
2551 + "shellsubstitute": "^1.1.0",
2552 + "untildify": "^2.1.0"
2553 + }
2554 + },
2555 + "npmlog": {
2556 + "version": "4.1.2",
2557 + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
2558 + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
2559 + "dev": true,
2560 + "requires": {
2561 + "are-we-there-yet": "~1.1.2",
2562 + "console-control-strings": "~1.1.0",
2563 + "gauge": "~2.7.3",
2564 + "set-blocking": "~2.0.0"
2565 + }
2566 + },
2567 + "number-is-nan": {
2568 + "version": "1.0.1",
2569 + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2570 + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
2571 + "dev": true
2572 + },
2573 + "object-assign": {
2574 + "version": "4.1.1",
2575 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2576 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
2577 + "dev": true
2578 + },
2579 + "object-inspect": {
2580 + "version": "1.6.0",
2581 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
2582 + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
2583 + "dev": true
2584 + },
2585 + "object-keys": {
2586 + "version": "1.0.11",
2587 + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
2588 + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
2589 + "dev": true
2590 + },
2591 + "object.omit": {
2592 + "version": "2.0.1",
2593 + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
2594 + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
2595 + "dev": true,
2596 + "requires": {
2597 + "for-own": "^0.1.4",
2598 + "is-extendable": "^0.1.1"
2599 + }
2600 + },
2601 + "observ": {
2602 + "version": "0.2.0",
2603 + "resolved": "https://registry.npmjs.org/observ/-/observ-0.2.0.tgz",
2604 + "integrity": "sha1-C8ObPin6pfnmyqWQbLg5LfQAqmg=",
2605 + "dev": true
2606 + },
2607 + "observ-debounce": {
2608 + "version": "1.1.1",
2609 + "resolved": "https://registry.npmjs.org/observ-debounce/-/observ-debounce-1.1.1.tgz",
2610 + "integrity": "sha1-ME6XyFrdpw7NfwjaRQZ475Dwtwc=",
2611 + "dev": true,
2612 + "requires": {
2613 + "observ": "~0.2.0"
2614 + }
2615 + },
2616 + "obv": {
2617 + "version": "0.0.1",
2618 + "resolved": "https://registry.npmjs.org/obv/-/obv-0.0.1.tgz",
2619 + "integrity": "sha1-yyNhBjQVNvDaxIFeBnCCIcrX+14=",
2620 + "dev": true
2621 + },
2622 + "on-change-network": {
2623 + "version": "0.0.2",
2624 + "resolved": "https://registry.npmjs.org/on-change-network/-/on-change-network-0.0.2.tgz",
2625 + "integrity": "sha1-2XcklHf5FyaUnYDoI0batu9FIWs=",
2626 + "dev": true
2627 + },
2628 + "on-wakeup": {
2629 + "version": "1.0.1",
2630 + "resolved": "https://registry.npmjs.org/on-wakeup/-/on-wakeup-1.0.1.tgz",
2631 + "integrity": "sha1-ANedmH3efIEXvudLtJA/b22vpSs=",
2632 + "dev": true
2633 + },
2634 + "once": {
2635 + "version": "1.4.0",
2636 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2637 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2638 + "dev": true,
2639 + "requires": {
2640 + "wrappy": "1"
2641 + }
2642 + },
2643 + "onetime": {
2644 + "version": "1.1.0",
2645 + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
2646 + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
2647 + "dev": true
2648 + },
2649 + "opencollective-postinstall": {
2650 + "version": "2.0.0",
2651 + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.0.tgz",
2652 + "integrity": "sha512-XAe80GycLe2yRGnJsUtt+EO5lk06XYRQt4kJJe53O2kJHPZJOZ+XMF/b47HW96e6LhfKVpwnXVr/s56jhV98jg==",
2653 + "dev": true
2654 + },
2655 + "options": {
2656 + "version": "0.0.6",
2657 + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
2658 + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
2659 + "dev": true
2660 + },
2661 + "os-homedir": {
2662 + "version": "1.0.2",
2663 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2664 + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
2665 + "dev": true
2666 + },
2667 + "os-tmpdir": {
2668 + "version": "1.0.2",
2669 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2670 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2671 + "dev": true
2672 + },
2673 + "osenv": {
2674 + "version": "0.1.5",
2675 + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
2676 + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
2677 + "dev": true,
2678 + "requires": {
2679 + "os-homedir": "^1.0.0",
2680 + "os-tmpdir": "^1.0.0"
2681 + }
2682 + },
2683 + "packet-stream": {
2684 + "version": "2.0.4",
2685 + "resolved": "https://registry.npmjs.org/packet-stream/-/packet-stream-2.0.4.tgz",
2686 + "integrity": "sha512-7+oxHdMMs6VhLvvbrDUc8QNuelE9fPKLDdToXBIKLPKOlnoBeMim+/35edp+AnFTLzk3xcogVvQ/jrZyyGsEiw==",
2687 + "dev": true
2688 + },
2689 + "packet-stream-codec": {
2690 + "version": "1.1.2",
2691 + "resolved": "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.2.tgz",
2692 + "integrity": "sha1-ebMC/BRM37tKtv66cEDmpdmcecc=",
2693 + "dev": true,
2694 + "requires": {
2695 + "pull-reader": "^1.2.4",
2696 + "pull-through": "^1.0.17"
2697 + }
2698 + },
2699 + "parse-entities": {
2700 + "version": "1.1.2",
2701 + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz",
2702 + "integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==",
2703 + "dev": true,
2704 + "requires": {
2705 + "character-entities": "^1.0.0",
2706 + "character-entities-legacy": "^1.0.0",
2707 + "character-reference-invalid": "^1.0.0",
2708 + "is-alphanumerical": "^1.0.0",
2709 + "is-decimal": "^1.0.0",
2710 + "is-hexadecimal": "^1.0.0"
2711 + }
2712 + },
2713 + "parse-glob": {
2714 + "version": "3.0.4",
2715 + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
2716 + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
2717 + "dev": true,
2718 + "requires": {
2719 + "glob-base": "^0.3.0",
2720 + "is-dotfile": "^1.0.0",
2721 + "is-extglob": "^1.0.0",
2722 + "is-glob": "^2.0.0"
2723 + }
2724 + },
2725 + "path-is-absolute": {
2726 + "version": "1.0.1",
2727 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2728 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2729 + "dev": true
2730 + },
2731 + "path-parse": {
2732 + "version": "1.0.5",
2733 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
2734 + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
2735 + "dev": true
2736 + },
2737 + "pify": {
2738 + "version": "2.3.0",
2739 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2740 + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
2741 + "dev": true
2742 + },
2743 + "pinkie": {
2744 + "version": "2.0.4",
2745 + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2746 + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
2747 + "dev": true
2748 + },
2749 + "pinkie-promise": {
2750 + "version": "2.0.1",
2751 + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2752 + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
2753 + "dev": true,
2754 + "requires": {
2755 + "pinkie": "^2.0.0"
2756 + }
2757 + },
2758 + "plur": {
2759 + "version": "2.1.2",
2760 + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
2761 + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
2762 + "dev": true,
2763 + "requires": {
2764 + "irregular-plurals": "^1.0.0"
2765 + }
2766 + },
2767 + "prebuild-install": {
2768 + "version": "4.0.0",
2769 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
2770 + "integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
2771 + "dev": true,
2772 + "requires": {
2773 + "detect-libc": "^1.0.3",
2774 + "expand-template": "^1.0.2",
2775 + "github-from-package": "0.0.0",
2776 + "minimist": "^1.2.0",
2777 + "mkdirp": "^0.5.1",
2778 + "node-abi": "^2.2.0",
2779 + "noop-logger": "^0.1.1",
2780 + "npmlog": "^4.0.1",
2781 + "os-homedir": "^1.0.1",
2782 + "pump": "^2.0.1",
2783 + "rc": "^1.1.6",
2784 + "simple-get": "^2.7.0",
2785 + "tar-fs": "^1.13.0",
2786 + "tunnel-agent": "^0.6.0",
2787 + "which-pm-runs": "^1.0.0"
2788 + }
2789 + },
2790 + "preserve": {
2791 + "version": "0.2.0",
2792 + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
2793 + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
2794 + "dev": true
2795 + },
2796 + "private-box": {
2797 + "version": "0.2.1",
2798 + "resolved": "https://registry.npmjs.org/private-box/-/private-box-0.2.1.tgz",
2799 + "integrity": "sha1-HfBhr8pbMDnH/qrdDa8PVvB+PsA=",
2800 + "dev": true,
2801 + "requires": {
2802 + "chloride": "^2.2.1"
2803 + }
2804 + },
2805 + "process-nextick-args": {
2806 + "version": "2.0.0",
2807 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
2808 + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
2809 + "dev": true
2810 + },
2811 + "prr": {
2812 + "version": "1.0.1",
2813 + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
2814 + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
2815 + "dev": true
2816 + },
2817 + "pseudomap": {
2818 + "version": "1.0.2",
2819 + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
2820 + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
2821 + "dev": true
2822 + },
2823 + "pull-abortable": {
2824 + "version": "4.1.1",
2825 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz",
2826 + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE=",
2827 + "dev": true
2828 + },
2829 + "pull-box-stream": {
2830 + "version": "1.0.13",
2831 + "resolved": "https://registry.npmjs.org/pull-box-stream/-/pull-box-stream-1.0.13.tgz",
2832 + "integrity": "sha1-w+JAOY6rP1lRsu0QeMWYi/egork=",
2833 + "dev": true,
2834 + "requires": {
2835 + "chloride": "^2.2.7",
2836 + "increment-buffer": "~1.0.0",
2837 + "pull-reader": "^1.2.5",
2838 + "pull-stream": "^3.2.3",
2839 + "pull-through": "^1.0.18",
2840 + "split-buffer": "~1.0.0"
2841 + }
2842 + },
2843 + "pull-cat": {
2844 + "version": "1.1.11",
2845 + "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
2846 + "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=",
2847 + "dev": true
2848 + },
2849 + "pull-cont": {
2850 + "version": "0.0.0",
2851 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.0.0.tgz",
2852 + "integrity": "sha1-P6xIuBrJe3W6ATMgiLDOevjBvg4=",
2853 + "dev": true
2854 + },
2855 + "pull-core": {
2856 + "version": "1.1.0",
2857 + "resolved": "https://registry.npmjs.org/pull-core/-/pull-core-1.1.0.tgz",
2858 + "integrity": "sha1-PYEn1trBR1cFyYAJYfWdZsgEbIo=",
2859 + "dev": true
2860 + },
2861 + "pull-cursor": {
2862 + "version": "3.0.0",
2863 + "resolved": "https://registry.npmjs.org/pull-cursor/-/pull-cursor-3.0.0.tgz",
2864 + "integrity": "sha512-95lZVSF2eSEdOmUtlOBaD9p5YOvlYeCr5FBv2ySqcj/4rpaXI6d8OH+zPHHjKAf58R8QXJRZuyfHkcCX8TZbAg==",
2865 + "dev": true,
2866 + "requires": {
2867 + "looper": "^4.0.0",
2868 + "ltgt": "^2.2.0",
2869 + "pull-stream": "^3.6.0"
2870 + }
2871 + },
2872 + "pull-defer": {
2873 + "version": "0.2.2",
2874 + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.2.tgz",
2875 + "integrity": "sha1-CIew/7MK8ypW2+z6csFnInHwexM="
2876 + },
2877 + "pull-file": {
2878 + "version": "1.1.0",
2879 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.1.0.tgz",
2880 + "integrity": "sha1-HdmHYF1jV6DSPB5Lgm95FaIVEpw=",
2881 + "dev": true,
2882 + "requires": {
2883 + "pull-utf8-decoder": "^1.0.2"
2884 + }
2885 + },
2886 + "pull-flatmap": {
2887 + "version": "0.0.1",
2888 + "resolved": "https://registry.npmjs.org/pull-flatmap/-/pull-flatmap-0.0.1.tgz",
2889 + "integrity": "sha1-E9SURT6PbUeOe7+t5vj+AZf6a7c=",
2890 + "dev": true
2891 + },
2892 + "pull-fs": {
2893 + "version": "1.1.6",
2894 + "resolved": "https://registry.npmjs.org/pull-fs/-/pull-fs-1.1.6.tgz",
2895 + "integrity": "sha1-8YT2p3KLtNlWQTdr6tafb2bfR80=",
2896 + "dev": true,
2897 + "requires": {
2898 + "pull-file": "^0.5.0",
2899 + "pull-stream": "^3.3.0",
2900 + "pull-traverse": "^1.0.3",
2901 + "pull-write-file": "^0.2.1"
2902 + },
2903 + "dependencies": {
2904 + "pull-file": {
2905 + "version": "0.5.0",
2906 + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz",
2907 + "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=",
2908 + "dev": true,
2909 + "requires": {
2910 + "pull-utf8-decoder": "^1.0.2"
2911 + }
2912 + }
2913 + }
2914 + },
2915 + "pull-glob": {
2916 + "version": "1.0.7",
2917 + "resolved": "https://registry.npmjs.org/pull-glob/-/pull-glob-1.0.7.tgz",
2918 + "integrity": "sha1-7vkV3eZEvdvqjdLgEG1USqy81cI=",
2919 + "dev": true,
2920 + "requires": {
2921 + "pull-fs": "~1.1.6",
2922 + "pull-stream": "^3.3.0"
2923 + }
2924 + },
2925 + "pull-goodbye": {
2926 + "version": "0.0.2",
2927 + "resolved": "https://registry.npmjs.org/pull-goodbye/-/pull-goodbye-0.0.2.tgz",
2928 + "integrity": "sha1-jYNX21XiKnEN//DxaoyQtF7+QXE=",
2929 + "dev": true,
2930 + "requires": {
2931 + "pull-stream": "~3.5.0"
2932 + },
2933 + "dependencies": {
2934 + "pull-stream": {
2935 + "version": "3.5.0",
2936 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.5.0.tgz",
2937 + "integrity": "sha1-HuW292/Ts6SaWvtt7VwDIKyzz8c=",
2938 + "dev": true
2939 + }
2940 + }
2941 + },
2942 + "pull-handshake": {
2943 + "version": "1.1.4",
2944 + "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz",
2945 + "integrity": "sha1-YACg/QGIhM39c3JU+Mxgqypjd5E=",
2946 + "dev": true,
2947 + "requires": {
2948 + "pull-cat": "^1.1.9",
2949 + "pull-pair": "~1.1.0",
2950 + "pull-pushable": "^2.0.0",
2951 + "pull-reader": "^1.2.3"
2952 + }
2953 + },
2954 + "pull-hash": {
2955 + "version": "1.0.0",
2956 + "resolved": "https://registry.npmjs.org/pull-hash/-/pull-hash-1.0.0.tgz",
2957 + "integrity": "sha1-/K1NJQe/LCsyMfZT3Jv7LbTw2Iw=",
2958 + "dev": true
2959 + },
2960 + "pull-inactivity": {
2961 + "version": "2.1.2",
2962 + "resolved": "https://registry.npmjs.org/pull-inactivity/-/pull-inactivity-2.1.2.tgz",
2963 + "integrity": "sha1-N6PW67+sKSzUNfXkgeUHTIwfrXU=",
2964 + "dev": true,
2965 + "requires": {
2966 + "pull-abortable": "~4.0.0",
2967 + "pull-stream": "^3.4.5"
2968 + },
2969 + "dependencies": {
2970 + "pull-abortable": {
2971 + "version": "4.0.0",
2972 + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.0.0.tgz",
2973 + "integrity": "sha1-cBephMO4NN53usOMELd28i38GEM=",
2974 + "dev": true
2975 + }
2976 + }
2977 + },
2978 + "pull-level": {
2979 + "version": "2.0.4",
2980 + "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz",
2981 + "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==",
2982 + "dev": true,
2983 + "requires": {
2984 + "level-post": "^1.0.7",
2985 + "pull-cat": "^1.1.9",
2986 + "pull-live": "^1.0.1",
2987 + "pull-pushable": "^2.0.0",
2988 + "pull-stream": "^3.4.0",
2989 + "pull-window": "^2.1.4",
2990 + "stream-to-pull-stream": "^1.7.1"
2991 + }
2992 + },
2993 + "pull-live": {
2994 + "version": "1.0.1",
2995 + "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz",
2996 + "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=",
2997 + "dev": true,
2998 + "requires": {
2999 + "pull-cat": "^1.1.9",
3000 + "pull-stream": "^3.4.0"
3001 + }
3002 + },
3003 + "pull-looper": {
3004 + "version": "1.0.0",
3005 + "resolved": "https://registry.npmjs.org/pull-looper/-/pull-looper-1.0.0.tgz",
3006 + "integrity": "sha512-djlD60A6NGe5goLdP5pgbqzMEiWmk1bInuAzBp0QOH4vDrVwh05YDz6UP8+pOXveKEk8wHVP+rB2jBrK31QMPA==",
3007 + "dev": true,
3008 + "requires": {
3009 + "looper": "^4.0.0"
3010 + }
3011 + },
3012 + "pull-many": {
3013 + "version": "1.0.8",
3014 + "resolved": "https://registry.npmjs.org/pull-many/-/pull-many-1.0.8.tgz",
3015 + "integrity": "sha1-Pa3ZttFWxUVyG9qNAAPdjqoGKT4=",
3016 + "dev": true,
3017 + "requires": {
3018 + "pull-stream": "^3.4.5"
3019 + }
3020 + },
3021 + "pull-next": {
3022 + "version": "1.0.1",
3023 + "resolved": "https://registry.npmjs.org/pull-next/-/pull-next-1.0.1.tgz",
3024 + "integrity": "sha1-A/TX0Zhy/BEUFh6I227PTGXmHlY=",
3025 + "dev": true
3026 + },
3027 + "pull-notify": {
3028 + "version": "0.1.1",
3029 + "resolved": "https://registry.npmjs.org/pull-notify/-/pull-notify-0.1.1.tgz",
3030 + "integrity": "sha1-b4b/ldJwuJw+vyVbYDG3Ay3JnMo=",
3031 + "dev": true,
3032 + "requires": {
3033 + "pull-pushable": "^2.0.0"
3034 + }
3035 + },
3036 + "pull-pair": {
3037 + "version": "1.1.0",
3038 + "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz",
3039 + "integrity": "sha1-fuQnJj/fTaglOXrAoF4atLdL120=",
3040 + "dev": true
3041 + },
3042 + "pull-paramap": {
3043 + "version": "1.2.2",
3044 + "resolved": "https://registry.npmjs.org/pull-paramap/-/pull-paramap-1.2.2.tgz",
3045 + "integrity": "sha1-UaQZPOnI1yFdla2tReK824STsjo=",
3046 + "dev": true,
3047 + "requires": {
3048 + "looper": "^4.0.0"
3049 + }
3050 + },
3051 + "pull-ping": {
3052 + "version": "2.0.2",
3053 + "resolved": "https://registry.npmjs.org/pull-ping/-/pull-ping-2.0.2.tgz",
3054 + "integrity": "sha1-e8SjQBZ9rYj2gqGWxjSFc1x6CJQ=",
3055 + "dev": true,
3056 + "requires": {
3057 + "pull-pushable": "^2.0.0",
3058 + "pull-stream": "^3.4.5",
3059 + "statistics": "^3.3.0"
3060 + }
3061 + },
3062 + "pull-pushable": {
3063 + "version": "2.2.0",
3064 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz",
3065 + "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=",
3066 + "dev": true
3067 + },
3068 + "pull-rate": {
3069 + "version": "1.0.2",
3070 + "resolved": "https://registry.npmjs.org/pull-rate/-/pull-rate-1.0.2.tgz",
3071 + "integrity": "sha1-F7IxrV81n2dYJmcBcrDlkMiWTo0=",
3072 + "dev": true,
3073 + "requires": {
3074 + "pull-stream": "^3.6.0"
3075 + }
3076 + },
3077 + "pull-reader": {
3078 + "version": "1.2.9",
3079 + "resolved": "https://registry.npmjs.org/pull-reader/-/pull-reader-1.2.9.tgz",
3080 + "integrity": "sha1-0umtALz7VOYqpm1Cwtu8tetoQ7A=",
3081 + "dev": true
3082 + },
3083 + "pull-sink-through": {
3084 + "version": "0.0.0",
3085 + "resolved": "https://registry.npmjs.org/pull-sink-through/-/pull-sink-through-0.0.0.tgz",
3086 + "integrity": "sha1-08BJLzqAtO0gSvZ8S0+TVoD8Wx8=",
3087 + "dev": true
3088 + },
3089 + "pull-stream": {
3090 + "version": "3.6.8",
3091 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.8.tgz",
3092 + "integrity": "sha512-wQUIptQBcM0rFsUhZoEpOT3vUn73DtTGVq3NQ86c4T7iMOSprDzeKWYq2ksXnbwiuExTKvt+8G9fzNLFQuiO+A=="
3093 + },
3094 + "pull-stream-to-stream": {
3095 + "version": "1.3.4",
3096 + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz",
3097 + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=",
3098 + "dev": true
3099 + },
3100 + "pull-stringify": {
3101 + "version": "1.2.2",
3102 + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz",
3103 + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw=",
3104 + "dev": true
3105 + },
3106 + "pull-through": {
3107 + "version": "1.0.18",
3108 + "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz",
3109 + "integrity": "sha1-jdYjFCY+Wc9Qlur7sSeitu8xBzU=",
3110 + "dev": true,
3111 + "requires": {
3112 + "looper": "~3.0.0"
3113 + },
3114 + "dependencies": {
3115 + "looper": {
3116 + "version": "3.0.0",
3117 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
3118 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
3119 + "dev": true
3120 + }
3121 + }
3122 + },
3123 + "pull-traverse": {
3124 + "version": "1.0.3",
3125 + "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz",
3126 + "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg=",
3127 + "dev": true
3128 + },
3129 + "pull-utf8-decoder": {
3130 + "version": "1.0.2",
3131 + "resolved": "https://registry.npmjs.org/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz",
3132 + "integrity": "sha1-p6+iOE0eZBWl1gIFQSbMjeO8vOc=",
3133 + "dev": true
3134 + },
3135 + "pull-window": {
3136 + "version": "2.1.4",
3137 + "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz",
3138 + "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=",
3139 + "dev": true,
3140 + "requires": {
3141 + "looper": "^2.0.0"
3142 + },
3143 + "dependencies": {
3144 + "looper": {
3145 + "version": "2.0.0",
3146 + "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz",
3147 + "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=",
3148 + "dev": true
3149 + }
3150 + }
3151 + },
3152 + "pull-write": {
3153 + "version": "1.1.4",
3154 + "resolved": "https://registry.npmjs.org/pull-write/-/pull-write-1.1.4.tgz",
3155 + "integrity": "sha1-3d6jFJO0j2douEooHQHrO1Mf4Lg=",
3156 + "dev": true,
3157 + "requires": {
3158 + "looper": "^4.0.0",
3159 + "pull-cat": "^1.1.11",
3160 + "pull-stream": "^3.4.5"
3161 + }
3162 + },
3163 + "pull-write-file": {
3164 + "version": "0.2.4",
3165 + "resolved": "https://registry.npmjs.org/pull-write-file/-/pull-write-file-0.2.4.tgz",
3166 + "integrity": "sha1-Q3NErrIYn2XmeO0a838PdgpUU+8=",
3167 + "dev": true
3168 + },
3169 + "pull-ws": {
3170 + "version": "3.3.1",
3171 + "resolved": "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.1.tgz",
3172 + "integrity": "sha512-kJodbLQT+oKjcRIQO+vQNw6xWBuEo7Kxp51VMOvb6cvPvHYA+aNLzm+NmkB/5dZwbuTRYGMal9QPvH52tzM1ZA==",
3173 + "dev": true,
3174 + "requires": {
3175 + "relative-url": "^1.0.2",
3176 + "safe-buffer": "^5.1.1",
3177 + "ws": "^1.1.0"
3178 + }
3179 + },
3180 + "pump": {
3181 + "version": "2.0.1",
3182 + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3183 + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3184 + "dev": true,
3185 + "requires": {
3186 + "end-of-stream": "^1.1.0",
3187 + "once": "^1.3.1"
3188 + }
3189 + },
3190 + "push-stream": {
3191 + "version": "10.0.3",
3192 + "resolved": "https://registry.npmjs.org/push-stream/-/push-stream-10.0.3.tgz",
3193 + "integrity": "sha1-E9au9LUGxlu8OqYkCajabOFH74c=",
3194 + "dev": true
3195 + },
3196 + "push-stream-to-pull-stream": {
3197 + "version": "1.0.1",
3198 + "resolved": "https://registry.npmjs.org/push-stream-to-pull-stream/-/push-stream-to-pull-stream-1.0.1.tgz",
3199 + "integrity": "sha512-gZe8pNlDFIi+0Ir2TeEFTpbrztLYVHvJgAjxOg8NFOcrisb9MKqIMSx+fmWMR6H/9PTZ2CwXubZlQWACKZ28Zw==",
3200 + "dev": true,
3201 + "requires": {
3202 + "pull-looper": "^1.0.0"
3203 + }
3204 + },
3205 + "randomatic": {
3206 + "version": "3.0.0",
3207 + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
3208 + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
3209 + "dev": true,
3210 + "requires": {
3211 + "is-number": "^4.0.0",
3212 + "kind-of": "^6.0.0",
3213 + "math-random": "^1.0.1"
3214 + },
3215 + "dependencies": {
3216 + "is-number": {
3217 + "version": "4.0.0",
3218 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
3219 + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
3220 + "dev": true
3221 + },
3222 + "kind-of": {
3223 + "version": "6.0.2",
3224 + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3225 + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3226 + "dev": true
3227 + }
3228 + }
3229 + },
3230 + "rc": {
3231 + "version": "1.2.8",
3232 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
3233 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
3234 + "dev": true,
3235 + "requires": {
3236 + "deep-extend": "^0.6.0",
3237 + "ini": "~1.3.0",
3238 + "minimist": "^1.2.0",
3239 + "strip-json-comments": "~2.0.1"
3240 + }
3241 + },
3242 + "readable-stream": {
3243 + "version": "2.3.6",
3244 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3245 + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3246 + "dev": true,
3247 + "requires": {
3248 + "core-util-is": "~1.0.0",
3249 + "inherits": "~2.0.3",
3250 + "isarray": "~1.0.0",
3251 + "process-nextick-args": "~2.0.0",
3252 + "safe-buffer": "~5.1.1",
3253 + "string_decoder": "~1.1.1",
3254 + "util-deprecate": "~1.0.1"
3255 + }
3256 + },
3257 + "readdirp": {
3258 + "version": "2.1.0",
3259 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
3260 + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
3261 + "dev": true,
3262 + "requires": {
3263 + "graceful-fs": "^4.1.2",
3264 + "minimatch": "^3.0.2",
3265 + "readable-stream": "^2.0.2",
3266 + "set-immediate-shim": "^1.0.1"
3267 + }
3268 + },
3269 + "regex-cache": {
3270 + "version": "0.4.4",
3271 + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
3272 + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
3273 + "dev": true,
3274 + "requires": {
3275 + "is-equal-shallow": "^0.1.3"
3276 + }
3277 + },
3278 + "relative-url": {
3279 + "version": "1.0.2",
3280 + "resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
3281 + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc=",
3282 + "dev": true
3283 + },
3284 + "remark": {
3285 + "version": "3.2.3",
3286 + "resolved": "https://registry.npmjs.org/remark/-/remark-3.2.3.tgz",
3287 + "integrity": "sha1-gCo4w6qYyeHj6gFe66IR0ny2Xh8=",
3288 + "dev": true,
3289 + "requires": {
3290 + "camelcase": "^2.0.0",
3291 + "ccount": "^1.0.0",
3292 + "chalk": "^1.0.0",
3293 + "chokidar": "^1.0.5",
3294 + "collapse-white-space": "^1.0.0",
3295 + "commander": "^2.0.0",
3296 + "concat-stream": "^1.0.0",
3297 + "debug": "^2.0.0",
3298 + "elegant-spinner": "^1.0.0",
3299 + "extend.js": "0.0.2",
3300 + "glob": "^6.0.1",
3301 + "globby": "^4.0.0",
3302 + "he": "^0.5.0",
3303 + "log-update": "^1.0.1",
3304 + "longest-streak": "^1.0.0",
3305 + "markdown-table": "^0.4.0",
3306 + "minimatch": "^3.0.0",
3307 + "npm-prefix": "^1.0.1",
3308 + "parse-entities": "^1.0.0",
3309 + "repeat-string": "^1.5.0",
3310 + "stringify-entities": "^1.0.0",
3311 + "to-vfile": "^1.0.0",
3312 + "trim": "^0.0.1",
3313 + "trim-trailing-lines": "^1.0.0",
3314 + "unified": "^2.0.0",
3315 + "user-home": "^2.0.0",
3316 + "vfile": "^1.1.0",
3317 + "vfile-find-down": "^1.0.0",
3318 + "vfile-find-up": "^1.0.0",
3319 + "vfile-reporter": "^1.5.0",
3320 + "ware": "^1.3.0"
3321 + }
3322 + },
3323 + "remark-html": {
3324 + "version": "2.0.2",
3325 + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-2.0.2.tgz",
3326 + "integrity": "sha1-WSo0e909WIH08IDJi1sVL7FAepI=",
3327 + "dev": true,
3328 + "requires": {
3329 + "collapse-white-space": "^1.0.0",
3330 + "detab": "^1.0.0",
3331 + "normalize-uri": "^1.0.0",
3332 + "object-assign": "^4.0.1",
3333 + "trim": "0.0.1",
3334 + "trim-lines": "^1.0.0",
3335 + "unist-util-visit": "^1.0.0"
3336 + }
3337 + },
3338 + "remove-trailing-separator": {
3339 + "version": "1.1.0",
3340 + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3341 + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
3342 + "dev": true
3343 + },
3344 + "repeat-element": {
3345 + "version": "1.1.2",
3346 + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
3347 + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
3348 + "dev": true
3349 + },
3350 + "repeat-string": {
3351 + "version": "1.6.1",
3352 + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3353 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
3354 + "dev": true
3355 + },
3356 + "resolve": {
3357 + "version": "1.7.1",
3358 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
3359 + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
3360 + "dev": true,
3361 + "requires": {
3362 + "path-parse": "^1.0.5"
3363 + }
3364 + },
3365 + "restore-cursor": {
3366 + "version": "1.0.1",
3367 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
3368 + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
3369 + "dev": true,
3370 + "requires": {
3371 + "exit-hook": "^1.0.0",
3372 + "onetime": "^1.0.0"
3373 + }
3374 + },
3375 + "resumer": {
3376 + "version": "0.0.0",
3377 + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
3378 + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
3379 + "dev": true,
3380 + "requires": {
3381 + "through": "~2.3.4"
3382 + }
3383 + },
3384 + "rimraf": {
3385 + "version": "2.6.2",
3386 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
3387 + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
3388 + "dev": true,
3389 + "requires": {
3390 + "glob": "^7.0.5"
3391 + },
3392 + "dependencies": {
3393 + "glob": {
3394 + "version": "7.1.2",
3395 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
3396 + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3397 + "dev": true,
3398 + "requires": {
3399 + "fs.realpath": "^1.0.0",
3400 + "inflight": "^1.0.4",
3401 + "inherits": "2",
3402 + "minimatch": "^3.0.4",
3403 + "once": "^1.3.0",
3404 + "path-is-absolute": "^1.0.0"
3405 + }
3406 + }
3407 + }
3408 + },
3409 + "safe-buffer": {
3410 + "version": "5.1.2",
3411 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3412 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3413 + "dev": true
3414 + },
3415 + "scuttle-inject": {
3416 + "version": "1.0.0",
3417 + "resolved": "https://registry.npmjs.org/scuttle-inject/-/scuttle-inject-1.0.0.tgz",
3418 + "integrity": "sha512-TCOL3FT/7SVPydoXWeQHXFdxfPds4hqT5KyDc/hEs2P4L79u7bDikqZwb0fp0/hgV7HdS4Mcg/EgHku3GfvhvA==",
3419 + "requires": {
3420 + "libnested": "^1.3.2",
3421 + "mutant": "^3.22.1",
3422 + "pull-defer": "^0.2.2"
3423 + }
3424 + },
3425 + "scuttlebot": {
3426 + "version": "11.3.3",
3427 + "resolved": "https://registry.npmjs.org/scuttlebot/-/scuttlebot-11.3.3.tgz",
3428 + "integrity": "sha512-1F2PVf1HfU3dbCwa5AxKbXEmMEhz0vlsetc5HoBkAr+L4U3SR9NaO+oPNa9NuUc9lVM1wqCrLjDU2nu824bGvQ==",
3429 + "dev": true,
3430 + "requires": {
3431 + "atomic-file": "0.0.1",
3432 + "bash-color": "~0.0.3",
3433 + "broadcast-stream": "^0.2.1",
3434 + "cont": "~1.0.3",
3435 + "cross-spawn": "^5.1.0",
3436 + "deep-equal": "^1.0.1",
3437 + "explain-error": "^1.0.3",
3438 + "has-network": "0.0.1",
3439 + "ip": "^0.3.3",
3440 + "mdmanifest": "^1.0.4",
3441 + "minimist": "^1.1.3",
3442 + "mkdirp": "~0.5.0",
3443 + "multiblob": "^1.13.0",
3444 + "multicb": "^1.0.0",
3445 + "multiserver": "^1.12.0",
3446 + "muxrpc": "^6.4.0",
3447 + "muxrpc-validation": "^2.0.0",
3448 + "muxrpcli": "^1.0.0",
3449 + "mv": "^2.1.1",
3450 + "non-private-ip": "^1.4.3",
3451 + "observ-debounce": "^1.1.1",
3452 + "obv": "0.0.1",
3453 + "on-change-network": "0.0.2",
3454 + "on-wakeup": "^1.0.0",
3455 + "osenv": "^0.1.5",
3456 + "pull-abortable": "~4.1.0",
3457 + "pull-cat": "~1.1.5",
3458 + "pull-file": "^1.0.0",
3459 + "pull-flatmap": "0.0.1",
3460 + "pull-inactivity": "~2.1.1",
3461 + "pull-level": "^2.0.2",
3462 + "pull-many": "~1.0.6",
3463 + "pull-next": "^1.0.0",
3464 + "pull-notify": "0.1.1",
3465 + "pull-paramap": "~1.2.1",
3466 + "pull-ping": "^2.0.2",
3467 + "pull-pushable": "^2.2.0",
3468 + "pull-stream": "^3.6.2",
3469 + "pull-stream-to-stream": "~1.3.0",
3470 + "pull-stringify": "~1.2.2",
3471 + "rimraf": "^2.4.2",
3472 + "secret-stack": "^4.1.0",
3473 + "secure-scuttlebutt": "^18.0.7",
3474 + "ssb-blobs": "^1.1.4",
3475 + "ssb-client": "^4.5.7",
3476 + "ssb-config": "^2.0.0",
3477 + "ssb-ebt": "^5.1.4",
3478 + "ssb-friends": "^2.4.0",
3479 + "ssb-keys": "^7.0.13",
3480 + "ssb-links": "^3.0.2",
3481 + "ssb-msgs": "~5.2.0",
3482 + "ssb-query": "^2.1.0",
3483 + "ssb-ref": "^2.9.1",
3484 + "ssb-ws": "^2.1.1",
3485 + "statistics": "^3.0.0",
3486 + "stream-to-pull-stream": "^1.6.10",
3487 + "zerr": "^1.0.0"
3488 + }
3489 + },
3490 + "secret-handshake": {
3491 + "version": "1.1.13",
3492 + "resolved": "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.13.tgz",
3493 + "integrity": "sha512-jDpA1kPJGg+jEUOZGvqksQFGPWIx0aA96HpjU+AqIBKIKzmvZeOq0Lfl/XqVC5jviWTVZZM2B8+NqYR38Blz8A==",
3494 + "dev": true,
3495 + "requires": {
3496 + "chloride": "^2.2.7",
3497 + "deep-equal": "~1.0.0",
3498 + "pull-box-stream": "^1.0.13",
3499 + "pull-handshake": "^1.1.1",
3500 + "pull-stream": "^3.4.5"
3501 + }
3502 + },
3503 + "secret-stack": {
3504 + "version": "4.1.0",
3505 + "resolved": "https://registry.npmjs.org/secret-stack/-/secret-stack-4.1.0.tgz",
3506 + "integrity": "sha512-tCxjylkvEvUqxlWSVALtPMGKGyed225oDf7zoxCOsvj5SaVolUzOaixS07IK74mjcq7D1TvEJ4kofcaTMhQq1w==",
3507 + "dev": true,
3508 + "requires": {
3509 + "hoox": "0.0.1",
3510 + "ip": "^1.1.5",
3511 + "map-merge": "^1.1.0",
3512 + "multiserver": "^1.11.0",
3513 + "muxrpc": "^6.4.0",
3514 + "non-private-ip": "^1.4.3",
3515 + "pull-inactivity": "~2.1.1",
3516 + "pull-rate": "^1.0.2",
3517 + "pull-stream": "^3.4.5",
3518 + "stream-to-pull-stream": "^1.6.1"
3519 + },
3520 + "dependencies": {
3521 + "ip": {
3522 + "version": "1.1.5",
3523 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3524 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
3525 + "dev": true
3526 + }
3527 + }
3528 + },
3529 + "secure-scuttlebutt": {
3530 + "version": "18.0.7",
3531 + "resolved": "https://registry.npmjs.org/secure-scuttlebutt/-/secure-scuttlebutt-18.0.7.tgz",
3532 + "integrity": "sha512-kowJ7xeXhaTm8Kz6cXOXll0Qvzq6lfqXDMTWyuVtYaPLmeEsyx8VKOS01f3OEpZhLWWx3SkqNrFAMvplvAdBxw==",
3533 + "dev": true,
3534 + "requires": {
3535 + "async-write": "^2.1.0",
3536 + "cont": "~1.0.0",
3537 + "deep-equal": "~0.2.1",
3538 + "explain-error": "~1.0.1",
3539 + "flumecodec": "0.0.1",
3540 + "flumedb": "^0.4.2",
3541 + "flumelog-offset": "^3.3.1",
3542 + "flumeview-hashtable": "^1.0.3",
3543 + "flumeview-level": "^3.0.5",
3544 + "flumeview-reduce": "^1.3.9",
3545 + "level": "^3.0.1",
3546 + "level-sublevel": "^6.6.2",
3547 + "ltgt": "^2.2.0",
3548 + "monotonic-timestamp": "~0.0.8",
3549 + "obv": "0.0.1",
3550 + "pull-cont": "0.0.0",
3551 + "pull-level": "^2.0.3",
3552 + "pull-live": "^1.0.1",
3553 + "pull-notify": "^0.1.0",
3554 + "pull-paramap": "^1.1.6",
3555 + "pull-stream": "^3.4.0",
3556 + "ssb-keys": "^7.0.15",
3557 + "ssb-msgs": "^5.0.0",
3558 + "ssb-ref": "^2.0.0",
3559 + "ssb-validate": "^3.0.1",
3560 + "typewiselite": "^1.0.0"
3561 + },
3562 + "dependencies": {
3563 + "deep-equal": {
3564 + "version": "0.2.2",
3565 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz",
3566 + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=",
3567 + "dev": true
3568 + }
3569 + }
3570 + },
3571 + "semver": {
3572 + "version": "5.5.0",
3573 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
3574 + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
3575 + "dev": true
3576 + },
3577 + "separator-escape": {
3578 + "version": "0.0.0",
3579 + "resolved": "https://registry.npmjs.org/separator-escape/-/separator-escape-0.0.0.tgz",
3580 + "integrity": "sha1-5DNnaTICBFTjwUhwxRfqHeVsL6Q=",
3581 + "dev": true
3582 + },
3583 + "set-blocking": {
3584 + "version": "2.0.0",
3585 + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
3586 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
3587 + "dev": true
3588 + },
3589 + "set-immediate-shim": {
3590 + "version": "1.0.1",
3591 + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
3592 + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
3593 + "dev": true
3594 + },
3595 + "sha.js": {
3596 + "version": "2.4.5",
3597 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz",
3598 + "integrity": "sha1-J9Fx78yCoRi5ljn/WBZgJCtQbnw=",
3599 + "dev": true,
3600 + "requires": {
3601 + "inherits": "^2.0.1"
3602 + }
3603 + },
3604 + "shebang-command": {
3605 + "version": "1.2.0",
3606 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
3607 + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
3608 + "dev": true,
3609 + "requires": {
3610 + "shebang-regex": "^1.0.0"
3611 + }
3612 + },
3613 + "shebang-regex": {
3614 + "version": "1.0.0",
3615 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
3616 + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
3617 + "dev": true
3618 + },
3619 + "shellsubstitute": {
3620 + "version": "1.2.0",
3621 + "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz",
3622 + "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=",
3623 + "dev": true
3624 + },
3625 + "signal-exit": {
3626 + "version": "3.0.2",
3627 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
3628 + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
3629 + "dev": true
3630 + },
3631 + "simple-concat": {
3632 + "version": "1.0.0",
3633 + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
3634 + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
3635 + "dev": true
3636 + },
3637 + "simple-get": {
3638 + "version": "2.8.1",
3639 + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
3640 + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
3641 + "dev": true,
3642 + "requires": {
3643 + "decompress-response": "^3.3.0",
3644 + "once": "^1.3.1",
3645 + "simple-concat": "^1.0.0"
3646 + }
3647 + },
3648 + "smart-buffer": {
3649 + "version": "1.1.15",
3650 + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
3651 + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
3652 + "dev": true
3653 + },
3654 + "socks": {
3655 + "version": "1.1.9",
3656 + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
3657 + "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
3658 + "dev": true,
3659 + "requires": {
3660 + "ip": "^1.1.2",
3661 + "smart-buffer": "^1.0.4"
3662 + },
3663 + "dependencies": {
3664 + "ip": {
3665 + "version": "1.1.5",
3666 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3667 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
3668 + "dev": true
3669 + }
3670 + }
3671 + },
3672 + "sodium-browserify": {
3673 + "version": "1.2.4",
3674 + "resolved": "https://registry.npmjs.org/sodium-browserify/-/sodium-browserify-1.2.4.tgz",
3675 + "integrity": "sha512-IYcxKje/uf/c3a7VhZYJLlUxWMcktfbD4AjqHjUD1/VWKjj0Oq5wNbX8wjJOWVO9UhUMqJQiOn2xFbzKWBmy5w==",
3676 + "dev": true,
3677 + "requires": {
3678 + "libsodium-wrappers": "^0.7.3",
3679 + "sha.js": "2.4.5",
3680 + "sodium-browserify-tweetnacl": "^0.2.3",
3681 + "tweetnacl": "^0.14.1"
3682 + }
3683 + },
3684 + "sodium-browserify-tweetnacl": {
3685 + "version": "0.2.3",
3686 + "resolved": "https://registry.npmjs.org/sodium-browserify-tweetnacl/-/sodium-browserify-tweetnacl-0.2.3.tgz",
3687 + "integrity": "sha1-tVN//LufdOvEQ7i2ohGykej8vI4=",
3688 + "dev": true,
3689 + "requires": {
3690 + "chloride-test": "^1.1.0",
3691 + "ed2curve": "^0.1.4",
3692 + "sha.js": "^2.4.8",
3693 + "tweetnacl": "^0.14.1",
3694 + "tweetnacl-auth": "^0.3.0"
3695 + },
3696 + "dependencies": {
3697 + "sha.js": {
3698 + "version": "2.4.11",
3699 + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
3700 + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
3701 + "dev": true,
3702 + "requires": {
3703 + "inherits": "^2.0.1",
3704 + "safe-buffer": "^5.0.1"
3705 + }
3706 + }
3707 + }
3708 + },
3709 + "sodium-chloride": {
3710 + "version": "1.1.0",
3711 + "resolved": "https://registry.npmjs.org/sodium-chloride/-/sodium-chloride-1.1.0.tgz",
3712 + "integrity": "sha1-JHojS4iGf23/UTMrYF8ZOmW/aDk=",
3713 + "dev": true
3714 + },
3715 + "sodium-native": {
3716 + "version": "2.1.6",
3717 + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.1.6.tgz",
3718 + "integrity": "sha512-vfovcNlU8C93SbeNoGSAdW5zVOTlrh1sTy+TzdC2FhDTE/IUK6j4ML5gdr/qziLz4XRT4EQWJvbFzql6CAAH/A==",
3719 + "dev": true,
3720 + "optional": true,
3721 + "requires": {
3722 + "ini": "^1.3.5",
3723 + "nan": "^2.4.0",
3724 + "node-gyp-build": "^3.0.0"
3725 + }
3726 + },
3727 + "split-buffer": {
3728 + "version": "1.0.0",
3729 + "resolved": "https://registry.npmjs.org/split-buffer/-/split-buffer-1.0.0.tgz",
3730 + "integrity": "sha1-t+jgq1E0UVi3LB9tvvJAbVHx0Cc=",
3731 + "dev": true
3732 + },
3733 + "ssb-backlinks": {
3734 + "version": "0.7.1",
3735 + "resolved": "https://registry.npmjs.org/ssb-backlinks/-/ssb-backlinks-0.7.1.tgz",
3736 + "integrity": "sha512-qxJW94vPJelWS8/aDo8mFIKxGvdFVOi2R8OX3J/nmWXink05I5ZmNkT40Fb/IW7PkRddbrdWfA1tA8GusK1yKQ==",
3737 + "dev": true,
3738 + "requires": {
3739 + "base64-url": "^1.3.3",
3740 + "deep-equal": "^1.0.1",
3741 + "flumeview-query": "^6.1.0",
3742 + "pull-stream": "^3.6.7",
3743 + "ssb-keys": "^7.0.14",
3744 + "ssb-ref": "^2.9.0",
3745 + "xtend": "^4.0.1"
3746 + }
3747 + },
3748 + "ssb-blobs": {
3749 + "version": "1.1.5",
3750 + "resolved": "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.1.5.tgz",
3751 + "integrity": "sha512-DeeInkFU8oN1mYlPVrqrm9tupf6wze4HuowK7N2vv/O+UeSLuYPU1p4HrxSqdAPvUabr0OtvbFA6z1T4nw+9fw==",
3752 + "dev": true,
3753 + "requires": {
3754 + "cont": "^1.0.3",
3755 + "level": "^3.0.0",
3756 + "multiblob": "^1.12.0",
3757 + "pull-level": "^2.0.4",
3758 + "pull-notify": "^0.1.0",
3759 + "pull-stream": "^3.3.0",
3760 + "ssb-ref": "^2.3.0"
3761 + }
3762 + },
3763 + "ssb-client": {
3764 + "version": "4.5.7",
3765 + "resolved": "https://registry.npmjs.org/ssb-client/-/ssb-client-4.5.7.tgz",
3766 + "integrity": "sha512-mEOyMlX6sGEUStU02vdSPD4j9ZRQQe3WCQwZCtgOkkrJpp7ARHxC0dx8ahumyq/vUIYWqQSAHHMD0+R63GmpGg==",
3767 + "dev": true,
3768 + "requires": {
3769 + "explain-error": "^1.0.1",
3770 + "multicb": "^1.2.1",
3771 + "multiserver": "^1.7.0",
3772 + "muxrpc": "^6.4.0",
3773 + "pull-hash": "^1.0.0",
3774 + "pull-stream": "^3.6.0",
3775 + "ssb-config": "^2.2.0",
3776 + "ssb-keys": "^7.0.13"
3777 + }
3778 + },
3779 + "ssb-config": {
3780 + "version": "2.2.0",
3781 + "resolved": "https://registry.npmjs.org/ssb-config/-/ssb-config-2.2.0.tgz",
3782 + "integrity": "sha1-QcrQOKhXWvQGLT/VfTsWe+hbA7w=",
3783 + "dev": true,
3784 + "requires": {
3785 + "deep-extend": "^0.4.0",
3786 + "non-private-ip": "^1.2.1",
3787 + "os-homedir": "^1.0.1",
3788 + "rc": "^1.1.6"
3789 + },
3790 + "dependencies": {
3791 + "deep-extend": {
3792 + "version": "0.4.2",
3793 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
3794 + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
3795 + "dev": true
3796 + }
3797 + }
3798 + },
3799 + "ssb-ebt": {
3800 + "version": "5.2.0",
3801 + "resolved": "https://registry.npmjs.org/ssb-ebt/-/ssb-ebt-5.2.0.tgz",
3802 + "integrity": "sha512-u7n5O2YRyF6SvX4RMxf7I1Mm6r95pmSKshx1CbmnOpa05PFzzFvi3vjiQnse1TEpWYcVpYn2zwugOVflZxZlhw==",
3803 + "dev": true,
3804 + "requires": {
3805 + "base64-url": "^1.3.3",
3806 + "epidemic-broadcast-trees": "^6.3.1",
3807 + "lossy-store": "^1.2.3",
3808 + "pull-stream": "^3.5.0",
3809 + "push-stream-to-pull-stream": "^1.0.0",
3810 + "ssb-ref": "^2.9.1"
3811 + }
3812 + },
3813 + "ssb-friends": {
3814 + "version": "2.4.0",
3815 + "resolved": "https://registry.npmjs.org/ssb-friends/-/ssb-friends-2.4.0.tgz",
3816 + "integrity": "sha1-DUDNlqEvIznJBkqK0dWnE+kcV64=",
3817 + "dev": true,
3818 + "requires": {
3819 + "flumeview-reduce": "^1.3.0",
3820 + "graphreduce": "^3.0.3",
3821 + "obv": "0.0.1",
3822 + "pull-cont": "^0.1.1",
3823 + "pull-flatmap": "0.0.1",
3824 + "pull-stream": "^3.6.0",
3825 + "ssb-ref": "^2.7.1"
3826 + },
3827 + "dependencies": {
3828 + "pull-cont": {
3829 + "version": "0.1.1",
3830 + "resolved": "https://registry.npmjs.org/pull-cont/-/pull-cont-0.1.1.tgz",
3831 + "integrity": "sha1-3x1YDicXV7qay666IN4kIdZg1hg=",
3832 + "dev": true
3833 + }
3834 + }
3835 + },
3836 + "ssb-keys": {
3837 + "version": "7.0.16",
3838 + "resolved": "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.0.16.tgz",
3839 + "integrity": "sha512-EhLkRzgF7YaRc47L8YZb+TcxEXZy9DPWCF+vCt5nSNm8Oj+Pz8pBVSOlrLKZVbcAKFjIJhqY32oTjknu3E1KVQ==",
3840 + "dev": true,
3841 + "requires": {
3842 + "chloride": "^2.2.8",
3843 + "mkdirp": "~0.5.0",
3844 + "private-box": "^0.2.1"
3845 + }
3846 + },
3847 + "ssb-links": {
3848 + "version": "3.0.3",
3849 + "resolved": "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.3.tgz",
3850 + "integrity": "sha512-x09ShIMjwvdZI7aDZm8kc1v5YCGZa9ulCOoxrf/RYJ98s5gbTfO9CBCzeMBAeQ5kRwSuKjiOxJHdeEBkj4Y6hw==",
3851 + "dev": true,
3852 + "requires": {
3853 + "flumeview-query": "^6.0.0",
3854 + "map-filter-reduce": "^2.0.0",
3855 + "pull-stream": "^3.1.0",
3856 + "ssb-msgs": "^5.2.0"
3857 + }
3858 + },
3859 + "ssb-msgs": {
3860 + "version": "5.2.0",
3861 + "resolved": "https://registry.npmjs.org/ssb-msgs/-/ssb-msgs-5.2.0.tgz",
3862 + "integrity": "sha1-xoHaXNcMV0ySLcpPA8UhU4E1wkM=",
3863 + "dev": true,
3864 + "requires": {
3865 + "ssb-ref": "^2.0.0"
3866 + }
3867 + },
3868 + "ssb-query": {
3869 + "version": "2.1.0",
3870 + "resolved": "https://registry.npmjs.org/ssb-query/-/ssb-query-2.1.0.tgz",
3871 + "integrity": "sha512-4QWvjSrSIon9qyhPHrqOeA/dp6NR7b11BtXKhJg/Di2r7/nBLGAj2RzUonfTfs3LlPHZdFWXowhhJREUAmUZug==",
3872 + "dev": true,
3873 + "requires": {
3874 + "explain-error": "^1.0.1",
3875 + "flumeview-query": "^6.0.0",
3876 + "pull-stream": "^3.6.2"
3877 + }
3878 + },
3879 + "ssb-ref": {
3880 + "version": "2.11.1",
3881 + "resolved": "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.11.1.tgz",
3882 + "integrity": "sha512-K3L9hJ1v0HrH8abtEKiBkdeabHVaws+CS81mZqUfhR84i0dlYhiIIDwqeLxUj/1mLcsZPF3gMKPsFCUr7UAdMA==",
3883 + "dev": true,
3884 + "requires": {
3885 + "ip": "^1.1.3",
3886 + "is-valid-domain": "~0.0.1"
3887 + },
3888 + "dependencies": {
3889 + "ip": {
3890 + "version": "1.1.5",
3891 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
3892 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
3893 + "dev": true
3894 + }
3895 + }
3896 + },
3897 + "ssb-validate": {
3898 + "version": "3.0.9",
3899 + "resolved": "https://registry.npmjs.org/ssb-validate/-/ssb-validate-3.0.9.tgz",
3900 + "integrity": "sha512-Gshbb8mgwtfJQTK66mCpORdMhDpe8l0GOv+3em1gWYHadWAV4Rx80RZ1NduD2NVzqupve12Qku5kQnrq0zJqjw==",
3901 + "dev": true,
3902 + "requires": {
3903 + "ssb-ref": "^2.6.2"
3904 + }
3905 + },
3906 + "ssb-ws": {
3907 + "version": "2.1.1",
3908 + "resolved": "https://registry.npmjs.org/ssb-ws/-/ssb-ws-2.1.1.tgz",
3909 + "integrity": "sha512-1fK/jXI6lKZadRJDr49t+6yMmWynp6PFrADs3Whmy8IslnYGl83ujhlpRIBvCn1EuVHjV7yLsIiJ8a0X2Kg0DQ==",
3910 + "dev": true,
3911 + "requires": {
3912 + "emoji-server": "^1.0.0",
3913 + "multiblob-http": "^0.4.1",
3914 + "multiserver": "^1.2.0",
3915 + "muxrpc": "^6.3.3",
3916 + "pull-box-stream": "^1.0.13",
3917 + "ssb-ref": "^2.3.0",
3918 + "stack": "^0.1.0"
3919 + }
3920 + },
3921 + "stack": {
3922 + "version": "0.1.0",
3923 + "resolved": "https://registry.npmjs.org/stack/-/stack-0.1.0.tgz",
3924 + "integrity": "sha1-6SNZipvlHmF2gsshzxsoGKRJraI=",
3925 + "dev": true
3926 + },
3927 + "statistics": {
3928 + "version": "3.3.0",
3929 + "resolved": "https://registry.npmjs.org/statistics/-/statistics-3.3.0.tgz",
3930 + "integrity": "sha1-7HtHUP8DqySmTdmzV6eDFr6teKo=",
3931 + "dev": true
3932 + },
3933 + "stream-to-pull-stream": {
3934 + "version": "1.7.2",
3935 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
3936 + "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
3937 + "dev": true,
3938 + "requires": {
3939 + "looper": "^3.0.0",
3940 + "pull-stream": "^3.2.3"
3941 + },
3942 + "dependencies": {
3943 + "looper": {
3944 + "version": "3.0.0",
3945 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
3946 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=",
3947 + "dev": true
3948 + }
3949 + }
3950 + },
3951 + "string-width": {
3952 + "version": "1.0.2",
3953 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
3954 + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
3955 + "dev": true,
3956 + "requires": {
3957 + "code-point-at": "^1.0.0",
3958 + "is-fullwidth-code-point": "^1.0.0",
3959 + "strip-ansi": "^3.0.0"
3960 + }
3961 + },
3962 + "string.prototype.trim": {
3963 + "version": "1.1.2",
3964 + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
3965 + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
3966 + "dev": true,
3967 + "requires": {
3968 + "define-properties": "^1.1.2",
3969 + "es-abstract": "^1.5.0",
3970 + "function-bind": "^1.0.2"
3971 + }
3972 + },
3973 + "string_decoder": {
3974 + "version": "1.1.1",
3975 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3976 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3977 + "dev": true,
3978 + "requires": {
3979 + "safe-buffer": "~5.1.0"
3980 + }
3981 + },
3982 + "stringify-entities": {
3983 + "version": "1.3.2",
3984 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
3985 + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
3986 + "dev": true,
3987 + "requires": {
3988 + "character-entities-html4": "^1.0.0",
3989 + "character-entities-legacy": "^1.0.0",
3990 + "is-alphanumerical": "^1.0.0",
3991 + "is-hexadecimal": "^1.0.0"
3992 + }
3993 + },
3994 + "strip-ansi": {
3995 + "version": "3.0.1",
3996 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3997 + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3998 + "dev": true,
3999 + "requires": {
4000 + "ansi-regex": "^2.0.0"
4001 + }
4002 + },
4003 + "strip-json-comments": {
4004 + "version": "2.0.1",
4005 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4006 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
4007 + "dev": true
4008 + },
4009 + "supports-color": {
4010 + "version": "2.0.0",
4011 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4012 + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
4013 + "dev": true
4014 + },
4015 + "tape": {
4016 + "version": "4.9.1",
4017 + "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.1.tgz",
4018 + "integrity": "sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw==",
4019 + "dev": true,
4020 + "requires": {
4021 + "deep-equal": "~1.0.1",
4022 + "defined": "~1.0.0",
4023 + "for-each": "~0.3.3",
4024 + "function-bind": "~1.1.1",
4025 + "glob": "~7.1.2",
4026 + "has": "~1.0.3",
4027 + "inherits": "~2.0.3",
4028 + "minimist": "~1.2.0",
4029 + "object-inspect": "~1.6.0",
4030 + "resolve": "~1.7.1",
4031 + "resumer": "~0.0.0",
4032 + "string.prototype.trim": "~1.1.2",
4033 + "through": "~2.3.8"
4034 + },
4035 + "dependencies": {
4036 + "glob": {
4037 + "version": "7.1.2",
4038 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
4039 + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
4040 + "dev": true,
4041 + "requires": {
4042 + "fs.realpath": "^1.0.0",
4043 + "inflight": "^1.0.4",
4044 + "inherits": "2",
4045 + "minimatch": "^3.0.4",
4046 + "once": "^1.3.0",
4047 + "path-is-absolute": "^1.0.0"
4048 + }
4049 + }
4050 + }
4051 + },
4052 + "tar-fs": {
4053 + "version": "1.16.2",
4054 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.2.tgz",
4055 + "integrity": "sha512-LdknWjPEiZC1nOBwhv0JBzfJBGPJar08dZg2rwZe0ZTLQoRGEzgrl7vF3qUEkCHpI/wN9e7RyCuDhMsJUCLPPQ==",
4056 + "dev": true,
4057 + "requires": {
4058 + "chownr": "^1.0.1",
4059 + "mkdirp": "^0.5.1",
4060 + "pump": "^1.0.0",
4061 + "tar-stream": "^1.1.2"
4062 + },
4063 + "dependencies": {
4064 + "pump": {
4065 + "version": "1.0.3",
4066 + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
4067 + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
4068 + "dev": true,
4069 + "requires": {
4070 + "end-of-stream": "^1.1.0",
4071 + "once": "^1.3.1"
4072 + }
4073 + }
4074 + }
4075 + },
4076 + "tar-stream": {
4077 + "version": "1.6.1",
4078 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
4079 + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
4080 + "dev": true,
4081 + "requires": {
4082 + "bl": "^1.0.0",
4083 + "buffer-alloc": "^1.1.0",
4084 + "end-of-stream": "^1.0.0",
4085 + "fs-constants": "^1.0.0",
4086 + "readable-stream": "^2.3.0",
4087 + "to-buffer": "^1.1.0",
4088 + "xtend": "^4.0.0"
4089 + }
4090 + },
4091 + "text-table": {
4092 + "version": "0.2.0",
4093 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
4094 + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
4095 + "dev": true
4096 + },
4097 + "through": {
4098 + "version": "2.3.8",
4099 + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
4100 + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
4101 + "dev": true
4102 + },
4103 + "to-buffer": {
4104 + "version": "1.1.1",
4105 + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
4106 + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
4107 + "dev": true
4108 + },
4109 + "to-vfile": {
4110 + "version": "1.0.0",
4111 + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-1.0.0.tgz",
4112 + "integrity": "sha1-iN7+zUOtsu9ZhiXw49WffzQpQbo=",
4113 + "dev": true,
4114 + "requires": {
4115 + "vfile": "^1.0.0"
4116 + }
4117 + },
4118 + "trim": {
4119 + "version": "0.0.1",
4120 + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
4121 + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
4122 + "dev": true
4123 + },
4124 + "trim-lines": {
4125 + "version": "1.1.1",
4126 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.1.tgz",
4127 + "integrity": "sha512-X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg==",
4128 + "dev": true
4129 + },
4130 + "trim-trailing-lines": {
4131 + "version": "1.1.1",
4132 + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz",
4133 + "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==",
4134 + "dev": true
4135 + },
4136 + "tunnel-agent": {
4137 + "version": "0.6.0",
4138 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
4139 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
4140 + "dev": true,
4141 + "requires": {
4142 + "safe-buffer": "^5.0.1"
4143 + }
4144 + },
4145 + "tweetnacl": {
4146 + "version": "0.14.5",
4147 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
4148 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
4149 + "dev": true
4150 + },
4151 + "tweetnacl-auth": {
4152 + "version": "0.3.1",
4153 + "resolved": "https://registry.npmjs.org/tweetnacl-auth/-/tweetnacl-auth-0.3.1.tgz",
4154 + "integrity": "sha1-t1vC3xVkm7hOi5qjwGacbEvODSU=",
4155 + "dev": true,
4156 + "requires": {
4157 + "tweetnacl": "0.x.x"
4158 + }
4159 + },
4160 + "typedarray": {
4161 + "version": "0.0.6",
4162 + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
4163 + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
4164 + "dev": true
4165 + },
4166 + "typewise": {
4167 + "version": "1.0.3",
4168 + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
4169 + "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
4170 + "dev": true,
4171 + "requires": {
4172 + "typewise-core": "^1.2.0"
4173 + }
4174 + },
4175 + "typewise-core": {
4176 + "version": "1.2.0",
4177 + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
4178 + "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=",
4179 + "dev": true
4180 + },
4181 + "typewiselite": {
4182 + "version": "1.0.0",
4183 + "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz",
4184 + "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=",
4185 + "dev": true
4186 + },
4187 + "uint48be": {
4188 + "version": "1.0.2",
4189 + "resolved": "https://registry.npmjs.org/uint48be/-/uint48be-1.0.2.tgz",
4190 + "integrity": "sha512-jNn1eEi81BLiZfJkjbiAKPDMj7iFrturKazqpBu0aJYLr6evgkn+9rgkX/gUwPBj5j2Ri5oUelsqC/S1zmpWBA==",
4191 + "dev": true
4192 + },
4193 + "ultron": {
4194 + "version": "1.0.2",
4195 + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
4196 + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
4197 + "dev": true
4198 + },
4199 + "unherit": {
4200 + "version": "1.1.1",
4201 + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz",
4202 + "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
4203 + "dev": true,
4204 + "requires": {
4205 + "inherits": "^2.0.1",
4206 + "xtend": "^4.0.1"
4207 + }
4208 + },
4209 + "unified": {
4210 + "version": "2.1.4",
4211 + "resolved": "https://registry.npmjs.org/unified/-/unified-2.1.4.tgz",
4212 + "integrity": "sha1-FLxs1A2Y//91tAVQa62HPsu6w7o=",
4213 + "dev": true,
4214 + "requires": {
4215 + "attach-ware": "^1.0.0",
4216 + "bail": "^1.0.0",
4217 + "extend": "^3.0.0",
4218 + "unherit": "^1.0.4",
4219 + "vfile": "^1.0.0",
4220 + "ware": "^1.3.0"
4221 + }
4222 + },
4223 + "unist-util-is": {
4224 + "version": "2.1.2",
4225 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz",
4226 + "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==",
4227 + "dev": true
4228 + },
4229 + "unist-util-visit": {
4230 + "version": "1.3.1",
4231 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.1.tgz",
4232 + "integrity": "sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==",
4233 + "dev": true,
4234 + "requires": {
4235 + "unist-util-is": "^2.1.1"
4236 + }
4237 + },
4238 + "untildify": {
4239 + "version": "2.1.0",
4240 + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz",
4241 + "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
4242 + "dev": true,
4243 + "requires": {
4244 + "os-homedir": "^1.0.0"
4245 + }
4246 + },
4247 + "user-home": {
4248 + "version": "2.0.0",
4249 + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
4250 + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
4251 + "dev": true,
4252 + "requires": {
4253 + "os-homedir": "^1.0.0"
4254 + }
4255 + },
4256 + "util-deprecate": {
4257 + "version": "1.0.2",
4258 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4259 + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
4260 + "dev": true
4261 + },
4262 + "vfile": {
4263 + "version": "1.4.0",
4264 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-1.4.0.tgz",
4265 + "integrity": "sha1-wP1vpIT43r23cfaMMe112I2pf+c=",
4266 + "dev": true
4267 + },
4268 + "vfile-find-down": {
4269 + "version": "1.0.0",
4270 + "resolved": "https://registry.npmjs.org/vfile-find-down/-/vfile-find-down-1.0.0.tgz",
4271 + "integrity": "sha1-hKTWbQNRP2FAqE4Hdu8ISNTwrZU=",
4272 + "dev": true,
4273 + "requires": {
4274 + "to-vfile": "^1.0.0"
4275 + }
4276 + },
4277 + "vfile-find-up": {
4278 + "version": "1.0.0",
4279 + "resolved": "https://registry.npmjs.org/vfile-find-up/-/vfile-find-up-1.0.0.tgz",
4280 + "integrity": "sha1-VgTab+RTs0NQY3mE61/kkJ4oA5A=",
4281 + "dev": true,
4282 + "requires": {
4283 + "to-vfile": "^1.0.0"
4284 + }
4285 + },
4286 + "vfile-reporter": {
4287 + "version": "1.5.0",
4288 + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-1.5.0.tgz",
4289 + "integrity": "sha1-IacAm/5V4k34/0Mqpb9vbvp05Bg=",
4290 + "dev": true,
4291 + "requires": {
4292 + "chalk": "^1.1.0",
4293 + "log-symbols": "^1.0.2",
4294 + "plur": "^2.0.0",
4295 + "repeat-string": "^1.5.0",
4296 + "string-width": "^1.0.0",
4297 + "text-table": "^0.2.0",
4298 + "vfile-sort": "^1.0.0"
4299 + }
4300 + },
4301 + "vfile-sort": {
4302 + "version": "1.0.0",
4303 + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-1.0.0.tgz",
4304 + "integrity": "sha1-F+5JG6Q+iVG7IpE/z/MqfcTSNNQ=",
4305 + "dev": true
4306 + },
4307 + "ware": {
4308 + "version": "1.3.0",
4309 + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
4310 + "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
4311 + "dev": true,
4312 + "requires": {
4313 + "wrap-fn": "^0.1.0"
4314 + }
4315 + },
4316 + "which": {
4317 + "version": "1.3.1",
4318 + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4319 + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4320 + "dev": true,
4321 + "requires": {
4322 + "isexe": "^2.0.0"
4323 + }
4324 + },
4325 + "which-pm-runs": {
4326 + "version": "1.0.0",
4327 + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
4328 + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
4329 + "dev": true
4330 + },
4331 + "wide-align": {
4332 + "version": "1.1.3",
4333 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
4334 + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
4335 + "dev": true,
4336 + "requires": {
4337 + "string-width": "^1.0.2 || 2"
4338 + }
4339 + },
4340 + "word-wrap": {
4341 + "version": "1.2.3",
4342 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
4343 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
4344 + "dev": true
4345 + },
4346 + "wrap-fn": {
4347 + "version": "0.1.5",
4348 + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
4349 + "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
4350 + "dev": true,
4351 + "requires": {
4352 + "co": "3.1.0"
4353 + }
4354 + },
4355 + "wrappy": {
4356 + "version": "1.0.2",
4357 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4358 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
4359 + "dev": true
4360 + },
4361 + "ws": {
4362 + "version": "1.1.5",
4363 + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
4364 + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
4365 + "dev": true,
4366 + "requires": {
4367 + "options": ">=0.0.5",
4368 + "ultron": "1.0.x"
4369 + }
4370 + },
4371 + "xtend": {
4372 + "version": "4.0.1",
4373 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
4374 + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
4375 + },
4376 + "yallist": {
4377 + "version": "2.1.2",
4378 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
4379 + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
4380 + "dev": true
4381 + },
4382 + "zerr": {
4383 + "version": "1.0.4",
4384 + "resolved": "https://registry.npmjs.org/zerr/-/zerr-1.0.4.tgz",
4385 + "integrity": "sha1-YoFN15nv+DYfKiKPQfcFxeGd5Mk=",
4386 + "dev": true
4387 + }
4388 + }
4389 +}
package.jsonView
@@ -1,0 +1,31 @@
1 +{
2 + "name": "scuttle-gathering",
3 + "version": "1.0.0",
4 + "description": "",
5 + "main": "index.js",
6 + "scripts": {
7 + "test": "echo \"Error: no test specified\" && exit 1",
8 + "test-server": "node research/server.js"
9 + },
10 + "repository": {
11 + "type": "git",
12 + "url": "git+https://github.com/ssbc/scuttle-gathering.git"
13 + },
14 + "keywords": [],
15 + "author": "",
16 + "license": "MIT",
17 + "bugs": {
18 + "url": "https://github.com/ssbc/scuttle-gathering/issues"
19 + },
20 + "homepage": "https://github.com/ssbc/scuttle-gathering#readme",
21 + "devDependencies": {
22 + "scuttlebot": "^11.3.3",
23 + "ssb-backlinks": "^0.7.1",
24 + "ssb-config": "^2.2.0",
25 + "ssb-query": "^2.1.0"
26 + },
27 + "dependencies": {
28 + "pull-stream": "^3.6.8",
29 + "scuttle-inject": "^1.0.0"
30 + }
31 +}
research/1_nested_callbacks.jsView
@@ -1,0 +1,107 @@
1 +const pull = require('pull-stream')
2 +const Client = require('ssb-client')
3 +const config = require('./config')
4 +
5 +Client(config.keys, config, (err, server) => {
6 + if (err) throw err
7 +
8 + const myKey = server.id
9 +
10 + const startTime = new Date()
11 +
12 + // a) get all my `about` messages where I say something about attending
13 + pull(
14 + attendanceStreamForFeed(myKey, server),
15 + pull.collect((err, attendingData) => {
16 + console.log('a) time:', (new Date() - startTime) / 1000, 's')
17 +
18 + const attending = attendingData.reduce((soFar, item) => {
19 + // b) only keep the ones where the last thing I said about it was that I was attending (remove === null)
20 + if (last(item.rm) === null) soFar.push(item.root)
21 +
22 + return soFar
23 + }, [])
24 + console.log('b) time:', (new Date() - startTime) / 1000, 's')
25 +
26 + // c) get any gathering which matches one of those things I'm attending
27 + pull(
28 + gatheringStreamFilteredByKeys(attending, server),
29 + pull.collect((err, gatherings) => {
30 + console.log('c) time:', (new Date() - startTime) / 1000, 's')
31 +
32 + // console.log(gatherings)
33 +
34 + server.close()
35 + })
36 + )
37 + })
38 + )
39 +})
40 +
41 +function attendanceStreamForFeed (feedId, server) {
42 + const attendanceQuery = {
43 + query: [
44 + {
45 + $filter: {
46 + value: {
47 + author: feedId, // i authored the message
48 + content: {
49 + type: 'about',
50 + about: { $prefix: '%' }, // it's referencing a message
51 + attendee: {
52 + link: feedId // i'm asserting something about myself
53 + }
54 + }
55 + }
56 + }
57 + },
58 + {
59 + $map: {
60 + root: ['value', 'content', 'about'], // could be a gathering
61 + remove: ['value', 'content', 'attendee', 'remove'], // not attending
62 + ts: ['value', 'timestamp'] // timestamp
63 + }
64 + },
65 + {
66 + $reduce: {
67 + root: 'root',
68 + rm: { $collect: 'remove' }
69 + }
70 + }
71 + ]
72 + }
73 +
74 + // server.query.explain(attendanceQuery, (err, a) => console.log('Resolved level query (reveals index in use)', a))
75 +
76 + return server.query.read(attendanceQuery)
77 +}
78 +
79 +function gatheringStreamFilteredByKeys (keys, server) {
80 + const gatheringQuery = {
81 + query: [
82 + {
83 + $filter: {
84 + // key: {$in: keys}, // needs a new map-filter-reduce
85 + value: {
86 + timestamp: { $gt: 0 }, // this forces an index which is ordered by published ts
87 + content: { type: 'gathering' }
88 + }
89 + }
90 + }
91 + ]
92 + }
93 +
94 + // server.query.explain(gatheringQuery, (err, a) => console.log('Resolved level query (reveals index in use)', a))
95 +
96 + // return server.query.read(gatheringQuery)
97 + return pull(
98 + server.query.read(gatheringQuery),
99 + pull.filter(m => keys.includes(m.key))
100 + )
101 +}
102 +
103 +function last (arr) {
104 + if (!arr.length) return
105 +
106 + return arr[arr.length - 1]
107 +}
research/README.mdView
@@ -1,0 +1,15 @@
1 +# Research
2 +
3 +I don't know what the most performant ways are to do different queries are.
4 +So here's a collection of approaches!
5 +
6 +## Running an sbot
7 +
8 +If you're already running Patchbay, it should have all the plugins you need up and running
9 +
10 +If not, open a new terminal and run `npm run test-server`
11 +
12 +## Running each test
13 +
14 +With an sbot running, run e.g `node research/1_nested_callbacks.js`
15 +
research/config.jsView
@@ -1,0 +1,14 @@
1 +const Config = require('ssb-config/inject')
2 +const ssbKeys = require('ssb-keys')
3 +const Path = require('path')
4 +
5 +const appName = 'ssb' // <<< NOTE THIS IS YOUR DEFAULT IDENTITY
6 +const opts = null // can set things in here
7 +
8 +const config = Config(appName, opts)
9 +Object.assign(config, {
10 + appName,
11 + keys: ssbKeys.loadOrCreateSync(Path.join(config.path, 'secret'))
12 +})
13 +
14 +module.exports = config
research/server.jsView
@@ -1,0 +1,19 @@
1 +const Server = require('scuttlebot')
2 +const fs = require('fs')
3 +const Path = require('path')
4 +
5 +const config = require('./config')
6 +
7 +Server
8 + .use(require('scuttlebot/plugins/master'))
9 + .use(require('ssb-query'))
10 + .use(require('ssb-backlinks'))
11 +
12 +const server = Server(config)
13 +
14 +// this is required for ssb-client to consume
15 +// it's a list of methods that can be called remotely, without this code we won't be able to call our new plugin
16 +const manifest = server.getManifest()
17 +fs.writeFileSync(Path.join(config.path, 'manifest.json'), JSON.stringify(manifest))
18 +
19 +module.exports = server

Built with git-ssb-web