diff options
author | Rebecca Turner <me@re-becca.org> | 2015-05-22 11:33:46 +0300 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2015-06-26 03:27:03 +0300 |
commit | d3c858ce4cfb3aee515bb299eb034fe1b5e44344 (patch) | |
tree | e7714c839934a729b68038f4c7dc5ec3ed877638 /node_modules/async | |
parent | 24564b9654528d23c726cf9ea82b1aef2044b692 (diff) |
deps: deduplicate npm@3 style
Diffstat (limited to 'node_modules/async')
27 files changed, 13239 insertions, 0 deletions
diff --git a/node_modules/async/.travis.yml b/node_modules/async/.travis.yml new file mode 100644 index 000000000..0a62fcad5 --- /dev/null +++ b/node_modules/async/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "0.10" + - "0.12" + - "iojs-v2.1.0" +after_success: npm run coveralls diff --git a/node_modules/async/CHANGELOG.md b/node_modules/async/CHANGELOG.md new file mode 100644 index 000000000..80e67358f --- /dev/null +++ b/node_modules/async/CHANGELOG.md @@ -0,0 +1,65 @@ +# v1.2.1 + +Bug Fix: + +- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782) + +# v1.2.0 + +New Features: + +- Added `timesLimit` (#743) +- `concurrency` can be changed after initialization in `queue` by setting `q.concurrency`. The new concurrency will be reflected the next time a task is processed. (#747, #772) + +Bug Fixes: + +- Fixed a regression in `each` and family with empty arrays that have additional properties. (#775, #777) + + +# v1.1.1 + +Bug Fix: + +- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782) + + +# v1.1.0 + +New Features: + +- `cargo` now supports all of the same methods and event callbacks as `queue`. +- Added `ensureAsync` - A wrapper that ensures an async function calls its callback on a later tick. (#769) +- Optimized `map`, `eachOf`, and `waterfall` families of functions +- Passing a `null` or `undefined` array to `map`, `each`, `parallel` and families will be treated as an empty array (#667). +- The callback is now optional for the composed results of `compose` and `seq`. (#618) +- Reduced file size by 4kb, (minified version by 1kb) +- Added code coverage through `nyc` and `coveralls` (#768) + +Bug Fixes: + +- `forever` will no longer stack overflow with a synchronous iterator (#622) +- `eachLimit` and other limit functions will stop iterating once an error occurs (#754) +- Always pass `null` in callbacks when there is no error (#439) +- Ensure proper conditions when calling `drain()` after pushing an empty data set to a queue (#668) +- `each` and family will properly handle an empty array (#578) +- `eachSeries` and family will finish if the underlying array is modified during execution (#557) +- `queue` will throw if a non-function is passed to `q.push()` (#593) +- Doc fixes (#629, #766) + + +# v1.0.0 + +No known breaking changes, we are simply complying with semver from here on out. + +Changes: + +- Start using a changelog! +- Add `forEachOf` for iterating over Objects (or to iterate Arrays with indexes available) (#168 #704 #321) +- Detect deadlocks in `auto` (#663) +- Better support for require.js (#527) +- Throw if queue created with concurrency `0` (#714) +- Fix unneeded iteration in `queue.resume()` (#758) +- Guard against timer mocking overriding `setImmediate` (#609 #611) +- Miscellaneous doc fixes (#542 #596 #615 #628 #631 #690 #729) +- Use single noop function internally (#546) +- Optimize internal `_each`, `_map` and `_keys` functions. diff --git a/node_modules/async/LICENSE b/node_modules/async/LICENSE new file mode 100644 index 000000000..8f2969858 --- /dev/null +++ b/node_modules/async/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2010-2014 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/async/README.md b/node_modules/async/README.md new file mode 100644 index 000000000..580d79737 --- /dev/null +++ b/node_modules/async/README.md @@ -0,0 +1,1803 @@ +# Async.js + +[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) +[![NPM version](http://img.shields.io/npm/v/async.svg)](https://www.npmjs.org/package/async) +[![Coverage Status](https://coveralls.io/repos/caolan/async/badge.svg?branch=master)](https://coveralls.io/r/caolan/async?branch=master) + +Async is a utility module which provides straight-forward, powerful functions +for working with asynchronous JavaScript. Although originally designed for +use with [Node.js](http://nodejs.org) and installable via `npm install async`, +it can also be used directly in the browser. + +Async is also installable via: + +- [bower](http://bower.io/): `bower install async` +- [component](https://github.com/component/component): `component install + caolan/async` +- [jam](http://jamjs.org/): `jam install async` +- [spm](http://spmjs.io/): `spm install async` + +Async provides around 20 functions that include the usual 'functional' +suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns +for asynchronous control flow (`parallel`, `series`, `waterfall`…). All these +functions assume you follow the Node.js convention of providing a single +callback as the last argument of your `async` function. + + +## Quick Examples + +```javascript +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); + +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); + +async.parallel([ + function(){ ... }, + function(){ ... } +], callback); + +async.series([ + function(){ ... }, + function(){ ... } +]); +``` + +There are many more functions available so take a look at the docs below for a +full list. This module aims to be comprehensive, so if you feel anything is +missing please create a GitHub issue for it. + +## Common Pitfalls + +<a name="stack-overflow"> +### Synchronous iteration functions + +If you get an error like `RangeError: Maximum call stack size exceeded.` or other stack overflow issues when using async, you are likely using a synchronous iterator. By *synchronous* we mean a function that calls its callback on the same tick in the javascript event loop, without doing any I/O or using any timers. Calling many callbacks iteratively will quickly overflow the stack. If you run into this issue, just defer your callback with `async.nextTick` to start a new call stack on the next tick of the event loop. + +This can also arise by accident if you callback early in certain cases: + +```js +async.eachSeries(hugeArray, function iterator(item, callback) { + if (inCache(item)) { + callback(null, cache[item]); // if many items are cached, you'll overflow + } else { + doSomeIO(item, callback); + } +}, function done() { + //... +}); +``` + +Just change it to: + +```js +async.eachSeries(hugeArray, function iterator(item, callback) { + if (inCache(item)) { + async.setImmediate(function () { + callback(null, cache[item]); + }); + } else { + doSomeIO(item, callback); + //... +``` + +Async guards against synchronous functions in some, but not all, cases. If you are still running into stack overflows, you can defer as suggested above, or wrap functions with [`async.ensureAsync`](#ensureAsync) Functions that are asynchronous by their nature do not have this problem and don't need the extra callback deferral. + +If javascript's event loop is still a bit nebulous, check out [this article](http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/) or [this talk](http://2014.jsconf.eu/speakers/philip-roberts-what-the-heck-is-the-event-loop-anyway.html) for more detailed information about how it works. + + +### Binding a context to an iterator + +This section is really about `bind`, not about `async`. If you are wondering how to +make `async` execute your iterators in a given context, or are confused as to why +a method of another library isn't working as an iterator, study this example: + +```js +// Here is a simple object with an (unnecessarily roundabout) squaring method +var AsyncSquaringLibrary = { + squareExponent: 2, + square: function(number, callback){ + var result = Math.pow(number, this.squareExponent); + setTimeout(function(){ + callback(null, result); + }, 200); + } +}; + +async.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){ + // result is [NaN, NaN, NaN] + // This fails because the `this.squareExponent` expression in the square + // function is not evaluated in the context of AsyncSquaringLibrary, and is + // therefore undefined. +}); + +async.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){ + // result is [1, 4, 9] + // With the help of bind we can attach a context to the iterator before + // passing it to async. Now the square function will be executed in its + // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent` + // will be as expected. +}); +``` + +## Download + +The source is available for download from +[GitHub](https://github.com/caolan/async/blob/master/lib/async.js). +Alternatively, you can install using Node Package Manager (`npm`): + + npm install async + +As well as using Bower: + + bower install async + +__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed + +## In the Browser + +So far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. + +Usage: + +```html +<script type="text/javascript" src="async.js"></script> +<script type="text/javascript"> + + async.map(data, asyncProcess, function(err, results){ + alert(results); + }); + +</script> +``` + +## Documentation + +### Collections + +* [`each`](#each) +* [`eachSeries`](#eachSeries) +* [`eachLimit`](#eachLimit) +* [`forEachOf`](#forEachOf) +* [`forEachOfSeries`](#forEachOfSeries) +* [`forEachOfLimit`](#forEachOfLimit) +* [`map`](#map) +* [`mapSeries`](#mapSeries) +* [`mapLimit`](#mapLimit) +* [`filter`](#filter) +* [`filterSeries`](#filterSeries) +* [`reject`](#reject) +* [`rejectSeries`](#rejectSeries) +* [`reduce`](#reduce) +* [`reduceRight`](#reduceRight) +* [`detect`](#detect) +* [`detectSeries`](#detectSeries) +* [`sortBy`](#sortBy) +* [`some`](#some) +* [`every`](#every) +* [`concat`](#concat) +* [`concatSeries`](#concatSeries) + +### Control Flow + +* [`series`](#seriestasks-callback) +* [`parallel`](#parallel) +* [`parallelLimit`](#parallellimittasks-limit-callback) +* [`whilst`](#whilst) +* [`doWhilst`](#doWhilst) +* [`until`](#until) +* [`doUntil`](#doUntil) +* [`forever`](#forever) +* [`waterfall`](#waterfall) +* [`compose`](#compose) +* [`seq`](#seq) +* [`applyEach`](#applyEach) +* [`applyEachSeries`](#applyEachSeries) +* [`queue`](#queue) +* [`priorityQueue`](#priorityQueue) +* [`cargo`](#cargo) +* [`auto`](#auto) +* [`retry`](#retry) +* [`iterator`](#iterator) +* [`apply`](#apply) +* [`nextTick`](#nextTick) +* [`times`](#times) +* [`timesSeries`](#timesSeries) +* [`timesLimit`](#timesLimit) + +### Utils + +* [`memoize`](#memoize) +* [`unmemoize`](#unmemoize) +* [`ensureAsync`](#ensureAsync) +* [`log`](#log) +* [`dir`](#dir) +* [`noConflict`](#noConflict) + + +## Collections + +<a name="forEach" /> +<a name="each" /> +### each(arr, iterator, [callback]) + +Applies the function `iterator` to each item in `arr`, in parallel. +The `iterator` is called with an item from the list, and a callback for when it +has finished. If the `iterator` passes an error to its `callback`, the main +`callback` (for the `each` function) is immediately called with the error. + +Note, that since this function applies `iterator` to each item in parallel, +there is no guarantee that the iterator functions will complete in order. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the `callback` should be run without + arguments or with an explicit `null` argument. The array index is not passed + to the iterator. If you need the index, use [`forEachOf`](#forEachOf). +* `callback(err)` - *Optional* A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Examples__ + + +```js +// assuming openFiles is an array of file names and saveFile is a function +// to save the modified contents of that file: + +async.each(openFiles, saveFile, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +```js +// assuming openFiles is an array of file names + +async.each(openFiles, function(file, callback) { + + // Perform operation on file here. + console.log('Processing file ' + file); + + if( file.length > 32 ) { + console.log('This file name is too long'); + callback('File name too long'); + } else { + // Do work to process file here + console.log('File processed'); + callback(); + } +}, function(err){ + // if any of the file processing produced an error, err would equal that error + if( err ) { + // One of the iterations produced an error. + // All processing will now stop. + console.log('A file failed to process'); + } else { + console.log('All files have been processed successfully'); + } +}); +``` + +--------------------------------------- + +<a name="forEachSeries" /> +<a name="eachSeries" /> +### eachSeries(arr, iterator, [callback]) + +The same as [`each`](#each), only `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +This means the `iterator` functions will complete in order. + + +--------------------------------------- + +<a name="forEachLimit" /> +<a name="eachLimit" /> +### eachLimit(arr, limit, iterator, [callback]) + +The same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items in `arr` are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err)` which must be called once it has + completed. If no error has occurred, the callback should be run without + arguments or with an explicit `null` argument. +* `callback(err)` - *Optional* A callback which is called when all `iterator` functions + have finished, or an error occurs. + +__Example__ + +```js +// Assume documents is an array of JSON objects and requestApi is a +// function that interacts with a rate-limited REST api. + +async.eachLimit(documents, 20, requestApi, function(err){ + // if any of the saves produced an error, err would equal that error +}); +``` + +--------------------------------------- + +<a name="forEachOf" /> +<a name="eachOf" /> + +### forEachOf(obj, iterator, [callback]) + +Like `each`, except that it iterates over objects, and passes the key as the second argument to the iterator. + +__Arguments__ + +* `obj` - An object or array to iterate over. +* `iterator(item, key, callback)` - A function to apply to each item in `obj`. +The `key` is the item's key, or index in the case of an array. The iterator is +passed a `callback(err)` which must be called once it has completed. If no +error has occurred, the callback should be run without arguments or with an +explicit `null` argument. +* `callback(err)` - *Optional* A callback which is called when all `iterator` functions have finished, or an error occurs. + +__Example__ + +```js +var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"}; +var configs = {}; + +async.forEachOf(obj, function (value, key, callback) { + fs.readFile(__dirname + value, "utf8", function (err, data) { + if (err) return callback(err); + try { + configs[key] = JSON.parse(data); + } catch (e) { + return callback(e); + } + callback(); + }) +}, function (err) { + if (err) console.error(err.message); + // configs is now a map of JSON data + doSomethingWith(configs); +}) +``` + +--------------------------------------- + +<a name="forEachOfSeries" /> +<a name="eachOfSeries" /> + +### forEachOfSeries(obj, iterator, [callback]) + +Like [`forEachOf`](#forEachOf), except only one `iterator` is run at a time. The order of execution is not guaranteed for objects, but it will be guaranteed for arrays. + +--------------------------------------- + +<a name="forEachOfLimit" /> +<a name="eachOfLimit" /> + +### forEachOfLimit(obj, limit, iterator, [callback]) + +Like [`forEachOf`](#forEachOf), except the number of `iterator`s running at a given time is controlled by `limit`. + + +--------------------------------------- + +<a name="map" /> +### map(arr, iterator, [callback]) + +Produces a new array of values by mapping each value in `arr` through +the `iterator` function. The `iterator` is called with an item from `arr` and a +callback for when it has finished processing. Each of these callback takes 2 arguments: +an `error`, and the transformed item from `arr`. If `iterator` passes an error to its +callback, the main `callback` (for the `map` function) is immediately called with the error. + +Note, that since this function applies the `iterator` to each item in parallel, +there is no guarantee that the `iterator` functions will complete in order. +However, the results array will be in the same order as the original `arr`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - *Optional* A callback which is called when all `iterator` + functions have finished, or an error occurs. Results is an array of the + transformed items from the `arr`. + +__Example__ + +```js +async.map(['file1','file2','file3'], fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + +<a name="mapSeries" /> +### mapSeries(arr, iterator, [callback]) + +The same as [`map`](#map), only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + + +--------------------------------------- + +<a name="mapLimit" /> +### mapLimit(arr, limit, iterator, [callback]) + +The same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously +running at any time. + +Note that the items are not processed in batches, so there is no guarantee that +the first `limit` `iterator` functions will complete before any others are started. + +__Arguments__ + +* `arr` - An array to iterate over. +* `limit` - The maximum number of `iterator`s to run at any time. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, transformed)` which must be called once + it has completed with an error (which can be `null`) and a transformed item. +* `callback(err, results)` - A callback which is called when all `iterator` + calls have finished, or an error occurs. The result is an array of the + transformed items from the original `arr`. + +__Example__ + +```js +async.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){ + // results is now an array of stats for each file +}); +``` + +--------------------------------------- + +<a name="select" /> +<a name="filter" /> +### filter(arr, iterator, [callback]) + +__Alias:__ `select` + +Returns a new array of all the values in `arr` which pass an async truth test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. This operation is +performed in parallel, but the results array will be in the same order as the +original. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The `iterator` is passed a `callback(truthValue)`, which must be called with a + boolean argument once it has completed. +* `callback(results)` - *Optional* A callback which is called after all the `iterator` + functions have finished. + +__Example__ + +```js +async.filter(['file1','file2','file3'], fs.exists, function(results){ + // results now equals an array of the existing files +}); +``` + +--------------------------------------- + +<a name="selectSeries" /> +<a name="filterSeries" /> +### filterSeries(arr, iterator, [callback]) + +__Alias:__ `selectSeries` + +The same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + +--------------------------------------- + +<a name="reject" /> +### reject(arr, iterator, [callback]) + +The opposite of [`filter`](#filter). Removes values that pass an `async` truth test. + +--------------------------------------- + +<a name="rejectSeries" /> +### rejectSeries(arr, iterator, [callback]) + +The same as [`reject`](#reject), only the `iterator` is applied to each item in `arr` +in series. + + +--------------------------------------- + +<a name="reduce" /> +### reduce(arr, memo, iterator, [callback]) + +__Aliases:__ `inject`, `foldl` + +Reduces `arr` into a single value using an async `iterator` to return +each successive step. `memo` is the initial state of the reduction. +This function only operates in series. + +For performance reasons, it may make sense to split a call to this function into +a parallel map, and then use the normal `Array.prototype.reduce` on the results. +This function is for situations where each step in the reduction needs to be async; +if you can get the data before reducing it, then it's probably a good idea to do so. + +__Arguments__ + +* `arr` - An array to iterate over. +* `memo` - The initial state of the reduction. +* `iterator(memo, item, callback)` - A function applied to each item in the + array to produce the next step in the reduction. The `iterator` is passed a + `callback(err, reduction)` which accepts an optional error as its first + argument, and the state of the reduction as the second. If an error is + passed to the callback, the reduction is stopped and the main `callback` is + immediately called with the error. +* `callback(err, result)` - *Optional* A callback which is called after all the `iterator` + functions have finished. Result is the reduced value. + +__Example__ + +```js +async.reduce([1,2,3], 0, function(memo, item, callback){ + // pointless async: + process.nextTick(function(){ + callback(null, memo + item) + }); +}, function(err, result){ + // result is now equal to the last value of memo, which is 6 +}); +``` + +--------------------------------------- + +<a name="reduceRight" /> +### reduceRight(arr, memo, iterator, [callback]) + +__Alias:__ `foldr` + +Same as [`reduce`](#reduce), only operates on `arr` in reverse order. + + +--------------------------------------- + +<a name="detect" /> +### detect(arr, iterator, [callback]) + +Returns the first value in `arr` that passes an async truth test. The +`iterator` is applied in parallel, meaning the first iterator to return `true` will +fire the detect `callback` with that result. That means the result might not be +the first item in the original `arr` (in terms of order) that passes the test. + +If order within the original `arr` is important, then look at [`detectSeries`](#detectSeries). + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in `arr`. + The iterator is passed a `callback(truthValue)` which must be called with a + boolean argument once it has completed. **Note: this callback does not take an error as its first argument.** +* `callback(result)` - *Optional* A callback which is called as soon as any iterator returns + `true`, or after all the `iterator` functions have finished. Result will be + the first item in the array that passes the truth test (iterator) or the + value `undefined` if none passed. **Note: this callback does not take an error as its first argument.** + +__Example__ + +```js +async.detect(['file1','file2','file3'], fs.exists, function(result){ + // result now equals the first file in the list that exists +}); +``` + +--------------------------------------- + +<a name="detectSeries" /> +### detectSeries(arr, iterator, [callback]) + +The same as [`detect`](#detect), only the `iterator` is applied to each item in `arr` +in series. This means the result is always the first in the original `arr` (in +terms of array order) that passes the truth test. + + +--------------------------------------- + +<a name="sortBy" /> +### sortBy(arr, iterator, [callback]) + +Sorts a list by the results of running each `arr` value through an async `iterator`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, sortValue)` which must be called once it + has completed with an error (which can be `null`) and a value to use as the sort + criteria. +* `callback(err, results)` - *Optional* A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is the items from + the original `arr` sorted by the values returned by the `iterator` calls. + +__Example__ + +```js +async.sortBy(['file1','file2','file3'], function(file, callback){ + fs.stat(file, function(err, stats){ + callback(err, stats.mtime); + }); +}, function(err, results){ + // results is now the original array of files sorted by + // modified date +}); +``` + +__Sort Order__ + +By modifying the callback parameter the sorting order can be influenced: + +```js +//ascending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x); +}, function(err,result){ + //result callback +} ); + +//descending order +async.sortBy([1,9,3,5], function(x, callback){ + callback(null, x*-1); //<- x*-1 instead of x, turns the order around +}, function(err,result){ + //result callback +} ); +``` + +--------------------------------------- + +<a name="some" /> +### some(arr, iterator, [callback]) + +__Alias:__ `any` + +Returns `true` if at least one element in the `arr` satisfies an async test. +_The callback for each iterator call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. Once any iterator +call returns `true`, the main `callback` is immediately called. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a `callback(truthValue)`` which must be + called with a boolean argument once it has completed. +* `callback(result)` - *Optional* A callback which is called as soon as any iterator returns + `true`, or after all the iterator functions have finished. Result will be + either `true` or `false` depending on the values of the async tests. + + **Note: the callbacks do not take an error as their first argument.** +__Example__ + +```js +async.some(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then at least one of the files exists +}); +``` + +--------------------------------------- + +<a name="every" /> +### every(arr, iterator, [callback]) + +__Alias:__ `all` + +Returns `true` if every element in `arr` satisfies an async test. +_The callback for each `iterator` call only accepts a single argument of `true` or +`false`; it does not accept an error argument first!_ This is in-line with the +way node libraries work with truth tests like `fs.exists`. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A truth test to apply to each item in the array + in parallel. The iterator is passed a `callback(truthValue)` which must be + called with a boolean argument once it has completed. +* `callback(result)` - *Optional* A callback which is called after all the `iterator` + functions have finished. Result will be either `true` or `false` depending on + the values of the async tests. + + **Note: the callbacks do not take an error as their first argument.** + +__Example__ + +```js +async.every(['file1','file2','file3'], fs.exists, function(result){ + // if result is true then every file exists +}); +``` + +--------------------------------------- + +<a name="concat" /> +### concat(arr, iterator, [callback]) + +Applies `iterator` to each item in `arr`, concatenating the results. Returns the +concatenated list. The `iterator`s are called in parallel, and the results are +concatenated as they return. There is no guarantee that the results array will +be returned in the original order of `arr` passed to the `iterator` function. + +__Arguments__ + +* `arr` - An array to iterate over. +* `iterator(item, callback)` - A function to apply to each item in `arr`. + The iterator is passed a `callback(err, results)` which must be called once it + has completed with an error (which can be `null`) and an array of results. +* `callback(err, results)` - *Optional* A callback which is called after all the `iterator` + functions have finished, or an error occurs. Results is an array containing + the concatenated results of the `iterator` function. + +__Example__ + +```js +async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){ + // files is now a list of filenames that exist in the 3 directories +}); +``` + +--------------------------------------- + +<a name="concatSeries" /> +### concatSeries(arr, iterator, [callback]) + +Same as [`concat`](#concat), but executes in series instead of parallel. + + +## Control Flow + +<a name="series" /> +### series(tasks, [callback]) + +Run the functions in the `tasks` array in series, each one running once the previous +function has completed. If any functions in the series pass an error to its +callback, no more functions are run, and `callback` is immediately called with the value of the error. +Otherwise, `callback` receives an array of results when `tasks` have completed. + +It is also possible to use an object instead of an array. Each property will be +run as a function, and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`series`](#series). + +**Note** that while many implementations preserve the order of object properties, the +[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) +explicitly states that + +> The mechanics and order of enumerating the properties is not specified. + +So if you rely on the order in which your series of functions are executed, and want +this to work on all platforms, consider using an array. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +__Example__ + +```js +async.series([ + function(callback){ + // do some stuff ... + callback(null, 'one'); + }, + function(callback){ + // do some more stuff ... + callback(null, 'two'); + } +], +// optional callback +function(err, results){ + // results is now equal to ['one', 'two'] +}); + + +// an example using an object instead of an array +async.series({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equal to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + +<a name="parallel" /> +### parallel(tasks, [callback]) + +Run the `tasks` array of functions in parallel, without waiting until the previous +function has completed. If any of the functions pass an error to its +callback, the main `callback` is immediately called with the value of the error. +Once the `tasks` have completed, the results are passed to the final `callback` as an +array. + +It is also possible to use an object instead of an array. Each property will be +run as a function and the results will be passed to the final `callback` as an object +instead of an array. This can be a more readable way of handling results from +[`parallel`](#parallel). + + +__Arguments__ + +* `tasks` - An array or object containing functions to run. Each function is passed + a `callback(err, result)` which it must call on completion with an error `err` + (which can be `null`) and an optional `result` value. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the task callbacks. + +__Example__ + +```js +async.parallel([ + function(callback){ + setTimeout(function(){ + callback(null, 'one'); + }, 200); + }, + function(callback){ + setTimeout(function(){ + callback(null, 'two'); + }, 100); + } +], +// optional callback +function(err, results){ + // the results array will equal ['one','two'] even though + // the second function had a shorter timeout. +}); + + +// an example using an object instead of an array +async.parallel({ + one: function(callback){ + setTimeout(function(){ + callback(null, 1); + }, 200); + }, + two: function(callback){ + setTimeout(function(){ + callback(null, 2); + }, 100); + } +}, +function(err, results) { + // results is now equals to: {one: 1, two: 2} +}); +``` + +--------------------------------------- + +<a name="parallelLimit" /> +### parallelLimit(tasks, limit, [callback]) + +The same as [`parallel`](#parallel), only `tasks` are executed in parallel +with a maximum of `limit` tasks executing at any time. + +Note that the `tasks` are not executed in batches, so there is no guarantee that +the first `limit` tasks will complete before any others are started. + +__Arguments__ + +* `tasks` - An array or object containing functions to run, each function is passed + a `callback(err, result)` it must call on completion with an error `err` (which can + be `null`) and an optional `result` value. +* `limit` - The maximum number of `tasks` to run at any time. +* `callback(err, results)` - An optional callback to run once all the functions + have completed. This function gets a results array (or object) containing all + the result arguments passed to the `task` callbacks. + +--------------------------------------- + +<a name="whilst" /> +### whilst(test, fn, callback) + +Repeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +__Arguments__ + +* `test()` - synchronous truth test to perform before each execution of `fn`. +* `fn(callback)` - A function which is called each time `test` passes. The function is + passed a `callback(err)`, which must be called once it has completed with an + optional `err` argument. +* `callback(err)` - A callback which is called after the test fails and repeated + execution of `fn` has stopped. + +__Example__ + +```js +var count = 0; + +async.whilst( + function () { return count < 5; }, + function (callback) { + count++; + setTimeout(callback, 1000); + }, + function (err) { + // 5 seconds have passed + } +); +``` + +--------------------------------------- + +<a name="doWhilst" /> +### doWhilst(fn, test, callback) + +The post-check version of [`whilst`](#whilst). To reflect the difference in +the order of operations, the arguments `test` and `fn` are switched. + +`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript. + +--------------------------------------- + +<a name="until" /> +### until(test, fn, callback) + +Repeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped, +or an error occurs. + +The inverse of [`whilst`](#whilst). + +--------------------------------------- + +<a name="doUntil" /> +### doUntil(fn, test, callback) + +Like [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`. + +--------------------------------------- + +<a name="forever" /> +### forever(fn, [errback]) + +Calls the asynchronous function `fn` with a callback parameter that allows it to +call itself again, in series, indefinitely. + +If an error is passed to the callback then `errback` is called with the +error, and execution stops, otherwise it will never be called. + +```js +async.forever( + function(next) { + // next is suitable for passing to things that need a callback(err [, whatever]); + // it will result in this function being called again. + }, + function(err) { + // if next is called with a value in its first parameter, it will appear + // in here as 'err', and execution will stop. + } +); +``` + +--------------------------------------- + +<a name="waterfall" /> +### waterfall(tasks, [callback]) + +Runs the `tasks` array of functions in series, each passing their results to the next in +the array. However, if any of the `tasks` pass an error to their own callback, the +next function is not executed, and the main `callback` is immediately called with +the error. + +__Arguments__ + +* `tasks` - An array of functions to run, each function is passed a + `callback(err, result1, result2, ...)` it must call on completion. The first + argument is an error (which can be `null`) and any further arguments will be + passed as arguments in order to the next task. +* `callback(err, [results])` - An optional callback to run once all the functions + have completed. This will be passed the results of the last task's callback. + + + +__Example__ + +```js +async.waterfall([ + function(callback) { + callback(null, 'one', 'two'); + }, + function(arg1, arg2, callback) { + // arg1 now equals 'one' and arg2 now equals 'two' + callback(null, 'three'); + }, + function(arg1, callback) { + // arg1 now equals 'three' + callback(null, 'done'); + } +], function (err, result) { + // result now equals 'done' +}); +``` + +--------------------------------------- +<a name="compose" /> +### compose(fn1, fn2...) + +Creates a function which is a composition of the passed asynchronous +functions. Each function consumes the return value of the function that +follows. Composing functions `f()`, `g()`, and `h()` would produce the result of +`f(g(h()))`, only this version uses callbacks to obtain the return values. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* `functions...` - the asynchronous functions to compose + + +__Example__ + +```js +function add1(n, callback) { + setTimeout(function () { + callback(null, n + 1); + }, 10); +} + +function mul3(n, callback) { + setTimeout(function () { + callback(null, n * 3); + }, 10); +} + +var add1mul3 = async.compose(mul3, add1); + +add1mul3(4, function (err, result) { + // result now equals 15 +}); +``` + +--------------------------------------- +<a name="seq" /> +### seq(fn1, fn2...) + +Version of the compose function that is more natural to read. +Each function consumes the return value of the previous function. +It is the equivalent of [`compose`](#compose) with the arguments reversed. + +Each function is executed with the `this` binding of the composed function. + +__Arguments__ + +* functions... - the asynchronous functions to compose + + +__Example__ + +```js +// Requires lodash (or underscore), express3 and dresende's orm2. +// Part of an app, that fetches cats of the logged user. +// This example uses `seq` function to avoid overnesting and error +// handling clutter. +app.get('/cats', function(request, response) { + var User = request.models.User; + async.seq( + _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + function(user, fn) { + user.getCats(fn); // 'getCats' has signature (callback(err, data)) + } + )(req.session.user_id, function (err, cats) { + if (err) { + console.error(err); + response.json({ status: 'error', message: err.message }); + } else { + response.json({ status: 'ok', message: 'Cats found', data: cats }); + } + }); +}); +``` + +--------------------------------------- +<a name="applyEach" /> +### applyEach(fns, args..., callback) + +Applies the provided arguments to each function in the array, calling +`callback` after all functions have completed. If you only provide the first +argument, then it will return a function which lets you pass in the +arguments as if it were a single function call. + +__Arguments__ + +* `fns` - the asynchronous functions to all call with the same arguments +* `args...` - any number of separate arguments to pass to the function +* `callback` - the final argument should be the callback, called when all + functions have completed processing + + +__Example__ + +```js +async.applyEach([enableSearch, updateSchema], 'bucket', callback); + +// partial application example: +async.each( + buckets, + async.applyEach([enableSearch, updateSchema]), + callback +); +``` + +--------------------------------------- + +<a name="applyEachSeries" /> +### applyEachSeries(arr, args..., callback) + +The same as [`applyEach`](#applyEach) only the functions are applied in series. + +--------------------------------------- + +<a name="queue" /> +### queue(worker, [concurrency]) + +Creates a `queue` object with the specified `concurrency`. Tasks added to the +`queue` are processed in parallel (up to the `concurrency` limit). If all +`worker`s are in progress, the task is queued until one becomes available. +Once a `worker` completes a `task`, that `task`'s callback is called. + +__Arguments__ + +* `worker(task, callback)` - An asynchronous function for processing a queued + task, which must call its `callback(err)` argument when finished, with an + optional `error` as an argument. If you want to handle errors from an individual task, pass a callback to `q.push()`. +* `concurrency` - An `integer` for determining how many `worker` functions should be + run in parallel. If omitted, the concurrency defaults to `1`. If the concurrency is `0`, an error is thrown. + +__Queue objects__ + +The `queue` object returned by this function has the following properties and +methods: + +* `length()` - a function returning the number of items waiting to be processed. +* `started` - a function returning whether or not any items have been pushed and processed by the queue +* `running()` - a function returning the number of items currently being processed. +* `idle()` - a function returning false if there are items waiting or being processed, or true if not. +* `concurrency` - an integer for determining how many `worker` functions should be + run in parallel. This property can be changed after a `queue` is created to + alter the concurrency on-the-fly. +* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once + the `worker` has finished processing the task. Instead of a single task, a `tasks` array + can be submitted. The respective callback is used for every task in the list. +* `unshift(task, [callback])` - add a new task to the front of the `queue`. +* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, + and further tasks will be queued. +* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`. +* `paused` - a boolean for determining whether the queue is in a paused state +* `pause()` - a function that pauses the processing of tasks until `resume()` is called. +* `resume()` - a function that resumes the processing of queued tasks when the queue is paused. +* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. + +__Example__ + +```js +// create a queue object with concurrency 2 + +var q = async.queue(function (task, callback) { + console.log('hello ' + task.name); + callback(); +}, 2); + + +// assign a callback +q.drain = function() { + console.log('all items have been processed'); +} + +// add some items to the queue + +q.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +q.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); + +// add some items to the queue (batch-wise) + +q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { + console.log('finished processing item'); +}); + +// add some items to the front of the queue + +q.unshift({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +``` + + +--------------------------------------- + +<a name="priorityQueue" /> +### priorityQueue(worker, concurrency) + +The same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects: + +* `push(task, priority, [callback])` - `priority` should be a number. If an array of + `tasks` is given, all tasks will be assigned the same priority. +* The `unshift` method was removed. + +--------------------------------------- + +<a name="cargo" /> +### cargo(worker, [payload]) + +Creates a `cargo` object with the specified payload. Tasks added to the +cargo will be processed altogether (up to the `payload` limit). If the +`worker` is in progress, the task is queued until it becomes available. Once +the `worker` has completed some tasks, each callback of those tasks is called. +Check out [these](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) [animations](https://camo.githubusercontent.com/f4810e00e1c5f5f8addbe3e9f49064fd5d102699/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130312f38346339323036362d356632392d313165322d383134662d3964336430323431336266642e676966) for how `cargo` and `queue` work. + +While [queue](#queue) passes only one task to one of a group of workers +at a time, cargo passes an array of tasks to a single worker, repeating +when the worker is finished. + +__Arguments__ + +* `worker(tasks, callback)` - An asynchronous function for processing an array of + queued tasks, which must call its `callback(err)` argument when finished, with + an optional `err` argument. +* `payload` - An optional `integer` for determining how many tasks should be + processed per round; if omitted, the default is unlimited. + +__Cargo objects__ + +The `cargo` object returned by this function has the following properties and +methods: + +* `length()` - A function returning the number of items waiting to be processed. +* `payload` - An `integer` for determining how many tasks should be + process per round. This property can be changed after a `cargo` is created to + alter the payload on-the-fly. +* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called + once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` + can be submitted. The respective callback is used for every task in the list. +* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued. +* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`. +* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`. +* `idle()`, `pause()`, `resume()`, `kill()` - cargo inherits all of the same methods and event calbacks as [`queue`](#queue) + +__Example__ + +```js +// create a cargo object with payload 2 + +var cargo = async.cargo(function (tasks, callback) { + for(var i=0; i<tasks.length; i++){ + console.log('hello ' + tasks[i].name); + } + callback(); +}, 2); + + +// add some items + +cargo.push({name: 'foo'}, function (err) { + console.log('finished processing foo'); +}); +cargo.push({name: 'bar'}, function (err) { + console.log('finished processing bar'); +}); +cargo.push({name: 'baz'}, function (err) { + console.log('finished processing baz'); +}); +``` + +--------------------------------------- + +<a name="auto" /> +### auto(tasks, [callback]) + +Determines the best order for running the functions in `tasks`, based on their +requirements. Each function can optionally depend on other functions being completed +first, and each function is run as soon as its requirements are satisfied. + +If any of the functions pass an error to their callback, it will not +complete (so any other functions depending on it will not run), and the main +`callback` is immediately called with the error. Functions also receive an +object containing the results of functions which have completed so far. + +Note, all functions are called with a `results` object as a second argument, +so it is unsafe to pass functions in the `tasks` object which cannot handle the +extra argument. + +For example, this snippet of code: + +```js +async.auto({ + readData: async.apply(fs.readFile, 'data.txt', 'utf-8') +}, callback); +``` + +will have the effect of calling `readFile` with the results object as the last +argument, which will fail: + +```js +fs.readFile('data.txt', 'utf-8', cb, {}); +``` + +Instead, wrap the call to `readFile` in a function which does not forward the +`results` object: + +```js +async.auto({ + readData: function(cb, results){ + fs.readFile('data.txt', 'utf-8', cb); + } +}, callback); +``` + +__Arguments__ + +* `tasks` - An object. Each of its properties is either a function or an array of + requirements, with the function itself the last item in the array. The object's key + of a property serves as the name of the task defined by that property, + i.e. can be used when specifying requirements for other tasks. + The function receives two arguments: (1) a `callback(err, result)` which must be + called when finished, passing an `error` (which can be `null`) and the result of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions. +* `callback(err, results)` - An optional callback which is called when all the + tasks have been completed. It receives the `err` argument if any `tasks` + pass an error to their callback. Results are always returned; however, if + an error occurs, no further `tasks` will be performed, and the results + object will only contain partial results. + + +__Example__ + +```js +async.auto({ + get_data: function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + make_folder: function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + }, + write_file: ['get_data', 'make_folder', function(callback, results){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + callback(null, 'filename'); + }], + email_link: ['write_file', function(callback, results){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + // results.write_file contains the filename returned by write_file. + callback(null, {'file':results.write_file, 'email':'user@example.com'}); + }] +}, function(err, results) { + console.log('err = ', err); + console.log('results = ', results); +}); +``` + +This is a fairly trivial example, but to do this using the basic parallel and +series functions would look like this: + +```js +async.parallel([ + function(callback){ + console.log('in get_data'); + // async code to get some data + callback(null, 'data', 'converted to array'); + }, + function(callback){ + console.log('in make_folder'); + // async code to create a directory to store a file in + // this is run at the same time as getting the data + callback(null, 'folder'); + } +], +function(err, results){ + async.series([ + function(callback){ + console.log('in write_file', JSON.stringify(results)); + // once there is some data and the directory exists, + // write the data to a file in the directory + results.push('filename'); + callback(null); + }, + function(callback){ + console.log('in email_link', JSON.stringify(results)); + // once the file is written let's email a link to it... + callback(null, {'file':results.pop(), 'email':'user@example.com'}); + } + ]); +}); +``` + +For a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding +new tasks much easier (and the code more readable). + + +--------------------------------------- + +<a name="retry" /> +### retry([times = 5], task, [callback]) + +Attempts to get a successful response from `task` no more than `times` times before +returning an error. If the task is successful, the `callback` will be passed the result +of the successful task. If all attempts fail, the callback will be passed the error and +result (if any) of the final attempt. + +__Arguments__ + +* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5. +* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)` + which must be called when finished, passing `err` (which can be `null`) and the `result` of + the function's execution, and (2) a `results` object, containing the results of + the previously executed functions (if nested inside another control flow). +* `callback(err, results)` - An optional callback which is called when the + task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`. + +The [`retry`](#retry) function can be used as a stand-alone control flow by passing a +callback, as shown below: + +```js +async.retry(3, apiMethod, function(err, result) { + // do something with the result +}); +``` + +It can also be embeded within other control flow functions to retry individual methods +that are not as reliable, like this: + +```js +async.auto({ + users: api.getUsers.bind(api), + payments: async.retry(3, api.getPayments.bind(api)) +}, function(err, results) { + // do something with the results +}); +``` + + +--------------------------------------- + +<a name="iterator" /> +### iterator(tasks) + +Creates an iterator function which calls the next function in the `tasks` array, +returning a continuation to call the next one after that. It's also possible to +“peek” at the next iterator with `iterator.next()`. + +This function is used internally by the `async` module, but can be useful when +you want to manually control the flow of functions in series. + +__Arguments__ + +* `tasks` - An array of functions to run. + +__Example__ + +```js +var iterator = async.iterator([ + function(){ sys.p('one'); }, + function(){ sys.p('two'); }, + function(){ sys.p('three'); } +]); + +node> var iterator2 = iterator(); +'one' +node> var iterator3 = iterator2(); +'two' +node> iterator3(); +'three' +node> var nextfn = iterator2.next(); +node> nextfn(); +'three' +``` + +--------------------------------------- + +<a name="apply" /> +### apply(function, arguments..) + +Creates a continuation function with some arguments already applied. + +Useful as a shorthand when combined with other control flow functions. Any arguments +passed to the returned function are added to the arguments originally passed +to apply. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to automatically apply when the + continuation is called. + +__Example__ + +```js +// using apply + +async.parallel([ + async.apply(fs.writeFile, 'testfile1', 'test1'), + async.apply(fs.writeFile, 'testfile2', 'test2'), +]); + + +// the same process without using apply + +async.parallel([ + function(callback){ + fs.writeFile('testfile1', 'test1', callback); + }, + function(callback){ + fs.writeFile('testfile2', 'test2', callback); + } +]); +``` + +It's possible to pass any number of additional arguments when calling the +continuation: + +```js +node> var fn = async.apply(sys.puts, 'one'); +node> fn('two', 'three'); +one +two +three +``` + +--------------------------------------- + +<a name="nextTick" /> +### nextTick(callback), setImmediate(callback) + +Calls `callback` on a later loop around the event loop. In Node.js this just +calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` +if available, otherwise `setTimeout(callback, 0)`, which means other higher priority +events may precede the execution of `callback`. + +This is used internally for browser-compatibility purposes. + +__Arguments__ + +* `callback` - The function to call on a later loop around the event loop. + +__Example__ + +```js +var call_order = []; +async.nextTick(function(){ + call_order.push('two'); + // call_order now equals ['one','two'] +}); +call_order.push('one') +``` + +<a name="times" /> +### times(n, iterator, [callback]) + +Calls the `iterator` function `n` times, and accumulates results in the same manner +you would use with [`map`](#map). + +__Arguments__ + +* `n` - The number of times to run the function. +* `iterator` - The function to call `n` times. +* `callback` - see [`map`](#map) + +__Example__ + +```js +// Pretend this is some complicated async factory +var createUser = function(id, callback) { + callback(null, { + id: 'user' + id + }) +} +// generate 5 users +async.times(5, function(n, next){ + createUser(n, function(err, user) { + next(err, user) + }) +}, function(err, users) { + // we should now have 5 users +}); +``` + +<a name="timesSeries" /> +### timesSeries(n, iterator, [callback]) + +The same as [`times`](#times), only the iterator is applied to each item in `arr` in +series. The next `iterator` is only called once the current one has completed. +The results array will be in the same order as the original. + +<a name="timesLimit" /> +### timesLimit(n, limit, iterator, [callback]) + +The same as [`times`](#times), except a maximum of `limit` iterators are run at a given time, similar to [`mapLimit`](#mapLimit). + + +## Utils + +<a name="memoize" /> +### memoize(fn, [hasher]) + +Caches the results of an `async` function. When creating a hash to store function +results against, the callback is omitted from the hash and an optional hash +function can be used. + +If no hash function is specified, the first argument is used as a hash key, which may work reasonably if it is a string or a data type that converts to a distinct string. Note that objects and arrays will not behave reasonably. Neither will cases where the other arguments are significant. In such cases, specify your own hash function. + +The cache of results is exposed as the `memo` property of the function returned +by `memoize`. + +__Arguments__ + +* `fn` - The function to proxy and cache results from. +* `hasher` - An optional function for generating a custom hash for storing + results. It has all the arguments applied to it apart from the callback, and + must be synchronous. + +__Example__ + +```js +var slow_fn = function (name, callback) { + // do something + callback(null, result); +}; +var fn = async.memoize(slow_fn); + +// fn can now be used as if it were slow_fn +fn('some name', function () { + // callback +}); +``` + +<a name="unmemoize" /> +### unmemoize(fn) + +Undoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized +form. Handy for testing. + +__Arguments__ + +* `fn` - the memoized function + +--------------------------------------- + +<a name="ensureAsync" /> +### ensureAsync(fn) + +Wrap an async function and ensure it calls its callback on a later tick of the event loop. If the function already calls its callback on a next tick, no extra deferral is added. This is useful for preventing stack overflows (`RangeError: Maximum call stack size exceeded`) and generally keeping [Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony) contained. + +__Arguments__ + +* `fn` - an async function, one that expects a node-style callback as its last argument + +Returns a wrapped function with the exact same call signature as the function passed in. + +__Example__ + +```js +function sometimesAsync(arg, callback) { + if (cache[arg]) { + return callback(null, cache[arg]); // this would be synchronous!! + } else { + doSomeIO(arg, callback); // this IO would be asynchronous + } +} + +// this has a risk of stack overflows if many results are cached in a row +async.mapSeries(args, sometimesAsync, done); + +// this will defer sometimesAsync's callback if necessary, +// preventing stack overflows +async.mapSeries(args, async.ensureAsync(sometimesAsync), done); + +``` + +--------------------------------------- + +<a name="log" /> +### log(function, arguments) + +Logs the result of an `async` function to the `console`. Only works in Node.js or +in browsers that support `console.log` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.log` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, 'hello ' + name); + }, 1000); +}; +``` +```js +node> async.log(hello, 'world'); +'hello world' +``` + +--------------------------------------- + +<a name="dir" /> +### dir(function, arguments) + +Logs the result of an `async` function to the `console` using `console.dir` to +display the properties of the resulting object. Only works in Node.js or +in browsers that support `console.dir` and `console.error` (such as FF and Chrome). +If multiple arguments are returned from the async function, `console.dir` is +called on each argument in order. + +__Arguments__ + +* `function` - The function you want to eventually apply all arguments to. +* `arguments...` - Any number of arguments to apply to the function. + +__Example__ + +```js +var hello = function(name, callback){ + setTimeout(function(){ + callback(null, {hello: name}); + }, 1000); +}; +``` +```js +node> async.dir(hello, 'world'); +{hello: 'world'} +``` + +--------------------------------------- + +<a name="noConflict" /> +### noConflict() + +Changes the value of `async` back to its original value, returning a reference to the +`async` object. diff --git a/node_modules/async/bower.json b/node_modules/async/bower.json new file mode 100644 index 000000000..60b78284a --- /dev/null +++ b/node_modules/async/bower.json @@ -0,0 +1,43 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "1.2.1", + "main": "lib/async.js", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/caolan/async.git" + }, + "devDependencies": { + "benchmark": "bestiejs/benchmark.js", + "coveralls": "^2.11.2", + "jshint": "~2.7.0", + "lodash": ">=2.4.1", + "mkdirp": "~0.5.1", + "nodeunit": ">0.0.0", + "nyc": "^2.1.0", + "uglify-js": "1.2.x", + "yargs": "~3.9.1" + }, + "moduleType": [ + "amd", + "globals", + "node" + ], + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "authors": [ + "Caolan McMahon" + ] +}
\ No newline at end of file diff --git a/node_modules/async/component.json b/node_modules/async/component.json new file mode 100644 index 000000000..0684c869b --- /dev/null +++ b/node_modules/async/component.json @@ -0,0 +1,17 @@ +{ + "name": "async", + "description": "Higher-order functions and common patterns for asynchronous code", + "version": "1.2.1", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "main": "lib/async.js", + "repository": "caolan/async", + "scripts": [ + "lib/async.js" + ] +}
\ No newline at end of file diff --git a/node_modules/async/coverage/base.css b/node_modules/async/coverage/base.css new file mode 100644 index 000000000..7fb882722 --- /dev/null +++ b/node_modules/async/coverage/base.css @@ -0,0 +1,182 @@ +body, html { + margin:0; padding: 0; +} +body { + font-family: Helvetica Neue, Helvetica,Arial; + font-size: 10pt; +} +div.header, div.footer { + background: #eee; + padding: 1em; +} +div.header { + z-index: 100; + position: fixed; + top: 0; + border-bottom: 1px solid #666; + width: 100%; +} +div.footer { + border-top: 1px solid #666; +} +div.body { + margin-top: 10em; +} +div.meta { + font-size: 90%; + text-align: center; +} +h1, h2, h3 { + font-weight: normal; +} +h1 { + font-size: 12pt; +} +h2 { + font-size: 10pt; +} +pre { + font-family: Consolas, Menlo, Monaco, monospace; + margin: 0; + padding: 0; + line-height: 14px; + font-size: 14px; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +div.path { font-size: 110%; } +div.path a:link, div.path a:visited { color: #000; } +table.coverage { border-collapse: collapse; margin:0; padding: 0 } + +table.coverage td { + margin: 0; + padding: 0; + color: #111; + vertical-align: top; +} +table.coverage td.line-count { + width: 50px; + text-align: right; + padding-right: 5px; +} +table.coverage td.line-coverage { + color: #777 !important; + text-align: right; + border-left: 1px solid #666; + border-right: 1px solid #666; +} + +table.coverage td.text { +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 40px; +} +table.coverage td span.cline-neutral { + background: #eee; +} +table.coverage td span.cline-yes { + background: #b5d592; + color: #999; +} +table.coverage td span.cline-no { + background: #fc8c84; +} + +.cstat-yes { color: #111; } +.cstat-no { background: #fc8c84; color: #111; } +.fstat-no { background: #ffc520; color: #111 !important; } +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +.missing-if-branch { + display: inline-block; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: black; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} + +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} + +.entity, .metric { font-weight: bold; } +.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; } +.metric small { font-size: 80%; font-weight: normal; color: #666; } + +div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; } +div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; } +div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; } +div.coverage-summary th.file { border-right: none !important; } +div.coverage-summary th.pic { border-left: none !important; text-align: right; } +div.coverage-summary th.pct { border-right: none !important; } +div.coverage-summary th.abs { border-left: none !important; text-align: right; } +div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; } +div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; } +div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; } +div.coverage-summary td.pic { min-width: 120px !important; } +div.coverage-summary a:link { text-decoration: none; color: #000; } +div.coverage-summary a:visited { text-decoration: none; color: #333; } +div.coverage-summary a:hover { text-decoration: underline; } +div.coverage-summary tfoot td { border-top: 1px solid #666; } + +div.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +div.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +div.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} + +.high { background: #b5d592 !important; } +.medium { background: #ffe87c !important; } +.low { background: #fc8c84 !important; } + +span.cover-fill, span.cover-empty { + display:inline-block; + border:1px solid #444; + background: white; + height: 12px; +} +span.cover-fill { + background: #ccc; + border-right: 1px solid #444; +} +span.cover-empty { + background: white; + border-left: none; +} +span.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; }
\ No newline at end of file diff --git a/node_modules/async/coverage/index.html b/node_modules/async/coverage/index.html new file mode 100644 index 000000000..0a8d4b735 --- /dev/null +++ b/node_modules/async/coverage/index.html @@ -0,0 +1,73 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for All files</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="prettify.css"> + <link rel="stylesheet" href="base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">All files</span></h1> + <h2> + Statements: <span class="metric">94.88% <small>(611 / 644)</small></span> + Branches: <span class="metric">86.91% <small>(239 / 275)</small></span> + Functions: <span class="metric">95.41% <small>(187 / 196)</small></span> + Lines: <span class="metric">94.85% <small>(608 / 641)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"></div> +</div> +<div class="body"> +<div class="coverage-summary"> +<table> +<thead> +<tr> + <th data-col="file" data-fmt="html" data-html="true" class="file">File</th> + <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th> + <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th> + <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th> + <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th> + <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th> + <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th> +</tr> +</thead> +<tbody><tr> + <td class="file high" data-value="lib/"><a href="lib/index.html">lib/</a></td> + <td data-value="94.88" class="pic high"><span class="cover-fill" style="width: 94px;"></span><span class="cover-empty" style="width:6px;"></span></td> + <td data-value="94.88" class="pct high">94.88%</td> + <td data-value="644" class="abs high">(611 / 644)</td> + <td data-value="86.91" class="pct high">86.91%</td> + <td data-value="275" class="abs high">(239 / 275)</td> + <td data-value="95.41" class="pct high">95.41%</td> + <td data-value="196" class="abs high">(187 / 196)</td> + <td data-value="94.85" class="pct high">94.85%</td> + <td data-value="641" class="abs high">(608 / 641)</td> + </tr> + +</tbody> +</table> +</div> +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Jun 01 2015 15:22:05 GMT-0700 (PDT)</div> +</div> +<script src="prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/lcov-report/base.css b/node_modules/async/coverage/lcov-report/base.css new file mode 100644 index 000000000..7fb882722 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/base.css @@ -0,0 +1,182 @@ +body, html { + margin:0; padding: 0; +} +body { + font-family: Helvetica Neue, Helvetica,Arial; + font-size: 10pt; +} +div.header, div.footer { + background: #eee; + padding: 1em; +} +div.header { + z-index: 100; + position: fixed; + top: 0; + border-bottom: 1px solid #666; + width: 100%; +} +div.footer { + border-top: 1px solid #666; +} +div.body { + margin-top: 10em; +} +div.meta { + font-size: 90%; + text-align: center; +} +h1, h2, h3 { + font-weight: normal; +} +h1 { + font-size: 12pt; +} +h2 { + font-size: 10pt; +} +pre { + font-family: Consolas, Menlo, Monaco, monospace; + margin: 0; + padding: 0; + line-height: 14px; + font-size: 14px; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +div.path { font-size: 110%; } +div.path a:link, div.path a:visited { color: #000; } +table.coverage { border-collapse: collapse; margin:0; padding: 0 } + +table.coverage td { + margin: 0; + padding: 0; + color: #111; + vertical-align: top; +} +table.coverage td.line-count { + width: 50px; + text-align: right; + padding-right: 5px; +} +table.coverage td.line-coverage { + color: #777 !important; + text-align: right; + border-left: 1px solid #666; + border-right: 1px solid #666; +} + +table.coverage td.text { +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 40px; +} +table.coverage td span.cline-neutral { + background: #eee; +} +table.coverage td span.cline-yes { + background: #b5d592; + color: #999; +} +table.coverage td span.cline-no { + background: #fc8c84; +} + +.cstat-yes { color: #111; } +.cstat-no { background: #fc8c84; color: #111; } +.fstat-no { background: #ffc520; color: #111 !important; } +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +.missing-if-branch { + display: inline-block; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: black; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} + +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} + +.entity, .metric { font-weight: bold; } +.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; } +.metric small { font-size: 80%; font-weight: normal; color: #666; } + +div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; } +div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; } +div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; } +div.coverage-summary th.file { border-right: none !important; } +div.coverage-summary th.pic { border-left: none !important; text-align: right; } +div.coverage-summary th.pct { border-right: none !important; } +div.coverage-summary th.abs { border-left: none !important; text-align: right; } +div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; } +div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; } +div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; } +div.coverage-summary td.pic { min-width: 120px !important; } +div.coverage-summary a:link { text-decoration: none; color: #000; } +div.coverage-summary a:visited { text-decoration: none; color: #333; } +div.coverage-summary a:hover { text-decoration: underline; } +div.coverage-summary tfoot td { border-top: 1px solid #666; } + +div.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +div.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +div.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} + +.high { background: #b5d592 !important; } +.medium { background: #ffe87c !important; } +.low { background: #fc8c84 !important; } + +span.cover-fill, span.cover-empty { + display:inline-block; + border:1px solid #444; + background: white; + height: 12px; +} +span.cover-fill { + background: #ccc; + border-right: 1px solid #444; +} +span.cover-empty { + background: white; + border-left: none; +} +span.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; }
\ No newline at end of file diff --git a/node_modules/async/coverage/lcov-report/index.html b/node_modules/async/coverage/lcov-report/index.html new file mode 100644 index 000000000..6660bfa56 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/index.html @@ -0,0 +1,73 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for All files</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="prettify.css"> + <link rel="stylesheet" href="base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">All files</span></h1> + <h2> + Statements: <span class="metric">94.13% <small>(673 / 715)</small></span> + Branches: <span class="metric">85% <small>(272 / 320)</small></span> + Functions: <span class="metric">94.2% <small>(195 / 207)</small></span> + Lines: <span class="metric">94.36% <small>(669 / 709)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"></div> +</div> +<div class="body"> +<div class="coverage-summary"> +<table> +<thead> +<tr> + <th data-col="file" data-fmt="html" data-html="true" class="file">File</th> + <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th> + <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th> + <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th> + <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th> + <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th> + <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th> +</tr> +</thead> +<tbody><tr> + <td class="file high" data-value="lib/"><a href="lib/index.html">lib/</a></td> + <td data-value="94.13" class="pic high"><span class="cover-fill" style="width: 94px;"></span><span class="cover-empty" style="width:6px;"></span></td> + <td data-value="94.13" class="pct high">94.13%</td> + <td data-value="715" class="abs high">(673 / 715)</td> + <td data-value="85" class="pct high">85%</td> + <td data-value="320" class="abs high">(272 / 320)</td> + <td data-value="94.2" class="pct high">94.2%</td> + <td data-value="207" class="abs high">(195 / 207)</td> + <td data-value="94.36" class="pct high">94.36%</td> + <td data-value="709" class="abs high">(669 / 709)</td> + </tr> + +</tbody> +</table> +</div> +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun May 24 2015 15:04:25 GMT-0700 (PDT)</div> +</div> +<script src="prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/lcov-report/lib/async.js.html b/node_modules/async/coverage/lcov-report/lib/async.js.html new file mode 100644 index 000000000..951e4c247 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/lib/async.js.html @@ -0,0 +1,3900 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for lib/async.js</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="../prettify.css"> + <link rel="stylesheet" href="../base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(../sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">lib/async.js</span></h1> + <h2> + Statements: <span class="metric">94.13% <small>(673 / 715)</small></span> + Branches: <span class="metric">85% <small>(272 / 320)</small></span> + Functions: <span class="metric">94.2% <small>(195 / 207)</small></span> + Lines: <span class="metric">94.36% <small>(669 / 709)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"><a href="../index.html">All files</a> » <a href="index.html">lib/</a> » async.js</div> +</div> +<div class="body"> +<pre><table class="coverage"> +<tr><td class="line-count">1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286</td><td class="line-coverage"><span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">162</span> +<span class="cline-any cline-yes">162</span> +<span class="cline-any cline-yes">162</span> +<span class="cline-any cline-yes">158</span> +<span class="cline-any cline-yes">158</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">249</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">249</span> +<span class="cline-any cline-yes">402</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">222</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-yes">148</span> +<span class="cline-any cline-yes">148</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-yes">360</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">237</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">219</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">37</span> +<span class="cline-any cline-yes">37</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">99</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">95</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">81</span> +<span class="cline-any cline-yes">81</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">35</span> +<span class="cline-any cline-yes">35</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-yes">79</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">66</span> +<span class="cline-any cline-yes">66</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">46</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-yes">77</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">77</span> +<span class="cline-any cline-yes">81</span> +<span class="cline-any cline-yes">81</span> +<span class="cline-any cline-yes">81</span> +<span class="cline-any cline-yes">77</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">60</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">40</span> +<span class="cline-any cline-yes">142</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">40</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-yes">99</span> +<span class="cline-any cline-yes">97</span> +<span class="cline-any cline-yes">97</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">47</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">28</span> +<span class="cline-any cline-yes">28</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">28</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">23</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">38</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">38</span> +<span class="cline-any cline-yes">46</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">38</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">43</span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">48</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">37</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">132</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">31</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">37</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">41</span> +<span class="cline-any cline-yes">40</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">41</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">41</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">62</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-yes">33</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">51</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*! + * async + * https://github.com/caolan/async + * + * Copyright 2010-2014 Caolan McMahon + * Released under the MIT license + */ +(function () { + + var async = {}; + var noop = function () {}; + + // global on the server, window in the browser + var root, previous_async; + + <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof window == 'object' && <span class="branch-1 cbranch-no" title="branch not covered" >this === window)</span> { +<span class="cstat-no" title="statement not covered" > root = window;</span> + } + else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof global == 'object' && this === global) { + root = global; + } + else { +<span class="cstat-no" title="statement not covered" > root = this;</span> + } + + <span class="missing-if-branch" title="else path not taken" >E</span>if (root != null) { + previous_async = root.async; + } + + async.noConflict = <span class="fstat-no" title="function not covered" >function () {</span> +<span class="cstat-no" title="statement not covered" > root.async = previous_async;</span> +<span class="cstat-no" title="statement not covered" > return async;</span> + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(root, arguments); + }; + } + + //// cross-browser compatiblity functions //// + + var _toString = Object.prototype.toString; + + var _isArray = Array.isArray || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >function (obj) {</span></span> +<span class="cstat-no" title="statement not covered" > return _toString.call(obj) === '[object Array]';</span> + }; + + var _each = function (arr, iterator) { + var index = -1, + length = arr.length; + + while (++index < length) { + iterator(arr[index], index, arr); + } + }; + + var _map = function (arr, iterator) { + var index = -1, + length = arr.length, + result = Array(length); + + while (++index < length) { + result[index] = iterator(arr[index], index, arr); + } + return result; + }; + + var _reduce = function (arr, iterator, memo) { + _each(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + }; + + var _forEachOf = function (object, iterator) { + _each(_keys(object), function (key) { + iterator(object[key], key); + }); + }; + + var _keys = Object.keys || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >function (obj) {</span></span> +<span class="cstat-no" title="statement not covered" > var keys = [];</span> +<span class="cstat-no" title="statement not covered" > for (var k in obj) {</span> +<span class="cstat-no" title="statement not covered" > if (obj.hasOwnProperty(k)) {</span> +<span class="cstat-no" title="statement not covered" > keys.push(k);</span> + } + } +<span class="cstat-no" title="statement not covered" > return keys;</span> + }; + + var _baseSlice = function (arr, start) { + start = start || 0; + var index = -1; + var length = arr.length; + + if (start) { + length -= start; + length = length < 0 ? 0 : length; + } + var result = Array(length); + + while (++index < length) { + result[index] = arr[index + start]; + } + return result; + }; + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + + // capture the global reference to guard against fakeTimer mocks + var _setImmediate; + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof setImmediate === 'function') { + _setImmediate = setImmediate; + } + + <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof process === 'undefined' || !(process.nextTick)) { +<span class="cstat-no" title="statement not covered" > if (_setImmediate) {</span> +<span class="cstat-no" title="statement not covered" > async.nextTick = <span class="fstat-no" title="function not covered" >function (fn) {</span></span> + // not a direct alias for IE10 compatibility +<span class="cstat-no" title="statement not covered" > _setImmediate(fn);</span> + }; +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + else { +<span class="cstat-no" title="statement not covered" > async.nextTick = <span class="fstat-no" title="function not covered" >function (fn) {</span></span> +<span class="cstat-no" title="statement not covered" > setTimeout(fn, 0);</span> + }; +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + } + else { + async.nextTick = process.nextTick; + <span class="missing-if-branch" title="else path not taken" >E</span>if (_setImmediate) { + async.setImmediate = function (fn) { + // not a direct alias for IE10 compatibility + _setImmediate(fn); + }; + } + else { +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + } + + async.each = function (arr, iterator, callback) { + callback = callback || noop; + if (!arr.length) { + return callback(null); + } + var completed = 0; + _each(arr, function (x) { + iterator(x, only_once(done) ); + }); + function done(err) { + if (err) { + callback(err); + callback = noop; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + } + } + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || noop; + if (!arr.length) { + return callback(null); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = noop; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(null); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || noop; + if (!arr.length || limit <= 0) { + return callback(null); + } + var completed = 0; + var started = 0; + var running = 0; + var errored = false; + + (function replenish () { + <span class="missing-if-branch" title="if path not taken" >I</span>if (completed >= arr.length) { +<span class="cstat-no" title="statement not covered" > return callback(null);</span> + } + + while (running < limit && started < arr.length && !errored) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + errored = true; + callback = noop; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(null); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + + async.forEachOf = async.eachOf = function (object, iterator, callback) { + callback = callback || function () {}; + var size = object.length || _keys(object).length; + var completed = 0; + if (!size) { + return callback(null); + } + _forEachOf(object, function (value, key) { + iterator(object[key], key, function (err) { + if (err) { + callback(err); + callback = function () {}; + } else { + completed += 1; + if (completed === size) { + callback(null); + } + } + }); + }); + }; + + async.forEachOfSeries = async.eachOfSeries = function (obj, iterator, callback) { + callback = callback || function () {}; + var keys = _keys(obj); + var size = keys.length; + if (!size) { + return callback(); + } + var completed = 0; + var iterate = function () { + var sync = true; + var key = keys[completed]; + iterator(obj[key], key, function (err) { + if (err) { + callback(err); + callback = <span class="fstat-no" title="function not covered" >function () {</span>}; + } + else { + completed += 1; + if (completed >= size) { + callback(null); + } + else { + <span class="missing-if-branch" title="if path not taken" >I</span>if (sync) { +<span class="cstat-no" title="statement not covered" > async.nextTick(iterate);</span> + } + else { + iterate(); + } + } + } + }); + sync = false; + }; + iterate(); + }; + + + + async.forEachOfLimit = async.eachOfLimit = function (obj, limit, iterator, callback) { + _forEachOfLimit(limit)(obj, iterator, callback); + }; + + var _forEachOfLimit = function (limit) { + + return function (obj, iterator, callback) { + callback = callback || function () {}; + var keys = _keys(obj); + var size = keys.length; + if (!size || limit <= 0) { + return callback(null); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + <span class="missing-if-branch" title="if path not taken" >I</span>if (completed >= size) { +<span class="cstat-no" title="statement not covered" > return callback();</span> + } + + while (running < limit && started < size) { + started += 1; + running += 1; + var key = keys[started - 1]; + iterator(obj[key], key, function (err) { + if (err) { + callback(err); + callback = <span class="fstat-no" title="function not covered" >function () {</span>}; + } + else { + completed += 1; + running -= 1; + if (completed >= size) { + callback(null); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = _baseSlice(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = _baseSlice(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = _baseSlice(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + if (!callback) { + eachfn(arr, function (x, callback) { + iterator(x.value, function (err) { + callback(err); + }); + }); + } else { + var results = []; + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err || null, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(<span class="fstat-no" title="function not covered" >function (a, b) {</span> +<span class="cstat-no" title="statement not covered" > return a.index - b.index;</span> + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = noop; + } + else { + callback(); + } + }); + }, <span class="fstat-no" title="function not covered" >function (err) {</span> +<span class="cstat-no" title="statement not covered" > main_callback();</span> + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = noop; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = noop; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > callback(err);</span> + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : <span class="branch-1 cbranch-no" title="branch not covered" >0;</span> + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || noop; + var keys = _keys(tasks); + var remainingTasks = keys.length; + if (!remainingTasks) { + return callback(null); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + remainingTasks--; + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (!remainingTasks) { + var theCallback = callback; + // prevent final callback from calling itself if it errors + callback = noop; + + theCallback(null, results); + } + }); + + _each(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + var taskCallback = function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = noop; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span> + // prevent dead-locks + var len = requires.length; + var dep; + while (len--) { + if (!(dep = tasks[requires[len]])) { + throw new Error('Has inexistant dependency'); + } + if (_isArray(dep) && !!~dep.indexOf(k)) { + throw new Error('Has cyclic dependencies'); + } + } + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || <span class="branch-1 cbranch-no" title="branch not covered" >DEFAULT_TIMES;</span> + var wrappedTask = function(wrappedCallback, wrappedResults) { + var retryAttempt = function(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + }; + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + }; + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask; + }; + + async.waterfall = function (tasks, callback) { + callback = callback || noop; + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = noop; + } + else { + var args = _baseSlice(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || noop; + if (_isArray(tasks)) { + eachfn.map(tasks, function (fn, callback) { + <span class="missing-if-branch" title="else path not taken" >E</span>if (fn) { + fn(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || noop; + if (_isArray(tasks)) { + async.mapSeries(tasks, function (fn, callback) { + <span class="missing-if-branch" title="else path not taken" >E</span>if (fn) { + fn(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = _baseSlice(arguments, 1); + return function () { + return fn.apply( + null, args.concat(_baseSlice(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + var args = _baseSlice(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + async.until(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + var args = _baseSlice(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + else if(concurrency === 0) { + throw new Error('Concurrency must not be zero'); + } + function _insert(q, data, pos, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length === 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = null; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + <span class="missing-if-branch" title="if path not taken" >I</span>if (q.paused === true) { <span class="cstat-no" title="statement not covered" >return; </span>} + q.paused = true; + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + var resumeCount = Math.min(q.concurrency, q.tasks.length); + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= resumeCount; w++) { + async.setImmediate(q.process); + } + } + }; + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + } + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + if (!q.started){ + q.started = true; + } + <span class="missing-if-branch" title="else path not taken" >E</span>if (!_isArray(data)) { + data = [data]; + } + <span class="missing-if-branch" title="if path not taken" >I</span>if(data.length === 0) { + // call drain immediately if there are no tasks +<span class="cstat-no" title="statement not covered" > return async.setImmediate(<span class="fstat-no" title="function not covered" >function() {</span></span> +<span class="cstat-no" title="statement not covered" > if (q.drain) {</span> +<span class="cstat-no" title="statement not covered" > q.drain();</span> + } + }); + } + _each(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : <span class="branch-1 cbranch-no" title="branch not covered" >null</span> + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + <span class="missing-if-branch" title="if path not taken" >I</span>if (q.saturated && <span class="branch-1 cbranch-no" title="branch not covered" >q.tasks.length === q.concurrency)</span> { +<span class="cstat-no" title="statement not covered" > q.saturated();</span> + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + drained: true, + push: function (data, callback) { + if (!_isArray(data)) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + cargo.drained = false; + <span class="missing-if-branch" title="if path not taken" >I</span>if (cargo.saturated && <span class="branch-1 cbranch-no" title="branch not covered" >tasks.length === payload)</span> { +<span class="cstat-no" title="statement not covered" > cargo.saturated();</span> + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain && !cargo.drained) cargo.drain(); + cargo.drained = true; + return; + } + + var ts = typeof payload === 'number' ? + tasks.splice(0, payload) : +<span class="branch-1 cbranch-no" title="branch not covered" > tasks.splice(0, tasks.length);</span> + + var ds = _map(ts, function (task) { + return task.data; + }); + + <span class="missing-if-branch" title="if path not taken" >I</span>if(cargo.empty) <span class="cstat-no" title="statement not covered" >cargo.empty();</span> + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: <span class="fstat-no" title="function not covered" >function () {</span> +<span class="cstat-no" title="statement not covered" > return working;</span> + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = _baseSlice(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = _baseSlice(arguments, 1); + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof console !== 'undefined') { + if (err) { + <span class="missing-if-branch" title="else path not taken" >E</span>if (console.error) { + console.error(err); + } + } + else <span class="missing-if-branch" title="else path not taken" >E</span>if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = _baseSlice(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = _baseSlice(arguments); + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = _baseSlice(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = _baseSlice(arguments, 1); + cb(err, nextargs); + }])); + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = _baseSlice(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = _baseSlice(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + <span class="missing-if-branch" title="else path not taken" >E</span>if (callback) { + return callback(err); + } +<span class="cstat-no" title="statement not covered" > throw err;</span> + } + fn(next); + } + next(); + }; + + // Node.js + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else <span class="cstat-no" title="statement not covered" >if (typeof define !== 'undefined' && define.amd) {</span> +<span class="cstat-no" title="statement not covered" > define([], <span class="fstat-no" title="function not covered" >function () {</span></span> +<span class="cstat-no" title="statement not covered" > return async;</span> + }); + } + // included directly via <script> tag + else { +<span class="cstat-no" title="statement not covered" > root.async = async;</span> + } + +}()); + </pre></td></tr> +</table></pre> + +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun May 24 2015 15:04:25 GMT-0700 (PDT)</div> +</div> +<script src="../prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="../sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/lcov-report/lib/index.html b/node_modules/async/coverage/lcov-report/lib/index.html new file mode 100644 index 000000000..2a4e91322 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/lib/index.html @@ -0,0 +1,73 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for lib/</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="../prettify.css"> + <link rel="stylesheet" href="../base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(../sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">lib/</span></h1> + <h2> + Statements: <span class="metric">94.13% <small>(673 / 715)</small></span> + Branches: <span class="metric">85% <small>(272 / 320)</small></span> + Functions: <span class="metric">94.2% <small>(195 / 207)</small></span> + Lines: <span class="metric">94.36% <small>(669 / 709)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"><a href="../index.html">All files</a> » lib/</div> +</div> +<div class="body"> +<div class="coverage-summary"> +<table> +<thead> +<tr> + <th data-col="file" data-fmt="html" data-html="true" class="file">File</th> + <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th> + <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th> + <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th> + <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th> + <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th> + <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th> +</tr> +</thead> +<tbody><tr> + <td class="file high" data-value="async.js"><a href="async.js.html">async.js</a></td> + <td data-value="94.13" class="pic high"><span class="cover-fill" style="width: 94px;"></span><span class="cover-empty" style="width:6px;"></span></td> + <td data-value="94.13" class="pct high">94.13%</td> + <td data-value="715" class="abs high">(673 / 715)</td> + <td data-value="85" class="pct high">85%</td> + <td data-value="320" class="abs high">(272 / 320)</td> + <td data-value="94.2" class="pct high">94.2%</td> + <td data-value="207" class="abs high">(195 / 207)</td> + <td data-value="94.36" class="pct high">94.36%</td> + <td data-value="709" class="abs high">(669 / 709)</td> + </tr> + +</tbody> +</table> +</div> +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun May 24 2015 15:04:25 GMT-0700 (PDT)</div> +</div> +<script src="../prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="../sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/lcov-report/prettify.css b/node_modules/async/coverage/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/node_modules/async/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/node_modules/async/coverage/lcov-report/prettify.js b/node_modules/async/coverage/lcov-report/prettify.js new file mode 100644 index 000000000..ef51e0386 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/node_modules/async/coverage/lcov-report/sort-arrow-sprite.png b/node_modules/async/coverage/lcov-report/sort-arrow-sprite.png Binary files differnew file mode 100644 index 000000000..03f704a60 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/sort-arrow-sprite.png diff --git a/node_modules/async/coverage/lcov-report/sorter.js b/node_modules/async/coverage/lcov-report/sorter.js new file mode 100644 index 000000000..6afb736c3 --- /dev/null +++ b/node_modules/async/coverage/lcov-report/sorter.js @@ -0,0 +1,156 @@ +var addSorting = (function () { + "use strict"; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { return document.querySelector('.coverage-summary table'); } + // returns the thead element of the summary table + function getTableHeader() { return getTable().querySelector('thead tr'); } + // returns the tbody element of the summary table + function getTableBody() { return getTable().querySelector('tbody'); } + // returns the th element for nth column + function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + el = getNthColumn(i).querySelector('.sorter'); + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/node_modules/async/coverage/lcov.info b/node_modules/async/coverage/lcov.info new file mode 100644 index 000000000..00e08de06 --- /dev/null +++ b/node_modules/async/coverage/lcov.info @@ -0,0 +1,1452 @@ +TN: +SF:./lib/async.js +FN:8,(anonymous_1) +FN:11,(anonymous_2) +FN:30,(anonymous_3) +FN:35,only_once +FN:37,(anonymous_5) +FN:48,(anonymous_6) +FN:52,(anonymous_7) +FN:61,(anonymous_8) +FN:72,(anonymous_9) +FN:73,(anonymous_10) +FN:79,(anonymous_11) +FN:80,(anonymous_12) +FN:85,(anonymous_13) +FN:95,(anonymous_14) +FN:124,(anonymous_15) +FN:131,(anonymous_16) +FN:140,(anonymous_17) +FN:150,(anonymous_18) +FN:156,(anonymous_19) +FN:159,done +FN:174,(anonymous_21) +FN:180,(anonymous_22) +FN:181,(anonymous_23) +FN:202,(anonymous_24) +FN:208,(anonymous_25) +FN:210,(anonymous_26) +FN:220,replenish +FN:228,(anonymous_28) +FN:252,(anonymous_29) +FN:253,(anonymous_30) +FN:259,(anonymous_31) +FN:260,(anonymous_32) +FN:263,(anonymous_33) +FN:274,(anonymous_34) +FN:275,(anonymous_35) +FN:282,(anonymous_36) +FN:285,(anonymous_37) +FN:288,(anonymous_38) +FN:312,(anonymous_39) +FN:316,(anonymous_40) +FN:318,(anonymous_41) +FN:319,(anonymous_42) +FN:329,replenish +FN:338,(anonymous_44) +FN:341,(anonymous_45) +FN:360,(anonymous_46) +FN:361,(anonymous_47) +FN:366,(anonymous_48) +FN:367,(anonymous_49) +FN:372,(anonymous_50) +FN:373,(anonymous_51) +FN:380,(anonymous_52) +FN:381,(anonymous_53) +FN:385,(anonymous_54) +FN:386,(anonymous_55) +FN:392,(anonymous_56) +FN:393,(anonymous_57) +FN:397,(anonymous_58) +FN:404,(anonymous_59) +FN:408,(anonymous_60) +FN:414,(anonymous_61) +FN:415,(anonymous_62) +FN:416,(anonymous_63) +FN:420,(anonymous_64) +FN:429,(anonymous_65) +FN:430,(anonymous_66) +FN:438,(anonymous_67) +FN:440,(anonymous_68) +FN:443,(anonymous_69) +FN:444,(anonymous_70) +FN:450,(anonymous_71) +FN:451,(anonymous_72) +FN:453,(anonymous_73) +FN:464,(anonymous_74) +FN:466,(anonymous_75) +FN:469,(anonymous_76) +FN:470,(anonymous_77) +FN:476,(anonymous_78) +FN:477,(anonymous_79) +FN:479,(anonymous_80) +FN:487,(anonymous_81) +FN:488,(anonymous_82) +FN:489,(anonymous_83) +FN:498,(anonymous_84) +FN:505,(anonymous_85) +FN:506,(anonymous_86) +FN:507,(anonymous_87) +FN:514,(anonymous_88) +FN:521,(anonymous_89) +FN:522,(anonymous_90) +FN:523,(anonymous_91) +FN:530,(anonymous_92) +FN:537,(anonymous_93) +FN:538,(anonymous_94) +FN:539,(anonymous_95) +FN:547,(anonymous_96) +FN:552,(anonymous_97) +FN:556,(anonymous_98) +FN:563,(anonymous_99) +FN:574,(anonymous_100) +FN:577,(anonymous_101) +FN:585,(anonymous_102) +FN:587,(anonymous_103) +FN:592,(anonymous_104) +FN:602,(anonymous_105) +FN:604,(anonymous_106) +FN:611,(anonymous_107) +FN:636,(anonymous_108) +FN:637,(anonymous_109) +FN:645,(anonymous_110) +FN:656,(anonymous_111) +FN:667,(anonymous_112) +FN:668,(anonymous_113) +FN:669,(anonymous_114) +FN:670,(anonymous_115) +FN:678,(anonymous_116) +FN:687,(anonymous_117) +FN:696,(anonymous_118) +FN:697,(anonymous_119) +FN:711,(anonymous_120) +FN:720,(anonymous_121) +FN:723,(anonymous_122) +FN:725,(anonymous_123) +FN:737,(anonymous_124) +FN:738,(anonymous_125) +FN:746,(anonymous_126) +FN:752,(anonymous_127) +FN:756,(anonymous_128) +FN:760,(anonymous_129) +FN:763,(anonymous_130) +FN:765,(anonymous_131) +FN:777,(anonymous_132) +FN:778,(anonymous_133) +FN:786,(anonymous_134) +FN:792,(anonymous_135) +FN:793,(anonymous_136) +FN:794,(anonymous_137) +FN:800,(anonymous_138) +FN:808,(anonymous_139) +FN:810,(anonymous_140) +FN:817,(anonymous_141) +FN:819,(anonymous_142) +FN:820,(anonymous_143) +FN:824,(anonymous_144) +FN:831,(anonymous_145) +FN:833,(anonymous_146) +FN:845,(anonymous_147) +FN:846,(anonymous_148) +FN:860,(anonymous_149) +FN:862,(anonymous_150) +FN:874,(anonymous_151) +FN:875,(anonymous_152) +FN:889,(anonymous_153) +FN:896,_insert +FN:905,(anonymous_155) +FN:911,(anonymous_156) +FN:939,(anonymous_157) +FN:942,(anonymous_158) +FN:946,(anonymous_159) +FN:949,(anonymous_160) +FN:956,(anonymous_161) +FN:970,(anonymous_162) +FN:973,(anonymous_163) +FN:976,(anonymous_164) +FN:979,(anonymous_165) +FN:983,(anonymous_166) +FN:997,(anonymous_167) +FN:999,_compareTasks +FN:1003,_binarySearch +FN:1017,_insert +FN:1026,(anonymous_171) +FN:1032,(anonymous_172) +FN:1052,(anonymous_173) +FN:1062,(anonymous_174) +FN:1073,(anonymous_175) +FN:1077,(anonymous_176) +FN:1089,process +FN:1101,(anonymous_178) +FN:1107,(anonymous_179) +FN:1111,(anonymous_180) +FN:1120,(anonymous_181) +FN:1123,(anonymous_182) +FN:1130,(anonymous_183) +FN:1131,(anonymous_184) +FN:1133,(anonymous_185) +FN:1142,(anonymous_186) +FN:1156,(anonymous_187) +FN:1159,(anonymous_188) +FN:1162,(anonymous_189) +FN:1167,(anonymous_190) +FN:1176,(anonymous_191) +FN:1191,(anonymous_192) +FN:1192,(anonymous_193) +FN:1197,(anonymous_194) +FN:1205,(anonymous_195) +FN:1213,(anonymous_196) +FN:1215,(anonymous_197) +FN:1219,(anonymous_198) +FN:1220,(anonymous_199) +FN:1226,(anonymous_200) +FN:1232,(anonymous_201) +FN:1236,(anonymous_202) +FN:1237,(anonymous_203) +FN:1241,(anonymous_204) +FN:1257,(anonymous_205) +FN:1258,next +FN:1276,(anonymous_207) +FNF:207 +FNH:195 +FNDA:1,(anonymous_1) +FNDA:27,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:162,only_once +FNDA:162,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:249,(anonymous_7) +FNDA:76,(anonymous_8) +FNDA:54,(anonymous_9) +FNDA:54,(anonymous_10) +FNDA:4,(anonymous_11) +FNDA:7,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:237,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:219,(anonymous_17) +FNDA:37,(anonymous_18) +FNDA:99,(anonymous_19) +FNDA:95,done +FNDA:35,(anonymous_21) +FNDA:79,(anonymous_22) +FNDA:76,(anonymous_23) +FNDA:9,(anonymous_24) +FNDA:27,(anonymous_25) +FNDA:22,(anonymous_26) +FNDA:77,replenish +FNDA:77,(anonymous_28) +FNDA:5,(anonymous_29) +FNDA:1,(anonymous_30) +FNDA:7,(anonymous_31) +FNDA:7,(anonymous_32) +FNDA:1,(anonymous_33) +FNDA:5,(anonymous_34) +FNDA:1,(anonymous_35) +FNDA:6,(anonymous_36) +FNDA:6,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:9,(anonymous_39) +FNDA:9,(anonymous_40) +FNDA:9,(anonymous_41) +FNDA:1,(anonymous_42) +FNDA:20,replenish +FNDA:20,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:6,(anonymous_46) +FNDA:25,(anonymous_47) +FNDA:13,(anonymous_48) +FNDA:12,(anonymous_49) +FNDA:6,(anonymous_50) +FNDA:20,(anonymous_51) +FNDA:40,(anonymous_52) +FNDA:142,(anonymous_53) +FNDA:3,(anonymous_54) +FNDA:3,(anonymous_55) +FNDA:99,(anonymous_56) +FNDA:97,(anonymous_57) +FNDA:39,(anonymous_58) +FNDA:7,(anonymous_59) +FNDA:13,(anonymous_60) +FNDA:10,(anonymous_61) +FNDA:24,(anonymous_62) +FNDA:24,(anonymous_63) +FNDA:10,(anonymous_64) +FNDA:1,(anonymous_65) +FNDA:3,(anonymous_66) +FNDA:3,(anonymous_67) +FNDA:9,(anonymous_68) +FNDA:9,(anonymous_69) +FNDA:9,(anonymous_70) +FNDA:3,(anonymous_71) +FNDA:3,(anonymous_72) +FNDA:6,(anonymous_73) +FNDA:3,(anonymous_74) +FNDA:9,(anonymous_75) +FNDA:9,(anonymous_76) +FNDA:9,(anonymous_77) +FNDA:3,(anonymous_78) +FNDA:0,(anonymous_79) +FNDA:3,(anonymous_80) +FNDA:5,(anonymous_81) +FNDA:15,(anonymous_82) +FNDA:15,(anonymous_83) +FNDA:0,(anonymous_84) +FNDA:3,(anonymous_85) +FNDA:9,(anonymous_86) +FNDA:9,(anonymous_87) +FNDA:3,(anonymous_88) +FNDA:3,(anonymous_89) +FNDA:9,(anonymous_90) +FNDA:9,(anonymous_91) +FNDA:3,(anonymous_92) +FNDA:2,(anonymous_93) +FNDA:6,(anonymous_94) +FNDA:6,(anonymous_95) +FNDA:2,(anonymous_96) +FNDA:6,(anonymous_97) +FNDA:6,(anonymous_98) +FNDA:13,(anonymous_99) +FNDA:27,(anonymous_100) +FNDA:13,(anonymous_101) +FNDA:25,(anonymous_102) +FNDA:47,(anonymous_103) +FNDA:25,(anonymous_104) +FNDA:34,(anonymous_105) +FNDA:28,(anonymous_106) +FNDA:1,(anonymous_107) +FNDA:54,(anonymous_108) +FNDA:54,(anonymous_109) +FNDA:22,(anonymous_110) +FNDA:3,(anonymous_111) +FNDA:3,(anonymous_112) +FNDA:13,(anonymous_113) +FNDA:7,(anonymous_114) +FNDA:7,(anonymous_115) +FNDA:3,(anonymous_116) +FNDA:8,(anonymous_117) +FNDA:18,(anonymous_118) +FNDA:19,(anonymous_119) +FNDA:18,(anonymous_120) +FNDA:13,(anonymous_121) +FNDA:21,(anonymous_122) +FNDA:21,(anonymous_123) +FNDA:6,(anonymous_124) +FNDA:6,(anonymous_125) +FNDA:2,(anonymous_126) +FNDA:7,(anonymous_127) +FNDA:6,(anonymous_128) +FNDA:10,(anonymous_129) +FNDA:18,(anonymous_130) +FNDA:18,(anonymous_131) +FNDA:3,(anonymous_132) +FNDA:3,(anonymous_133) +FNDA:1,(anonymous_134) +FNDA:9,(anonymous_135) +FNDA:38,(anonymous_136) +FNDA:25,(anonymous_137) +FNDA:46,(anonymous_138) +FNDA:6,(anonymous_139) +FNDA:6,(anonymous_140) +FNDA:3,(anonymous_141) +FNDA:9,(anonymous_142) +FNDA:9,(anonymous_143) +FNDA:3,(anonymous_144) +FNDA:6,(anonymous_145) +FNDA:5,(anonymous_146) +FNDA:10,(anonymous_147) +FNDA:10,(anonymous_148) +FNDA:6,(anonymous_149) +FNDA:5,(anonymous_150) +FNDA:10,(anonymous_151) +FNDA:10,(anonymous_152) +FNDA:20,(anonymous_153) +FNDA:45,_insert +FNDA:2,(anonymous_155) +FNDA:56,(anonymous_156) +FNDA:37,(anonymous_157) +FNDA:1,(anonymous_158) +FNDA:8,(anonymous_159) +FNDA:132,(anonymous_160) +FNDA:63,(anonymous_161) +FNDA:37,(anonymous_162) +FNDA:4,(anonymous_163) +FNDA:7,(anonymous_164) +FNDA:3,(anonymous_165) +FNDA:4,(anonymous_166) +FNDA:2,(anonymous_167) +FNDA:10,_compareTasks +FNDA:8,_binarySearch +FNDA:8,_insert +FNDA:0,(anonymous_171) +FNDA:8,(anonymous_172) +FNDA:8,(anonymous_173) +FNDA:5,(anonymous_174) +FNDA:41,(anonymous_175) +FNDA:44,(anonymous_176) +FNDA:62,process +FNDA:44,(anonymous_178) +FNDA:21,(anonymous_179) +FNDA:44,(anonymous_180) +FNDA:10,(anonymous_181) +FNDA:0,(anonymous_182) +FNDA:2,(anonymous_183) +FNDA:6,(anonymous_184) +FNDA:6,(anonymous_185) +FNDA:8,(anonymous_186) +FNDA:7,(anonymous_187) +FNDA:9,(anonymous_188) +FNDA:11,(anonymous_189) +FNDA:4,(anonymous_190) +FNDA:6,(anonymous_191) +FNDA:2,(anonymous_192) +FNDA:4,(anonymous_193) +FNDA:3,(anonymous_194) +FNDA:2,(anonymous_195) +FNDA:6,(anonymous_196) +FNDA:6,(anonymous_197) +FNDA:14,(anonymous_198) +FNDA:14,(anonymous_199) +FNDA:6,(anonymous_200) +FNDA:3,(anonymous_201) +FNDA:3,(anonymous_202) +FNDA:3,(anonymous_203) +FNDA:9,(anonymous_204) +FNDA:1,(anonymous_205) +FNDA:51,next +FNDA:0,(anonymous_207) +DA:8,1 +DA:10,1 +DA:11,1 +DA:14,1 +DA:16,1 +DA:17,0 +DA:19,1 +DA:20,1 +DA:23,0 +DA:26,1 +DA:27,1 +DA:30,1 +DA:31,0 +DA:32,0 +DA:35,1 +DA:36,162 +DA:37,162 +DA:38,162 +DA:39,158 +DA:40,158 +DA:46,1 +DA:48,1 +DA:49,0 +DA:52,1 +DA:53,249 +DA:56,249 +DA:57,402 +DA:61,1 +DA:62,76 +DA:66,76 +DA:67,222 +DA:69,76 +DA:72,1 +DA:73,54 +DA:74,54 +DA:76,54 +DA:79,1 +DA:80,4 +DA:81,7 +DA:85,1 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:92,0 +DA:95,1 +DA:96,237 +DA:97,237 +DA:98,237 +DA:100,237 +DA:101,148 +DA:102,148 +DA:104,237 +DA:106,237 +DA:107,360 +DA:109,237 +DA:117,1 +DA:118,1 +DA:119,1 +DA:122,1 +DA:123,0 +DA:124,0 +DA:126,0 +DA:128,0 +DA:131,0 +DA:132,0 +DA:134,0 +DA:138,1 +DA:139,1 +DA:140,1 +DA:142,219 +DA:146,0 +DA:150,1 +DA:151,37 +DA:152,37 +DA:153,3 +DA:155,34 +DA:156,34 +DA:157,99 +DA:159,1 +DA:160,95 +DA:161,14 +DA:162,14 +DA:165,81 +DA:166,81 +DA:167,27 +DA:172,1 +DA:174,1 +DA:175,35 +DA:176,35 +DA:177,2 +DA:179,33 +DA:180,33 +DA:181,79 +DA:182,76 +DA:183,10 +DA:184,10 +DA:187,66 +DA:188,66 +DA:189,20 +DA:192,46 +DA:197,33 +DA:199,1 +DA:202,1 +DA:203,9 +DA:204,9 +DA:206,1 +DA:208,1 +DA:210,27 +DA:211,22 +DA:212,22 +DA:213,5 +DA:215,17 +DA:216,17 +DA:217,17 +DA:218,17 +DA:220,17 +DA:221,77 +DA:222,0 +DA:225,77 +DA:226,81 +DA:227,81 +DA:228,81 +DA:229,77 +DA:230,6 +DA:231,6 +DA:232,6 +DA:235,71 +DA:236,71 +DA:237,71 +DA:238,11 +DA:241,60 +DA:252,1 +DA:253,5 +DA:254,5 +DA:255,5 +DA:256,5 +DA:257,1 +DA:259,4 +DA:260,7 +DA:261,7 +DA:262,2 +DA:263,2 +DA:265,5 +DA:266,5 +DA:267,3 +DA:274,1 +DA:275,5 +DA:276,5 +DA:277,5 +DA:278,5 +DA:279,1 +DA:281,4 +DA:282,4 +DA:283,6 +DA:284,6 +DA:285,6 +DA:286,6 +DA:287,1 +DA:288,1 +DA:291,5 +DA:292,5 +DA:293,3 +DA:296,2 +DA:297,0 +DA:300,2 +DA:305,6 +DA:307,4 +DA:312,1 +DA:313,9 +DA:316,1 +DA:318,9 +DA:319,9 +DA:320,9 +DA:321,9 +DA:322,9 +DA:323,2 +DA:325,7 +DA:326,7 +DA:327,7 +DA:329,7 +DA:330,20 +DA:331,0 +DA:334,20 +DA:335,22 +DA:336,22 +DA:337,22 +DA:338,22 +DA:339,20 +DA:340,1 +DA:341,1 +DA:344,19 +DA:345,19 +DA:346,19 +DA:347,6 +DA:350,13 +DA:360,1 +DA:361,6 +DA:362,25 +DA:363,25 +DA:366,1 +DA:367,13 +DA:368,12 +DA:369,12 +DA:372,1 +DA:373,6 +DA:374,20 +DA:375,20 +DA:380,1 +DA:381,40 +DA:382,142 +DA:384,40 +DA:385,1 +DA:386,3 +DA:387,3 +DA:391,39 +DA:392,39 +DA:393,99 +DA:394,97 +DA:395,97 +DA:398,39 +DA:402,1 +DA:403,1 +DA:404,1 +DA:405,7 +DA:408,1 +DA:409,13 +DA:414,1 +DA:415,10 +DA:416,24 +DA:417,24 +DA:418,24 +DA:421,10 +DA:425,1 +DA:427,1 +DA:429,1 +DA:430,1 +DA:431,3 +DA:433,1 +DA:436,1 +DA:438,1 +DA:439,3 +DA:440,3 +DA:441,9 +DA:443,3 +DA:444,9 +DA:445,9 +DA:446,6 +DA:448,9 +DA:451,3 +DA:452,3 +DA:454,6 +DA:458,1 +DA:459,1 +DA:461,1 +DA:462,1 +DA:464,1 +DA:465,3 +DA:466,3 +DA:467,9 +DA:469,3 +DA:470,9 +DA:471,9 +DA:472,3 +DA:474,9 +DA:477,3 +DA:478,0 +DA:480,3 +DA:484,1 +DA:485,1 +DA:487,1 +DA:488,5 +DA:489,15 +DA:490,15 +DA:491,7 +DA:492,7 +DA:495,8 +DA:499,0 +DA:502,1 +DA:503,1 +DA:505,1 +DA:506,3 +DA:507,9 +DA:508,9 +DA:509,2 +DA:510,2 +DA:512,9 +DA:515,3 +DA:519,1 +DA:521,1 +DA:522,3 +DA:523,9 +DA:524,9 +DA:525,3 +DA:526,3 +DA:528,9 +DA:531,3 +DA:535,1 +DA:537,1 +DA:538,2 +DA:539,6 +DA:540,6 +DA:541,0 +DA:544,6 +DA:548,2 +DA:549,0 +DA:552,2 +DA:553,6 +DA:554,6 +DA:556,2 +DA:557,6 +DA:563,1 +DA:564,13 +DA:565,13 +DA:566,13 +DA:567,13 +DA:568,1 +DA:571,12 +DA:573,12 +DA:574,12 +DA:575,27 +DA:577,12 +DA:578,13 +DA:579,19 +DA:580,13 +DA:581,13 +DA:585,12 +DA:586,25 +DA:587,25 +DA:588,47 +DA:592,12 +DA:593,25 +DA:594,7 +DA:596,7 +DA:598,7 +DA:602,12 +DA:603,34 +DA:604,34 +DA:605,28 +DA:606,28 +DA:607,27 +DA:609,28 +DA:610,3 +DA:611,3 +DA:612,1 +DA:614,3 +DA:615,3 +DA:617,3 +DA:620,25 +DA:621,25 +DA:624,34 +DA:626,34 +DA:627,34 +DA:628,34 +DA:629,23 +DA:630,1 +DA:632,22 +DA:633,1 +DA:636,32 +DA:637,54 +DA:638,54 +DA:641,32 +DA:642,17 +DA:645,15 +DA:646,22 +DA:647,13 +DA:648,13 +DA:651,15 +DA:656,1 +DA:657,3 +DA:658,3 +DA:660,3 +DA:661,2 +DA:662,2 +DA:663,2 +DA:666,3 +DA:667,3 +DA:668,3 +DA:669,13 +DA:670,7 +DA:671,7 +DA:675,3 +DA:676,13 +DA:678,3 +DA:679,3 +DA:680,3 +DA:684,3 +DA:687,1 +DA:688,8 +DA:689,8 +DA:690,1 +DA:691,1 +DA:693,7 +DA:694,1 +DA:696,6 +DA:697,18 +DA:698,19 +DA:699,1 +DA:700,1 +DA:703,18 +DA:704,18 +DA:705,18 +DA:706,12 +DA:709,6 +DA:711,18 +DA:712,18 +DA:717,6 +DA:720,1 +DA:721,13 +DA:722,13 +DA:723,11 +DA:724,21 +DA:725,21 +DA:726,21 +DA:727,21 +DA:728,19 +DA:730,21 +DA:736,2 +DA:737,2 +DA:738,6 +DA:739,6 +DA:740,6 +DA:741,4 +DA:743,6 +DA:744,6 +DA:747,2 +DA:752,1 +DA:753,7 +DA:756,1 +DA:757,6 +DA:760,1 +DA:761,10 +DA:762,10 +DA:763,9 +DA:764,18 +DA:765,18 +DA:766,18 +DA:767,18 +DA:768,17 +DA:770,18 +DA:776,1 +DA:777,1 +DA:778,3 +DA:779,3 +DA:780,3 +DA:781,2 +DA:783,3 +DA:784,3 +DA:787,1 +DA:792,1 +DA:793,9 +DA:794,38 +DA:795,25 +DA:796,24 +DA:798,25 +DA:800,38 +DA:801,46 +DA:803,38 +DA:805,9 +DA:808,1 +DA:809,6 +DA:810,6 +DA:811,6 +DA:817,1 +DA:818,3 +DA:819,3 +DA:820,9 +DA:821,9 +DA:822,9 +DA:825,3 +DA:828,1 +DA:829,1 +DA:831,1 +DA:832,6 +DA:833,5 +DA:834,5 +DA:835,0 +DA:837,5 +DA:841,1 +DA:845,1 +DA:846,10 +DA:847,10 +DA:848,0 +DA:850,10 +DA:851,10 +DA:852,8 +DA:855,2 +DA:860,1 +DA:861,6 +DA:862,5 +DA:863,5 +DA:864,0 +DA:866,5 +DA:870,1 +DA:874,1 +DA:875,10 +DA:876,10 +DA:877,0 +DA:879,10 +DA:880,10 +DA:881,8 +DA:884,2 +DA:889,1 +DA:890,20 +DA:891,3 +DA:893,17 +DA:894,1 +DA:896,1 +DA:897,45 +DA:898,17 +DA:900,45 +DA:901,39 +DA:903,45 +DA:905,2 +DA:906,2 +DA:907,1 +DA:911,43 +DA:912,56 +DA:917,56 +DA:918,8 +DA:920,48 +DA:923,56 +DA:924,2 +DA:926,56 +DA:930,19 +DA:931,19 +DA:940,37 +DA:943,1 +DA:944,1 +DA:947,8 +DA:950,132 +DA:951,63 +DA:952,63 +DA:953,1 +DA:955,63 +DA:956,63 +DA:957,63 +DA:958,63 +DA:959,31 +DA:961,63 +DA:962,9 +DA:964,63 +DA:966,63 +DA:967,63 +DA:971,37 +DA:974,4 +DA:977,7 +DA:980,3 +DA:981,3 +DA:984,4 +DA:985,3 +DA:986,3 +DA:989,3 +DA:990,5 +DA:994,19 +DA:997,1 +DA:999,1 +DA:1000,10 +DA:1003,1 +DA:1004,8 +DA:1006,8 +DA:1007,10 +DA:1008,10 +DA:1009,6 +DA:1011,4 +DA:1014,8 +DA:1017,1 +DA:1018,8 +DA:1019,2 +DA:1021,8 +DA:1022,8 +DA:1024,8 +DA:1026,0 +DA:1027,0 +DA:1028,0 +DA:1032,8 +DA:1033,8 +DA:1039,8 +DA:1041,8 +DA:1042,0 +DA:1044,8 +DA:1049,2 +DA:1052,2 +DA:1053,8 +DA:1057,2 +DA:1059,2 +DA:1062,1 +DA:1063,5 +DA:1066,5 +DA:1074,41 +DA:1075,40 +DA:1077,41 +DA:1078,44 +DA:1082,44 +DA:1083,44 +DA:1084,0 +DA:1087,41 +DA:1090,62 +DA:1091,54 +DA:1092,33 +DA:1093,33 +DA:1094,33 +DA:1097,21 +DA:1101,21 +DA:1102,44 +DA:1105,21 +DA:1106,21 +DA:1107,21 +DA:1108,21 +DA:1110,21 +DA:1111,21 +DA:1112,44 +DA:1113,9 +DA:1117,21 +DA:1121,10 +DA:1124,0 +DA:1127,5 +DA:1130,1 +DA:1131,2 +DA:1132,6 +DA:1133,6 +DA:1134,6 +DA:1135,6 +DA:1136,6 +DA:1137,2 +DA:1138,2 +DA:1141,4 +DA:1142,4 +DA:1143,8 +DA:1150,1 +DA:1151,1 +DA:1156,1 +DA:1157,7 +DA:1158,7 +DA:1159,7 +DA:1160,9 +DA:1162,7 +DA:1163,11 +DA:1164,11 +DA:1165,11 +DA:1166,11 +DA:1167,4 +DA:1168,4 +DA:1171,7 +DA:1172,1 +DA:1175,6 +DA:1176,6 +DA:1177,6 +DA:1178,6 +DA:1179,6 +DA:1180,6 +DA:1181,7 +DA:1186,7 +DA:1187,7 +DA:1188,7 +DA:1191,1 +DA:1192,2 +DA:1193,4 +DA:1197,1 +DA:1198,3 +DA:1199,3 +DA:1200,6 +DA:1202,3 +DA:1205,1 +DA:1206,2 +DA:1207,2 +DA:1208,10 +DA:1210,2 +DA:1213,1 +DA:1214,6 +DA:1215,6 +DA:1216,6 +DA:1217,6 +DA:1218,6 +DA:1219,6 +DA:1220,14 +DA:1221,14 +DA:1222,14 +DA:1223,14 +DA:1227,6 +DA:1232,1 +DA:1233,3 +DA:1236,1 +DA:1237,3 +DA:1238,3 +DA:1239,3 +DA:1240,3 +DA:1241,3 +DA:1242,9 +DA:1246,3 +DA:1247,2 +DA:1248,2 +DA:1251,1 +DA:1254,1 +DA:1255,1 +DA:1257,1 +DA:1258,1 +DA:1259,51 +DA:1260,1 +DA:1261,1 +DA:1263,0 +DA:1265,50 +DA:1267,1 +DA:1271,1 +DA:1272,1 +DA:1275,0 +DA:1276,0 +DA:1277,0 +DA:1282,0 +LF:709 +LH:669 +BRDA:16,1,0,0 +BRDA:16,1,1,1 +BRDA:16,2,0,1 +BRDA:16,2,1,0 +BRDA:19,3,0,1 +BRDA:19,3,1,0 +BRDA:19,4,0,1 +BRDA:19,4,1,1 +BRDA:26,5,0,1 +BRDA:26,5,1,0 +BRDA:38,6,0,4 +BRDA:38,6,1,158 +BRDA:48,7,0,1 +BRDA:48,7,1,0 +BRDA:85,8,0,1 +BRDA:85,8,1,0 +BRDA:88,9,0,0 +BRDA:88,9,1,0 +BRDA:96,10,0,237 +BRDA:96,10,1,89 +BRDA:100,11,0,148 +BRDA:100,11,1,89 +BRDA:102,12,0,42 +BRDA:102,12,1,106 +BRDA:118,13,0,1 +BRDA:118,13,1,0 +BRDA:122,14,0,0 +BRDA:122,14,1,1 +BRDA:122,15,0,1 +BRDA:122,15,1,1 +BRDA:123,16,0,0 +BRDA:123,16,1,0 +BRDA:139,17,0,1 +BRDA:139,17,1,0 +BRDA:151,18,0,37 +BRDA:151,18,1,3 +BRDA:152,19,0,3 +BRDA:152,19,1,34 +BRDA:160,20,0,14 +BRDA:160,20,1,81 +BRDA:166,21,0,27 +BRDA:166,21,1,54 +BRDA:175,22,0,35 +BRDA:175,22,1,1 +BRDA:176,23,0,2 +BRDA:176,23,1,33 +BRDA:182,24,0,10 +BRDA:182,24,1,66 +BRDA:188,25,0,20 +BRDA:188,25,1,46 +BRDA:211,26,0,22 +BRDA:211,26,1,1 +BRDA:212,27,0,5 +BRDA:212,27,1,17 +BRDA:212,28,0,22 +BRDA:212,28,1,19 +BRDA:221,29,0,0 +BRDA:221,29,1,77 +BRDA:225,30,0,158 +BRDA:225,30,1,135 +BRDA:225,30,2,87 +BRDA:229,31,0,6 +BRDA:229,31,1,71 +BRDA:237,32,0,11 +BRDA:237,32,1,60 +BRDA:253,33,0,5 +BRDA:253,33,1,1 +BRDA:254,34,0,5 +BRDA:254,34,1,4 +BRDA:256,35,0,1 +BRDA:256,35,1,4 +BRDA:261,36,0,2 +BRDA:261,36,1,5 +BRDA:266,37,0,3 +BRDA:266,37,1,2 +BRDA:275,38,0,5 +BRDA:275,38,1,1 +BRDA:278,39,0,1 +BRDA:278,39,1,4 +BRDA:286,40,0,1 +BRDA:286,40,1,5 +BRDA:292,41,0,3 +BRDA:292,41,1,2 +BRDA:296,42,0,0 +BRDA:296,42,1,2 +BRDA:319,43,0,9 +BRDA:319,43,1,1 +BRDA:322,44,0,2 +BRDA:322,44,1,7 +BRDA:322,45,0,9 +BRDA:322,45,1,8 +BRDA:330,46,0,0 +BRDA:330,46,1,20 +BRDA:334,47,0,42 +BRDA:334,47,1,35 +BRDA:339,48,0,1 +BRDA:339,48,1,19 +BRDA:346,49,0,6 +BRDA:346,49,1,13 +BRDA:384,50,0,1 +BRDA:384,50,1,39 +BRDA:421,51,0,10 +BRDA:421,51,1,7 +BRDA:445,52,0,6 +BRDA:445,52,1,3 +BRDA:471,53,0,3 +BRDA:471,53,1,6 +BRDA:490,54,0,7 +BRDA:490,54,1,8 +BRDA:508,55,0,2 +BRDA:508,55,1,7 +BRDA:524,56,0,3 +BRDA:524,56,1,6 +BRDA:540,57,0,0 +BRDA:540,57,1,6 +BRDA:548,58,0,0 +BRDA:548,58,1,2 +BRDA:554,59,0,3 +BRDA:554,59,1,3 +BRDA:554,60,0,3 +BRDA:554,60,1,0 +BRDA:564,61,0,13 +BRDA:564,61,1,4 +BRDA:567,62,0,1 +BRDA:567,62,1,12 +BRDA:579,63,0,13 +BRDA:579,63,1,6 +BRDA:593,64,0,7 +BRDA:593,64,1,18 +BRDA:603,65,0,20 +BRDA:603,65,1,14 +BRDA:606,66,0,27 +BRDA:606,66,1,1 +BRDA:609,67,0,3 +BRDA:609,67,1,25 +BRDA:624,68,0,34 +BRDA:624,68,1,0 +BRDA:629,69,0,1 +BRDA:629,69,1,22 +BRDA:632,70,0,1 +BRDA:632,70,1,21 +BRDA:632,71,0,22 +BRDA:632,71,1,5 +BRDA:637,72,0,54 +BRDA:637,72,1,30 +BRDA:638,73,0,54 +BRDA:638,73,1,43 +BRDA:641,74,0,17 +BRDA:641,74,1,15 +BRDA:646,75,0,13 +BRDA:646,75,1,9 +BRDA:660,76,0,2 +BRDA:660,76,1,1 +BRDA:666,77,0,3 +BRDA:666,77,1,0 +BRDA:671,78,0,7 +BRDA:671,78,1,5 +BRDA:680,79,0,3 +BRDA:680,79,1,2 +BRDA:684,80,0,2 +BRDA:684,80,1,1 +BRDA:688,81,0,8 +BRDA:688,81,1,3 +BRDA:689,82,0,1 +BRDA:689,82,1,7 +BRDA:693,83,0,1 +BRDA:693,83,1,6 +BRDA:698,84,0,1 +BRDA:698,84,1,18 +BRDA:705,85,0,12 +BRDA:705,85,1,6 +BRDA:721,86,0,13 +BRDA:721,86,1,2 +BRDA:722,87,0,11 +BRDA:722,87,1,2 +BRDA:724,88,0,21 +BRDA:724,88,1,0 +BRDA:727,89,0,19 +BRDA:727,89,1,2 +BRDA:740,90,0,4 +BRDA:740,90,1,2 +BRDA:761,91,0,10 +BRDA:761,91,1,1 +BRDA:762,92,0,9 +BRDA:762,92,1,1 +BRDA:764,93,0,18 +BRDA:764,93,1,0 +BRDA:767,94,0,17 +BRDA:767,94,1,1 +BRDA:780,95,0,2 +BRDA:780,95,1,1 +BRDA:795,96,0,24 +BRDA:795,96,1,1 +BRDA:801,97,0,29 +BRDA:801,97,1,17 +BRDA:821,98,0,9 +BRDA:821,98,1,3 +BRDA:832,99,0,5 +BRDA:832,99,1,1 +BRDA:834,100,0,0 +BRDA:834,100,1,5 +BRDA:847,101,0,0 +BRDA:847,101,1,10 +BRDA:851,102,0,8 +BRDA:851,102,1,2 +BRDA:861,103,0,5 +BRDA:861,103,1,1 +BRDA:863,104,0,0 +BRDA:863,104,1,5 +BRDA:876,105,0,0 +BRDA:876,105,1,10 +BRDA:880,106,0,8 +BRDA:880,106,1,2 +BRDA:890,107,0,3 +BRDA:890,107,1,17 +BRDA:893,108,0,1 +BRDA:893,108,1,16 +BRDA:897,109,0,17 +BRDA:897,109,1,28 +BRDA:900,110,0,39 +BRDA:900,110,1,6 +BRDA:903,111,0,2 +BRDA:903,111,1,43 +BRDA:906,112,0,1 +BRDA:906,112,1,1 +BRDA:914,113,0,23 +BRDA:914,113,1,33 +BRDA:917,114,0,8 +BRDA:917,114,1,48 +BRDA:923,115,0,2 +BRDA:923,115,1,54 +BRDA:923,116,0,56 +BRDA:923,116,1,9 +BRDA:950,117,0,63 +BRDA:950,117,1,69 +BRDA:950,118,0,132 +BRDA:950,118,1,125 +BRDA:950,118,2,103 +BRDA:952,119,0,1 +BRDA:952,119,1,62 +BRDA:952,120,0,63 +BRDA:952,120,1,5 +BRDA:958,121,0,31 +BRDA:958,121,1,32 +BRDA:961,122,0,9 +BRDA:961,122,1,54 +BRDA:961,123,0,63 +BRDA:961,123,1,34 +BRDA:980,124,0,0 +BRDA:980,124,1,3 +BRDA:984,125,0,1 +BRDA:984,125,1,3 +BRDA:1008,126,0,6 +BRDA:1008,126,1,4 +BRDA:1018,127,0,2 +BRDA:1018,127,1,6 +BRDA:1021,128,0,8 +BRDA:1021,128,1,0 +BRDA:1024,129,0,0 +BRDA:1024,129,1,8 +BRDA:1027,130,0,0 +BRDA:1027,130,1,0 +BRDA:1036,131,0,8 +BRDA:1036,131,1,0 +BRDA:1041,132,0,0 +BRDA:1041,132,1,8 +BRDA:1041,133,0,8 +BRDA:1041,133,1,0 +BRDA:1074,134,0,40 +BRDA:1074,134,1,1 +BRDA:1080,135,0,9 +BRDA:1080,135,1,35 +BRDA:1083,136,0,0 +BRDA:1083,136,1,44 +BRDA:1083,137,0,44 +BRDA:1083,137,1,0 +BRDA:1090,138,0,8 +BRDA:1090,138,1,54 +BRDA:1091,139,0,33 +BRDA:1091,139,1,21 +BRDA:1092,140,0,3 +BRDA:1092,140,1,30 +BRDA:1092,141,0,33 +BRDA:1092,141,1,30 +BRDA:1097,142,0,21 +BRDA:1097,142,1,0 +BRDA:1105,143,0,0 +BRDA:1105,143,1,21 +BRDA:1112,144,0,9 +BRDA:1112,144,1,35 +BRDA:1135,145,0,6 +BRDA:1135,145,1,0 +BRDA:1136,146,0,2 +BRDA:1136,146,1,4 +BRDA:1137,147,0,2 +BRDA:1137,147,1,0 +BRDA:1141,148,0,4 +BRDA:1141,148,1,0 +BRDA:1159,149,0,7 +BRDA:1159,149,1,6 +BRDA:1166,150,0,4 +BRDA:1166,150,1,7 +BRDA:1171,151,0,1 +BRDA:1171,151,1,6 +BRDA:1193,152,0,4 +BRDA:1193,152,1,1 +BRDA:1246,153,0,2 +BRDA:1246,153,1,1 +BRDA:1259,154,0,1 +BRDA:1259,154,1,50 +BRDA:1260,155,0,1 +BRDA:1260,155,1,0 +BRDA:1271,156,0,1 +BRDA:1271,156,1,0 +BRDA:1271,157,0,1 +BRDA:1271,157,1,1 +BRDA:1275,158,0,0 +BRDA:1275,158,1,0 +BRDA:1275,159,0,0 +BRDA:1275,159,1,0 +BRF:320 +BRH:272 +end_of_record diff --git a/node_modules/async/coverage/lib/async.js.html b/node_modules/async/coverage/lib/async.js.html new file mode 100644 index 000000000..d1ba21268 --- /dev/null +++ b/node_modules/async/coverage/lib/async.js.html @@ -0,0 +1,3597 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for lib/async.js</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="../prettify.css"> + <link rel="stylesheet" href="../base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(../sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">lib/async.js</span></h1> + <h2> + Statements: <span class="metric">94.88% <small>(611 / 644)</small></span> + Branches: <span class="metric">86.91% <small>(239 / 275)</small></span> + Functions: <span class="metric">95.41% <small>(187 / 196)</small></span> + Lines: <span class="metric">94.85% <small>(608 / 641)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"><a href="../index.html">All files</a> » <a href="index.html">lib/</a> » async.js</div> +</div> +<div class="body"> +<pre><table class="coverage"> +<tr><td class="line-count">1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185</td><td class="line-coverage"><span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">200</span> +<span class="cline-any cline-yes">200</span> +<span class="cline-any cline-yes">200</span> +<span class="cline-any cline-yes">196</span> +<span class="cline-any cline-yes">196</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">168</span> +<span class="cline-any cline-yes">168</span> +<span class="cline-any cline-yes">176</span> +<span class="cline-any cline-yes">157</span> +<span class="cline-any cline-yes">157</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">138</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">328</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">328</span> +<span class="cline-any cline-yes">480</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">104</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">104</span> +<span class="cline-any cline-yes">148</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">104</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">76</span> +<span class="cline-any cline-yes">61</span> +<span class="cline-any cline-yes">61</span> +<span class="cline-any cline-yes">243</span> +<span class="cline-any cline-yes">243</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">53</span> +<span class="cline-any cline-yes">53</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-yes">151</span> +<span class="cline-any cline-yes">151</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-yes">50299</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50259</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">59</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50236</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">45</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">39</span> +<span class="cline-any cline-yes">109</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">105</span> +<span class="cline-any cline-yes">16</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">31</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">123</span> +<span class="cline-any cline-yes">123</span> +<span class="cline-any cline-yes">123</span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">94</span> +<span class="cline-any cline-yes">90</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">79</span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">59</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">94</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">44</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">32</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-yes">119</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">107</span> +<span class="cline-any cline-yes">173</span> +<span class="cline-any cline-yes">173</span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-yes">17</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">71</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">102</span> +<span class="cline-any cline-yes">102</span> +<span class="cline-any cline-yes">97</span> +<span class="cline-any cline-yes">97</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">90</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">69</span> +<span class="cline-any cline-yes">67</span> +<span class="cline-any cline-yes">67</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">26</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">14</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">28</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">47</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">36</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">30</span> +<span class="cline-any cline-yes">30</span> +<span class="cline-any cline-yes">29</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">30</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">36</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">36</span> +<span class="cline-any cline-yes">36</span> +<span class="cline-any cline-yes">36</span> +<span class="cline-any cline-yes">23</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">56</span> +<span class="cline-any cline-yes">54</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">34</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">22</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-yes">12</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">18</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">23</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">19</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">25</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">38</span> +<span class="cline-any cline-yes">46</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">38</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">92</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">91</span> +<span class="cline-any cline-yes">91</span> +<span class="cline-any cline-yes">84</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">91</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">105</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">105</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">97</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">105</span> +<span class="cline-any cline-yes">28</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">105</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">26</span> +<span class="cline-any cline-yes">26</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">84</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">207</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">112</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">30</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">112</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-yes">27</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">89</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">5</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">26</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">21</span> +<span class="cline-any cline-yes">63</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">20</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">8</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">11</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">4</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">10</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">7</span> +<span class="cline-any cline-yes">16</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-yes">15</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">6</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">9</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">50052</span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50050</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">24</span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-yes">50070</span> +<span class="cline-any cline-yes">50070</span> +<span class="cline-any cline-yes">50017</span> +<span class="cline-any cline-yes">50017</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">53</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-yes">50072</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-yes">1</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*! + * async + * https://github.com/caolan/async + * + * Copyright 2010-2014 Caolan McMahon + * Released under the MIT license + */ +(function () { + + var async = {}; + function noop() {} + + // global on the server, window in the browser + var root, previous_async; + + <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof window == 'object' && <span class="branch-1 cbranch-no" title="branch not covered" >this === window)</span> { +<span class="cstat-no" title="statement not covered" > root = window;</span> + } + else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof global == 'object' && this === global) { + root = global; + } + else { +<span class="cstat-no" title="statement not covered" > root = this;</span> + } + + <span class="missing-if-branch" title="else path not taken" >E</span>if (root != null) { + previous_async = root.async; + } + + async.noConflict = <span class="fstat-no" title="function not covered" >function () {</span> +<span class="cstat-no" title="statement not covered" > root.async = previous_async;</span> +<span class="cstat-no" title="statement not covered" > return async;</span> + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(this, arguments); + }; + } + + function _once(fn) { + var called = false; + return function() { + if (called) return; + called = true; + fn.apply(this, arguments); + }; + } + + //// cross-browser compatiblity functions //// + + var _toString = Object.prototype.toString; + + var _isArray = Array.isArray || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >function (obj) {</span></span> +<span class="cstat-no" title="statement not covered" > return _toString.call(obj) === '[object Array]';</span> + }; + + function _isArrayLike(arr) { + return _isArray(arr) || ( + // has a positive integer length property + typeof arr.length === "number" && + arr.length >= 0 && + arr.length % 1 === 0 + ); + } + + function _each(coll, iterator) { + return _isArrayLike(coll) ? + _arrayEach(coll, iterator) : + _forEachOf(coll, iterator); + } + + function _arrayEach(arr, iterator) { + var index = -1, + length = arr.length; + + while (++index < length) { + iterator(arr[index], index, arr); + } + } + + function _map(arr, iterator) { + var index = -1, + length = arr.length, + result = Array(length); + + while (++index < length) { + result[index] = iterator(arr[index], index, arr); + } + return result; + } + + function _reduce(arr, iterator, memo) { + _arrayEach(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + } + + function _forEachOf(object, iterator) { + _arrayEach(_keys(object), function (key) { + iterator(object[key], key); + }); + } + + var _keys = Object.keys || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >function (obj) {</span></span> +<span class="cstat-no" title="statement not covered" > var keys = [];</span> +<span class="cstat-no" title="statement not covered" > for (var k in obj) {</span> +<span class="cstat-no" title="statement not covered" > if (obj.hasOwnProperty(k)) {</span> +<span class="cstat-no" title="statement not covered" > keys.push(k);</span> + } + } +<span class="cstat-no" title="statement not covered" > return keys;</span> + }; + + function _keyIterator(coll) { + var i = -1; + var len; + var keys; + if (_isArrayLike(coll)) { + len = coll.length; + return function next() { + i++; + return i < len ? i : null; + }; + } else { + keys = _keys(coll); + len = keys.length; + return function next() { + i++; + return i < len ? keys[i] : null; + }; + } + } + + function _baseSlice(arr, start) { + start = start || 0; + var index = -1; + var length = arr.length; + + if (start) { + length -= start; + length = length < 0 ? 0 : length; + } + var result = Array(length); + + while (++index < length) { + result[index] = arr[index + start]; + } + return result; + } + + function _withoutIndex(iterator) { + return function (value, index, callback) { + return iterator(value, callback); + }; + } + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + + // capture the global reference to guard against fakeTimer mocks + var _setImmediate; + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof setImmediate === 'function') { + _setImmediate = setImmediate; + } + + <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof process === 'undefined' || !(process.nextTick)) { +<span class="cstat-no" title="statement not covered" > if (_setImmediate) {</span> +<span class="cstat-no" title="statement not covered" > async.nextTick = <span class="fstat-no" title="function not covered" >function (fn) {</span></span> + // not a direct alias for IE10 compatibility +<span class="cstat-no" title="statement not covered" > _setImmediate(fn);</span> + }; +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + else { +<span class="cstat-no" title="statement not covered" > async.nextTick = <span class="fstat-no" title="function not covered" >function (fn) {</span></span> +<span class="cstat-no" title="statement not covered" > setTimeout(fn, 0);</span> + }; +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + } + else { + async.nextTick = process.nextTick; + <span class="missing-if-branch" title="else path not taken" >E</span>if (_setImmediate) { + async.setImmediate = function (fn) { + // not a direct alias for IE10 compatibility + _setImmediate(fn); + }; + } + else { +<span class="cstat-no" title="statement not covered" > async.setImmediate = async.nextTick;</span> + } + } + + async.forEach = + async.each = function (arr, iterator, callback) { + return async.eachOf(arr, _withoutIndex(iterator), callback); + }; + + async.forEachSeries = + async.eachSeries = function (arr, iterator, callback) { + return async.eachOfSeries(arr, _withoutIndex(iterator), callback); + }; + + + async.forEachLimit = + async.eachLimit = function (arr, limit, iterator, callback) { + return _eachOfLimit(limit)(arr, _withoutIndex(iterator), callback); + }; + + async.forEachOf = + async.eachOf = function (object, iterator, callback) { + callback = _once(callback || noop); + object = object || []; + var size = object.length || _keys(object).length; + var completed = 0; + if (!size) { + return callback(null); + } + _each(object, function (value, key) { + iterator(object[key], key, only_once(done)); + }); + function done(err) { + if (err) { + callback(err); + } + else { + completed += 1; + if (completed >= size) { + callback(null); + } + } + } + }; + + async.forEachOfSeries = + async.eachOfSeries = function (obj, iterator, callback) { + callback = _once(callback || noop); + obj = obj || []; + var nextKey = _keyIterator(obj); + function iterate() { + var sync = true; + var key = nextKey(); + if (key === null) { + return callback(null); + } + iterator(obj[key], key, function (err) { + if (err) { + callback(err); + } + else { + if (sync) { + async.nextTick(iterate); + } + else { + iterate(); + } + } + }); + sync = false; + } + iterate(); + }; + + + + async.forEachOfLimit = + async.eachOfLimit = function (obj, limit, iterator, callback) { + _eachOfLimit(limit)(obj, iterator, callback); + }; + + function _eachOfLimit(limit) { + + return function (obj, iterator, callback) { + callback = _once(callback || noop); + obj = obj || []; + var nextKey = _keyIterator(obj); + if (limit <= 0) { + return callback(null); + } + var done = false; + var running = 0; + var errored = false; + + (function replenish () { + if (done && running <= 0) { + return callback(null); + } + + while (running < limit && !errored) { + var key = nextKey(); + if (key === null) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running += 1; + iterator(obj[key], key, function (err) { + running -= 1; + if (err) { + callback(err); + errored = true; + } + else { + replenish(); + } + }); + } + })(); + }; + } + + + function doParallel(fn) { + return function (obj, iterator, callback) { + return fn(async.eachOf, obj, iterator, callback); + }; + } + function doParallelLimit(limit, fn) { + return function (obj, iterator, callback) { + return fn(_eachOfLimit(limit), obj, iterator, callback); + }; + } + function doSeries(fn) { + return function (obj, iterator, callback) { + return fn(async.eachOfSeries, obj, iterator, callback); + }; + } + + function _asyncMap(eachfn, arr, iterator, callback) { + callback = _once(callback || noop); + var results = []; + eachfn(arr, function (value, index, callback) { + iterator(value, function (err, v) { + results[index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + function _mapLimit(limit) { + return doParallelLimit(limit, _asyncMap); + } + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.inject = + async.foldl = + async.reduce = function (arr, memo, iterator, callback) { + async.eachOfSeries(arr, function (x, i, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err || null, memo); + }); + }; + + async.foldr = + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + + function _filter(eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, index, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function () { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + } + + async.select = + async.filter = doParallel(_filter); + + async.selectSeries = + async.filterSeries = doSeries(_filter); + + function _reject(eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, index, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function () { + callback(_map(results.sort(<span class="fstat-no" title="function not covered" >function (a, b) {</span> +<span class="cstat-no" title="statement not covered" > return a.index - b.index;</span> + }), function (x) { + return x.value; + })); + }); + } + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + function _detect(eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, index, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = noop; + } + else { + callback(); + } + }); + }, <span class="fstat-no" title="function not covered" >function () {</span> +<span class="cstat-no" title="statement not covered" > main_callback();</span> + }); + } + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.any = + async.some = function (arr, iterator, main_callback) { + async.eachOf(arr, function (x, _, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = noop; + } + callback(); + }); + }, function () { + main_callback(false); + }); + }; + + async.all = + async.every = function (arr, iterator, main_callback) { + async.eachOf(arr, function (x, _, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = noop; + } + callback(); + }); + }, function () { + main_callback(true); + }); + }; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > callback(err);</span> + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + else { + callback(null, _map(results.sort(comparator), function (x) { + return x.value; + })); + } + + }); + + function comparator(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : <span class="branch-1 cbranch-no" title="branch not covered" >0;</span> + } + }; + + async.auto = function (tasks, callback) { + callback = _once(callback || noop); + var keys = _keys(tasks); + var remainingTasks = keys.length; + if (!remainingTasks) { + return callback(null); + } + + var results = {}; + + var listeners = []; + function addListener(fn) { + listeners.unshift(fn); + } + function removeListener(fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + } + function taskComplete() { + remainingTasks--; + _arrayEach(listeners.slice(0), function (fn) { + fn(); + }); + } + + addListener(function () { + if (!remainingTasks) { + callback(null, results); + } + }); + + _arrayEach(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + function taskCallback(err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _arrayEach(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + } + var requires = task.slice(0, Math.abs(task.length - 1)) || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span> + // prevent dead-locks + var len = requires.length; + var dep; + while (len--) { + if (!(dep = tasks[requires[len]])) { + throw new Error('Has inexistant dependency'); + } + if (_isArray(dep) && !!~dep.indexOf(k)) { + throw new Error('Has cyclic dependencies'); + } + } + function ready() { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + } + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + addListener(listener); + } + function listener() { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || <span class="branch-1 cbranch-no" title="branch not covered" >DEFAULT_TIMES;</span> + + function wrappedTask(wrappedCallback, wrappedResults) { + function retryAttempt(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + } + + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + } + + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask; + }; + + async.waterfall = function (tasks, callback) { + callback = _once(callback || noop); + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + function wrapIterator(iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + } + else { + var args = _baseSlice(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + ensureAsync(iterator).apply(null, args); + } + }; + } + wrapIterator(async.iterator(tasks))(); + }; + + function _parallel(eachfn, tasks, callback) { + callback = callback || noop; + var results = _isArrayLike(tasks) ? [] : {}; + + eachfn(tasks, function (task, key, callback) { + task(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[key] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + + async.parallel = function (tasks, callback) { + _parallel(async.eachOf, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel(_eachOfLimit(limit), tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || noop; + var results = _isArrayLike(tasks) ? [] : {}; + + async.eachOfSeries(tasks, function (task, key, callback) { + task(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[key] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + }; + + async.iterator = function (tasks) { + function makeCallback(index) { + function fn() { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + } + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + } + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = _baseSlice(arguments, 1); + return function () { + return fn.apply( + null, args.concat(_baseSlice(arguments)) + ); + }; + }; + + function _concat(eachfn, arr, fn, callback) { + var result = []; + eachfn(arr, function (x, index, cb) { + fn(x, function (err, y) { + result = result.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, result); + }); + } + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + var args = _baseSlice(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + async.until(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (err) { +<span class="cstat-no" title="statement not covered" > return callback(err);</span> + } + var args = _baseSlice(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + function _queue(worker, concurrency, payload) { + if (concurrency == null) { + concurrency = 1; + } + else if(concurrency === 0) { + throw new Error('Concurrency must not be zero'); + } + function _insert(q, data, pos, callback) { + if (callback != null && typeof callback !== "function") { + throw new Error("task callback must be a function"); + } + q.started = true; + if (!_isArray(data)) { + data = [data]; + } + if(data.length === 0 && q.idle()) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + q.drain(); + }); + } + _arrayEach(data, function(task) { + var item = { + data: task, + callback: callback || noop + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: noop, + empty: noop, + drain: noop, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = noop; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + var tasks = payload ? + q.tasks.splice(0, payload) : +<span class="branch-1 cbranch-no" title="branch not covered" > q.tasks.splice(0, q.tasks.length);</span> + + var data = _map(tasks, function (task) { + return task.data; + }); + + if (q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var cb = only_once(next); + worker(data, cb); + } + + function next() { + workers -= 1; + var args = arguments; + _arrayEach(tasks, function (task) { + task.callback.apply(task, args); + }); + if (q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + q.paused = true; + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + var resumeCount = Math.min(q.concurrency, q.tasks.length); + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= resumeCount; w++) { + async.setImmediate(q.process); + } + } + }; + return q; + } + + async.queue = function (worker, concurrency) { + var q = _queue(function (items, cb) { + worker(items[0], cb); + }, concurrency, 1); + + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + } + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + <span class="missing-if-branch" title="if path not taken" >I</span>if (callback != null && typeof callback !== "function") { +<span class="cstat-no" title="statement not covered" > throw new Error("task callback must be a function");</span> + } + q.started = true; + <span class="missing-if-branch" title="else path not taken" >E</span>if (!_isArray(data)) { + data = [data]; + } + <span class="missing-if-branch" title="if path not taken" >I</span>if(data.length === 0) { + // call drain immediately if there are no tasks +<span class="cstat-no" title="statement not covered" > return async.setImmediate(<span class="fstat-no" title="function not covered" >function() {</span></span> +<span class="cstat-no" title="statement not covered" > q.drain();</span> + }); + } + _arrayEach(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : <span class="branch-1 cbranch-no" title="branch not covered" >noop</span> + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + if (q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + return _queue(worker, 1, payload); + }; + + function _console_fn(name) { + return function (fn) { + var args = _baseSlice(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = _baseSlice(arguments, 1); + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof console !== 'undefined') { + if (err) { + <span class="missing-if-branch" title="else path not taken" >E</span>if (console.error) { + console.error(err); + } + } + else <span class="missing-if-branch" title="else path not taken" >E</span>if (console[name]) { + _arrayEach(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + } + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + function memoized() { + var args = _baseSlice(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = _baseSlice(arguments); + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + } + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = _baseSlice(arguments); + + var callback = args.slice(-1)[0]; + if (typeof callback == 'function') { + args.pop(); + } else { + callback = noop; + } + + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = _baseSlice(arguments, 1); + cb(err, nextargs); + }])); + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + + function _applyEach(eachfn, fns /*args...*/) { + function go() { + var that = this; + var args = _baseSlice(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, _, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + } + if (arguments.length > 2) { + var args = _baseSlice(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + } + + async.applyEach = function (/*fns, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOf].concat(args)); + }; + async.applyEachSeries = function (/*fns, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOfSeries].concat(args)); + }; + + + async.forever = function (fn, callback) { + var done = only_once(callback || <span class="branch-1 cbranch-no" title="branch not covered" >noop)</span>; + var task = ensureAsync(fn); + function next(err) { + if (err) { + return done(err); + } + task(next); + } + next(); + }; + + function ensureAsync(fn) { + return function (/*...args, callback*/) { + var args = _baseSlice(arguments); + var callback = args.pop(); + args.push(function () { + var innerArgs = arguments; + if (sync) { + async.setImmediate(function () { + callback.apply(null, innerArgs); + }); + } else { + callback.apply(null, innerArgs); + } + }); + var sync = true; + fn.apply(this, args); + sync = false; + }; + } + + async.ensureAsync = ensureAsync; + + // Node.js + <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else <span class="cstat-no" title="statement not covered" >if (typeof define !== 'undefined' && define.amd) {</span> +<span class="cstat-no" title="statement not covered" > define([], <span class="fstat-no" title="function not covered" >function () {</span></span> +<span class="cstat-no" title="statement not covered" > return async;</span> + }); + } + // included directly via <script> tag + else { +<span class="cstat-no" title="statement not covered" > root.async = async;</span> + } + +}()); + </pre></td></tr> +</table></pre> + +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Jun 01 2015 15:22:05 GMT-0700 (PDT)</div> +</div> +<script src="../prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="../sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/lib/index.html b/node_modules/async/coverage/lib/index.html new file mode 100644 index 000000000..c7eedeb38 --- /dev/null +++ b/node_modules/async/coverage/lib/index.html @@ -0,0 +1,73 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for lib/</title> + <meta charset="utf-8"> + <link rel="stylesheet" href="../prettify.css"> + <link rel="stylesheet" href="../base.css"> + <style type='text/css'> + div.coverage-summary .sorter { + background-image: url(../sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class="header high"> + <h1>Code coverage report for <span class="entity">lib/</span></h1> + <h2> + Statements: <span class="metric">94.88% <small>(611 / 644)</small></span> + Branches: <span class="metric">86.91% <small>(239 / 275)</small></span> + Functions: <span class="metric">95.41% <small>(187 / 196)</small></span> + Lines: <span class="metric">94.85% <small>(608 / 641)</small></span> + Ignored: <span class="metric"><span class="ignore-none">none</span></span> + </h2> + <div class="path"><a href="../index.html">All files</a> » lib/</div> +</div> +<div class="body"> +<div class="coverage-summary"> +<table> +<thead> +<tr> + <th data-col="file" data-fmt="html" data-html="true" class="file">File</th> + <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th> + <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th> + <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th> + <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th> + <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th> + <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th> + <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th> +</tr> +</thead> +<tbody><tr> + <td class="file high" data-value="async.js"><a href="async.js.html">async.js</a></td> + <td data-value="94.88" class="pic high"><span class="cover-fill" style="width: 94px;"></span><span class="cover-empty" style="width:6px;"></span></td> + <td data-value="94.88" class="pct high">94.88%</td> + <td data-value="644" class="abs high">(611 / 644)</td> + <td data-value="86.91" class="pct high">86.91%</td> + <td data-value="275" class="abs high">(239 / 275)</td> + <td data-value="95.41" class="pct high">95.41%</td> + <td data-value="196" class="abs high">(187 / 196)</td> + <td data-value="94.85" class="pct high">94.85%</td> + <td data-value="641" class="abs high">(608 / 641)</td> + </tr> + +</tbody> +</table> +</div> +</div> +<div class="footer"> + <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Jun 01 2015 15:22:05 GMT-0700 (PDT)</div> +</div> +<script src="../prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="../sorter.js"></script> +</body> +</html> diff --git a/node_modules/async/coverage/prettify.css b/node_modules/async/coverage/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/node_modules/async/coverage/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/node_modules/async/coverage/prettify.js b/node_modules/async/coverage/prettify.js new file mode 100644 index 000000000..ef51e0386 --- /dev/null +++ b/node_modules/async/coverage/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/node_modules/async/coverage/sort-arrow-sprite.png b/node_modules/async/coverage/sort-arrow-sprite.png Binary files differnew file mode 100644 index 000000000..03f704a60 --- /dev/null +++ b/node_modules/async/coverage/sort-arrow-sprite.png diff --git a/node_modules/async/coverage/sorter.js b/node_modules/async/coverage/sorter.js new file mode 100644 index 000000000..6afb736c3 --- /dev/null +++ b/node_modules/async/coverage/sorter.js @@ -0,0 +1,156 @@ +var addSorting = (function () { + "use strict"; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { return document.querySelector('.coverage-summary table'); } + // returns the thead element of the summary table + function getTableHeader() { return getTable().querySelector('thead tr'); } + // returns the tbody element of the summary table + function getTableBody() { return getTable().querySelector('tbody'); } + // returns the th element for nth column + function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + el = getNthColumn(i).querySelector('.sorter'); + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/node_modules/async/lib/async.js b/node_modules/async/lib/async.js new file mode 100644 index 000000000..07ffd8423 --- /dev/null +++ b/node_modules/async/lib/async.js @@ -0,0 +1,1191 @@ +/*! + * async + * https://github.com/caolan/async + * + * Copyright 2010-2014 Caolan McMahon + * Released under the MIT license + */ +(function () { + + var async = {}; + function noop() {} + + // global on the server, window in the browser + var root, previous_async; + + if (typeof window == 'object' && this === window) { + root = window; + } + else if (typeof global == 'object' && this === global) { + root = global; + } + else { + root = this; + } + + if (root != null) { + previous_async = root.async; + } + + async.noConflict = function () { + root.async = previous_async; + return async; + }; + + function only_once(fn) { + var called = false; + return function() { + if (called) throw new Error("Callback was already called."); + called = true; + fn.apply(this, arguments); + }; + } + + function _once(fn) { + var called = false; + return function() { + if (called) return; + called = true; + fn.apply(this, arguments); + }; + } + + //// cross-browser compatiblity functions //// + + var _toString = Object.prototype.toString; + + var _isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + + function _isArrayLike(arr) { + return _isArray(arr) || ( + // has a positive integer length property + typeof arr.length === "number" && + arr.length >= 0 && + arr.length % 1 === 0 + ); + } + + function _each(coll, iterator) { + return _isArrayLike(coll) ? + _arrayEach(coll, iterator) : + _forEachOf(coll, iterator); + } + + function _arrayEach(arr, iterator) { + var index = -1, + length = arr.length; + + while (++index < length) { + iterator(arr[index], index, arr); + } + } + + function _map(arr, iterator) { + var index = -1, + length = arr.length, + result = Array(length); + + while (++index < length) { + result[index] = iterator(arr[index], index, arr); + } + return result; + } + + function _range(count) { + return _map(Array(count), function (v, i) { return i; }); + } + + function _reduce(arr, iterator, memo) { + _arrayEach(arr, function (x, i, a) { + memo = iterator(memo, x, i, a); + }); + return memo; + } + + function _forEachOf(object, iterator) { + _arrayEach(_keys(object), function (key) { + iterator(object[key], key); + }); + } + + var _keys = Object.keys || function (obj) { + var keys = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + keys.push(k); + } + } + return keys; + }; + + function _keyIterator(coll) { + var i = -1; + var len; + var keys; + if (_isArrayLike(coll)) { + len = coll.length; + return function next() { + i++; + return i < len ? i : null; + }; + } else { + keys = _keys(coll); + len = keys.length; + return function next() { + i++; + return i < len ? keys[i] : null; + }; + } + } + + function _baseSlice(arr, start) { + start = start || 0; + var index = -1; + var length = arr.length; + + if (start) { + length -= start; + length = length < 0 ? 0 : length; + } + var result = Array(length); + + while (++index < length) { + result[index] = arr[index + start]; + } + return result; + } + + function _withoutIndex(iterator) { + return function (value, index, callback) { + return iterator(value, callback); + }; + } + + //// exported async module functions //// + + //// nextTick implementation with browser-compatible fallback //// + + // capture the global reference to guard against fakeTimer mocks + var _setImmediate; + if (typeof setImmediate === 'function') { + _setImmediate = setImmediate; + } + + if (typeof process === 'undefined' || !(process.nextTick)) { + if (_setImmediate) { + async.nextTick = function (fn) { + // not a direct alias for IE10 compatibility + _setImmediate(fn); + }; + async.setImmediate = async.nextTick; + } + else { + async.nextTick = function (fn) { + setTimeout(fn, 0); + }; + async.setImmediate = async.nextTick; + } + } + else { + async.nextTick = process.nextTick; + if (_setImmediate) { + async.setImmediate = function (fn) { + // not a direct alias for IE10 compatibility + _setImmediate(fn); + }; + } + else { + async.setImmediate = async.nextTick; + } + } + + async.forEach = + async.each = function (arr, iterator, callback) { + return async.eachOf(arr, _withoutIndex(iterator), callback); + }; + + async.forEachSeries = + async.eachSeries = function (arr, iterator, callback) { + return async.eachOfSeries(arr, _withoutIndex(iterator), callback); + }; + + + async.forEachLimit = + async.eachLimit = function (arr, limit, iterator, callback) { + return _eachOfLimit(limit)(arr, _withoutIndex(iterator), callback); + }; + + async.forEachOf = + async.eachOf = function (object, iterator, callback) { + callback = _once(callback || noop); + object = object || []; + var size = _isArrayLike(object) ? object.length : _keys(object).length; + var completed = 0; + if (!size) { + return callback(null); + } + _each(object, function (value, key) { + iterator(object[key], key, only_once(done)); + }); + function done(err) { + if (err) { + callback(err); + } + else { + completed += 1; + if (completed >= size) { + callback(null); + } + } + } + }; + + async.forEachOfSeries = + async.eachOfSeries = function (obj, iterator, callback) { + callback = _once(callback || noop); + obj = obj || []; + var nextKey = _keyIterator(obj); + var key = nextKey(); + function iterate() { + var sync = true; + if (key === null) { + return callback(null); + } + iterator(obj[key], key, only_once(function (err) { + if (err) { + callback(err); + } + else { + key = nextKey(); + if (key === null) { + return callback(null); + } else { + if (sync) { + async.nextTick(iterate); + } else { + iterate(); + } + } + } + })); + sync = false; + } + iterate(); + }; + + + + async.forEachOfLimit = + async.eachOfLimit = function (obj, limit, iterator, callback) { + _eachOfLimit(limit)(obj, iterator, callback); + }; + + function _eachOfLimit(limit) { + + return function (obj, iterator, callback) { + callback = _once(callback || noop); + obj = obj || []; + var nextKey = _keyIterator(obj); + if (limit <= 0) { + return callback(null); + } + var done = false; + var running = 0; + var errored = false; + + (function replenish () { + if (done && running <= 0) { + return callback(null); + } + + while (running < limit && !errored) { + var key = nextKey(); + if (key === null) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running += 1; + iterator(obj[key], key, only_once(function (err) { + running -= 1; + if (err) { + callback(err); + errored = true; + } + else { + replenish(); + } + })); + } + })(); + }; + } + + + function doParallel(fn) { + return function (obj, iterator, callback) { + return fn(async.eachOf, obj, iterator, callback); + }; + } + function doParallelLimit(limit, fn) { + return function (obj, iterator, callback) { + return fn(_eachOfLimit(limit), obj, iterator, callback); + }; + } + function doSeries(fn) { + return function (obj, iterator, callback) { + return fn(async.eachOfSeries, obj, iterator, callback); + }; + } + + function _asyncMap(eachfn, arr, iterator, callback) { + callback = _once(callback || noop); + var results = []; + eachfn(arr, function (value, index, callback) { + iterator(value, function (err, v) { + results[index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + function _mapLimit(limit) { + return doParallelLimit(limit, _asyncMap); + } + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.inject = + async.foldl = + async.reduce = function (arr, memo, iterator, callback) { + async.eachOfSeries(arr, function (x, i, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err || null, memo); + }); + }; + + async.foldr = + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + + function _filter(eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, index, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function () { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + } + + async.select = + async.filter = doParallel(_filter); + + async.selectSeries = + async.filterSeries = doSeries(_filter); + + function _reject(eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, index, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function () { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + } + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + function _detect(eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, index, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = noop; + } + else { + callback(); + } + }); + }, function () { + main_callback(); + }); + } + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.any = + async.some = function (arr, iterator, main_callback) { + async.eachOf(arr, function (x, _, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = noop; + } + callback(); + }); + }, function () { + main_callback(false); + }); + }; + + async.all = + async.every = function (arr, iterator, main_callback) { + async.eachOf(arr, function (x, _, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = noop; + } + callback(); + }); + }, function () { + main_callback(true); + }); + }; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + callback(null, _map(results.sort(comparator), function (x) { + return x.value; + })); + } + + }); + + function comparator(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + } + }; + + async.auto = function (tasks, callback) { + callback = _once(callback || noop); + var keys = _keys(tasks); + var remainingTasks = keys.length; + if (!remainingTasks) { + return callback(null); + } + + var results = {}; + + var listeners = []; + function addListener(fn) { + listeners.unshift(fn); + } + function removeListener(fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + } + function taskComplete() { + remainingTasks--; + _arrayEach(listeners.slice(0), function (fn) { + fn(); + }); + } + + addListener(function () { + if (!remainingTasks) { + callback(null, results); + } + }); + + _arrayEach(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + function taskCallback(err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _arrayEach(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + } + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + // prevent dead-locks + var len = requires.length; + var dep; + while (len--) { + if (!(dep = tasks[requires[len]])) { + throw new Error('Has inexistant dependency'); + } + if (_isArray(dep) && !!~dep.indexOf(k)) { + throw new Error('Has cyclic dependencies'); + } + } + function ready() { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + } + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + addListener(listener); + } + function listener() { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || DEFAULT_TIMES; + + function wrappedTask(wrappedCallback, wrappedResults) { + function retryAttempt(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + } + + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + } + + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask; + }; + + async.waterfall = function (tasks, callback) { + callback = _once(callback || noop); + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + function wrapIterator(iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + } + else { + var args = _baseSlice(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + ensureAsync(iterator).apply(null, args); + } + }; + } + wrapIterator(async.iterator(tasks))(); + }; + + function _parallel(eachfn, tasks, callback) { + callback = callback || noop; + var results = _isArrayLike(tasks) ? [] : {}; + + eachfn(tasks, function (task, key, callback) { + task(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[key] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + + async.parallel = function (tasks, callback) { + _parallel(async.eachOf, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel(_eachOfLimit(limit), tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || noop; + var results = _isArrayLike(tasks) ? [] : {}; + + async.eachOfSeries(tasks, function (task, key, callback) { + task(function (err) { + var args = _baseSlice(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[key] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + }; + + async.iterator = function (tasks) { + function makeCallback(index) { + function fn() { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + } + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + } + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = _baseSlice(arguments, 1); + return function () { + return fn.apply( + null, args.concat(_baseSlice(arguments)) + ); + }; + }; + + function _concat(eachfn, arr, fn, callback) { + var result = []; + eachfn(arr, function (x, index, cb) { + fn(x, function (err, y) { + result = result.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, result); + }); + } + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = _baseSlice(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(null); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = _baseSlice(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(null); + } + }); + }; + + function _queue(worker, concurrency, payload) { + if (concurrency == null) { + concurrency = 1; + } + else if(concurrency === 0) { + throw new Error('Concurrency must not be zero'); + } + function _insert(q, data, pos, callback) { + if (callback != null && typeof callback !== "function") { + throw new Error("task callback must be a function"); + } + q.started = true; + if (!_isArray(data)) { + data = [data]; + } + if(data.length === 0 && q.idle()) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + q.drain(); + }); + } + _arrayEach(data, function(task) { + var item = { + data: task, + callback: callback || noop + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.tasks.length === q.concurrency) { + q.saturated(); + } + }); + async.setImmediate(q.process); + } + function _next(q, tasks) { + return function(){ + workers -= 1; + var args = arguments; + _arrayEach(tasks, function (task) { + task.callback.apply(task, args); + }); + if (q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: noop, + empty: noop, + drain: noop, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = noop; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + while(workers < q.concurrency && q.tasks.length){ + var tasks = payload ? + q.tasks.splice(0, payload) : + q.tasks.splice(0, q.tasks.length); + + var data = _map(tasks, function (task) { + return task.data; + }); + + if (q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var cb = only_once(_next(q, tasks)); + worker(data, cb); + } + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + q.paused = true; + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + var resumeCount = Math.min(q.concurrency, q.tasks.length); + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= resumeCount; w++) { + async.setImmediate(q.process); + } + } + }; + return q; + } + + async.queue = function (worker, concurrency) { + var q = _queue(function (items, cb) { + worker(items[0], cb); + }, concurrency, 1); + + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + } + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + if (callback != null && typeof callback !== "function") { + throw new Error("task callback must be a function"); + } + q.started = true; + if (!_isArray(data)) { + data = [data]; + } + if(data.length === 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + q.drain(); + }); + } + _arrayEach(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : noop + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + if (q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + return _queue(worker, 1, payload); + }; + + function _console_fn(name) { + return function (fn) { + var args = _baseSlice(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = _baseSlice(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _arrayEach(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + } + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + function memoized() { + var args = _baseSlice(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = _baseSlice(arguments); + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + } + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + function _times(mapper) { + return function (count, iterator, callback) { + mapper(_range(count), iterator, callback); + }; + } + + async.times = _times(async.map); + async.timesSeries = _times(async.mapSeries); + async.timesLimit = function (count, limit, iterator, callback) { + return async.mapLimit(_range(count), limit, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = _baseSlice(arguments); + + var callback = args.slice(-1)[0]; + if (typeof callback == 'function') { + args.pop(); + } else { + callback = noop; + } + + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = _baseSlice(arguments, 1); + cb(err, nextargs); + }])); + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + + function _applyEach(eachfn, fns /*args...*/) { + function go() { + var that = this; + var args = _baseSlice(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, _, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + } + if (arguments.length > 2) { + var args = _baseSlice(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + } + + async.applyEach = function (/*fns, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOf].concat(args)); + }; + async.applyEachSeries = function (/*fns, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOfSeries].concat(args)); + }; + + + async.forever = function (fn, callback) { + var done = only_once(callback || noop); + var task = ensureAsync(fn); + function next(err) { + if (err) { + return done(err); + } + task(next); + } + next(); + }; + + function ensureAsync(fn) { + return function (/*...args, callback*/) { + var args = _baseSlice(arguments); + var callback = args.pop(); + args.push(function () { + var innerArgs = arguments; + if (sync) { + async.setImmediate(function () { + callback.apply(null, innerArgs); + }); + } else { + callback.apply(null, innerArgs); + } + }); + var sync = true; + fn.apply(this, args); + sync = false; + }; + } + + async.ensureAsync = ensureAsync; + + // Node.js + if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // included directly via <script> tag + else { + root.async = async; + } + +}()); diff --git a/node_modules/async/nyc_output/5074.json b/node_modules/async/nyc_output/5074.json new file mode 100644 index 000000000..b01ba22c8 --- /dev/null +++ b/node_modules/async/nyc_output/5074.json @@ -0,0 +1 @@ +{"./lib/async.js":{"path":"./lib/async.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":0,"7":1,"8":1,"9":0,"10":1,"11":1,"12":1,"13":0,"14":0,"15":1,"16":200,"17":200,"18":200,"19":4,"20":196,"21":196,"22":1,"23":168,"24":168,"25":176,"26":19,"27":157,"28":157,"29":1,"30":1,"31":0,"32":1,"33":138,"34":1,"35":39,"36":1,"37":328,"38":328,"39":480,"40":1,"41":104,"42":104,"43":148,"44":104,"45":1,"46":56,"47":54,"48":56,"49":1,"50":5,"51":11,"52":1,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":76,"60":76,"61":76,"62":76,"63":61,"64":61,"65":243,"66":243,"67":15,"68":15,"69":15,"70":53,"71":53,"72":1,"73":50259,"74":50259,"75":50259,"76":50259,"77":151,"78":151,"79":50259,"80":50259,"81":50299,"82":50259,"83":1,"84":19,"85":59,"86":1,"87":1,"88":1,"89":1,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":1,"98":1,"99":1,"100":50236,"101":0,"102":1,"103":5,"104":1,"105":5,"106":1,"107":9,"108":1,"109":45,"110":45,"111":45,"112":45,"113":45,"114":6,"115":39,"116":109,"117":1,"118":105,"119":16,"120":89,"121":89,"122":31,"123":1,"124":44,"125":44,"126":44,"127":1,"128":123,"129":123,"130":123,"131":29,"132":94,"133":90,"134":11,"135":79,"136":20,"137":59,"138":94,"139":44,"140":1,"141":9,"142":1,"143":32,"144":32,"145":32,"146":32,"147":32,"148":3,"149":29,"150":29,"151":29,"152":29,"153":119,"154":12,"155":107,"156":173,"157":173,"158":71,"159":71,"160":17,"161":71,"162":102,"163":102,"164":97,"165":97,"166":7,"167":7,"168":90,"169":1,"170":5,"171":19,"172":1,"173":8,"174":8,"175":1,"176":5,"177":12,"178":1,"179":25,"180":25,"181":25,"182":69,"183":67,"184":67,"185":25,"186":1,"187":1,"188":1,"189":8,"190":1,"191":8,"192":1,"193":11,"194":26,"195":25,"196":25,"197":10,"198":1,"199":1,"200":3,"201":1,"202":1,"203":3,"204":3,"205":9,"206":3,"207":9,"208":9,"209":6,"210":9,"211":3,"212":3,"213":6,"214":1,"215":1,"216":1,"217":3,"218":3,"219":9,"220":3,"221":9,"222":9,"223":3,"224":9,"225":3,"226":0,"227":3,"228":1,"229":1,"230":1,"231":5,"232":15,"233":15,"234":7,"235":7,"236":8,"237":0,"238":1,"239":1,"240":1,"241":3,"242":9,"243":9,"244":2,"245":2,"246":9,"247":3,"248":1,"249":3,"250":9,"251":9,"252":3,"253":3,"254":9,"255":3,"256":1,"257":2,"258":6,"259":6,"260":0,"261":6,"262":2,"263":0,"264":2,"265":6,"266":1,"267":6,"268":6,"269":1,"270":14,"271":14,"272":14,"273":14,"274":1,"275":13,"276":13,"277":1,"278":28,"279":1,"280":13,"281":19,"282":13,"283":13,"284":1,"285":25,"286":25,"287":47,"288":13,"289":25,"290":7,"291":13,"292":36,"293":1,"294":30,"295":30,"296":29,"297":30,"298":5,"299":5,"300":1,"301":5,"302":5,"303":25,"304":25,"305":36,"306":36,"307":36,"308":36,"309":23,"310":1,"311":22,"312":1,"313":1,"314":56,"315":54,"316":34,"317":19,"318":15,"319":1,"320":22,"321":13,"322":13,"323":1,"324":3,"325":3,"326":3,"327":2,"328":2,"329":2,"330":3,"331":1,"332":1,"333":13,"334":7,"335":7,"336":3,"337":13,"338":3,"339":3,"340":3,"341":3,"342":1,"343":8,"344":8,"345":1,"346":1,"347":7,"348":1,"349":1,"350":18,"351":19,"352":1,"353":18,"354":18,"355":18,"356":12,"357":6,"358":18,"359":6,"360":1,"361":13,"362":13,"363":13,"364":27,"365":27,"366":27,"367":23,"368":27,"369":27,"370":13,"371":1,"372":7,"373":1,"374":6,"375":1,"376":10,"377":10,"378":10,"379":21,"380":21,"381":21,"382":19,"383":21,"384":21,"385":10,"386":1,"387":1,"388":1,"389":25,"390":24,"391":25,"392":38,"393":46,"394":38,"395":9,"396":1,"397":6,"398":6,"399":6,"400":1,"401":3,"402":3,"403":9,"404":9,"405":9,"406":3,"407":1,"408":1,"409":1,"410":6,"411":5,"412":5,"413":0,"414":5,"415":1,"416":1,"417":10,"418":10,"419":0,"420":10,"421":10,"422":8,"423":2,"424":1,"425":6,"426":5,"427":5,"428":0,"429":5,"430":1,"431":1,"432":10,"433":10,"434":0,"435":10,"436":10,"437":8,"438":2,"439":1,"440":27,"441":3,"442":24,"443":1,"444":1,"445":92,"446":1,"447":91,"448":91,"449":84,"450":91,"451":2,"452":2,"453":89,"454":105,"455":105,"456":8,"457":97,"458":105,"459":28,"460":105,"461":26,"462":26,"463":84,"464":1,"465":1,"466":8,"467":207,"468":89,"469":89,"470":112,"471":89,"472":30,"473":89,"474":89,"475":89,"476":1,"477":89,"478":89,"479":89,"480":112,"481":89,"482":27,"483":89,"484":50,"485":5,"486":9,"487":3,"488":4,"489":1,"490":3,"491":3,"492":3,"493":5,"494":26,"495":1,"496":21,"497":63,"498":20,"499":1,"500":1,"501":10,"502":1,"503":8,"504":8,"505":10,"506":10,"507":6,"508":4,"509":8,"510":1,"511":8,"512":0,"513":8,"514":8,"515":8,"516":8,"517":0,"518":0,"519":8,"520":8,"521":8,"522":8,"523":2,"524":8,"525":2,"526":2,"527":8,"528":2,"529":2,"530":1,"531":6,"532":1,"533":2,"534":6,"535":6,"536":6,"537":6,"538":6,"539":2,"540":2,"541":4,"542":4,"543":8,"544":1,"545":1,"546":1,"547":7,"548":7,"549":7,"550":9,"551":1,"552":11,"553":11,"554":11,"555":11,"556":4,"557":4,"558":7,"559":1,"560":6,"561":6,"562":6,"563":6,"564":6,"565":6,"566":7,"567":7,"568":7,"569":7,"570":1,"571":2,"572":4,"573":1,"574":3,"575":3,"576":6,"577":3,"578":1,"579":2,"580":2,"581":10,"582":2,"583":1,"584":7,"585":7,"586":7,"587":7,"588":7,"589":7,"590":6,"591":1,"592":7,"593":16,"594":15,"595":15,"596":15,"597":6,"598":1,"599":3,"600":1,"601":1,"602":3,"603":3,"604":3,"605":3,"606":9,"607":3,"608":2,"609":2,"610":1,"611":1,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":2,"619":2,"620":1,"621":50052,"622":2,"623":50050,"624":2,"625":1,"626":24,"627":50072,"628":50072,"629":50072,"630":50070,"631":50070,"632":50017,"633":50017,"634":53,"635":50072,"636":50072,"637":50072,"638":1,"639":1,"640":1,"641":0,"642":0,"643":0,"644":0},"b":{"1":[0,1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[1,0],"6":[4,196],"7":[19,157],"8":[1,0],"9":[138,30,7,7],"10":[34,5],"11":[1,0],"12":[0,0],"13":[61,15],"14":[164,79],"15":[32,21],"16":[50259,50108],"17":[151,50108],"18":[42,109],"19":[1,0],"20":[0,1],"21":[1,1],"22":[0,0],"23":[1,0],"24":[45,3],"25":[45,1],"26":[45,11],"27":[6,39],"28":[16,89],"29":[31,58],"30":[44,2],"31":[44,1],"32":[29,94],"33":[11,79],"34":[20,59],"35":[32,2],"36":[32,1],"37":[3,29],"38":[12,107],"39":[119,54],"40":[209,186],"41":[71,102],"42":[17,54],"43":[7,90],"44":[25,1],"45":[10,7],"46":[6,3],"47":[3,6],"48":[7,8],"49":[2,7],"50":[3,6],"51":[0,6],"52":[0,2],"53":[3,3],"54":[3,0],"55":[14,4],"56":[1,13],"57":[13,6],"58":[7,18],"59":[20,16],"60":[29,1],"61":[5,25],"62":[36,0],"63":[1,22],"64":[1,21],"65":[22,5],"66":[56,32],"67":[54,43],"68":[19,15],"69":[13,9],"70":[2,1],"71":[3,0],"72":[7,5],"73":[3,2],"74":[2,1],"75":[8,3],"76":[1,7],"77":[1,6],"78":[1,18],"79":[12,6],"80":[13,2],"81":[11,2],"82":[23,4],"83":[10,1],"84":[9,1],"85":[19,2],"86":[24,1],"87":[29,17],"88":[9,3],"89":[5,1],"90":[0,5],"91":[0,10],"92":[8,2],"93":[5,1],"94":[0,5],"95":[0,10],"96":[8,2],"97":[3,24],"98":[1,23],"99":[1,91],"100":[92,32],"101":[84,7],"102":[2,89],"103":[91,2],"104":[105,68],"105":[8,97],"106":[28,77],"107":[89,118],"108":[207,200,165],"109":[89,0],"110":[30,59],"111":[27,62],"112":[1,3],"113":[6,4],"114":[0,8],"115":[8,8],"116":[8,0],"117":[0,8],"118":[8,0],"119":[2,6],"120":[6,0],"121":[2,4],"122":[2,0],"123":[4,0],"124":[7,6],"125":[4,7],"126":[1,6],"127":[4,1],"128":[6,1],"129":[2,1],"130":[2,0],"131":[2,50050],"132":[50017,53],"133":[1,0],"134":[1,1],"135":[0,0],"136":[0,0]},"f":{"1":1,"2":157,"3":0,"4":200,"5":200,"6":168,"7":176,"8":0,"9":138,"10":39,"11":328,"12":104,"13":56,"14":54,"15":5,"16":11,"17":0,"18":76,"19":243,"20":53,"21":50259,"22":19,"23":59,"24":0,"25":0,"26":50236,"27":5,"28":5,"29":9,"30":45,"31":109,"32":105,"33":44,"34":123,"35":90,"36":9,"37":32,"38":32,"39":119,"40":97,"41":5,"42":19,"43":8,"44":8,"45":5,"46":12,"47":25,"48":69,"49":67,"50":25,"51":8,"52":8,"53":11,"54":26,"55":25,"56":10,"57":1,"58":3,"59":3,"60":9,"61":9,"62":9,"63":3,"64":3,"65":6,"66":3,"67":9,"68":9,"69":9,"70":3,"71":0,"72":3,"73":5,"74":15,"75":15,"76":0,"77":3,"78":9,"79":9,"80":3,"81":3,"82":9,"83":9,"84":3,"85":2,"86":6,"87":6,"88":2,"89":6,"90":6,"91":14,"92":28,"93":13,"94":25,"95":47,"96":25,"97":36,"98":30,"99":1,"100":56,"101":54,"102":22,"103":3,"104":3,"105":13,"106":7,"107":7,"108":3,"109":8,"110":18,"111":19,"112":13,"113":27,"114":27,"115":13,"116":7,"117":6,"118":10,"119":21,"120":21,"121":10,"122":9,"123":38,"124":25,"125":46,"126":6,"127":6,"128":3,"129":9,"130":9,"131":3,"132":6,"133":5,"134":10,"135":10,"136":6,"137":5,"138":10,"139":10,"140":27,"141":92,"142":2,"143":105,"144":84,"145":1,"146":8,"147":207,"148":112,"149":89,"150":112,"151":50,"152":5,"153":9,"154":3,"155":4,"156":21,"157":63,"158":2,"159":10,"160":8,"161":8,"162":0,"163":8,"164":8,"165":6,"166":2,"167":6,"168":6,"169":8,"170":7,"171":9,"172":11,"173":4,"174":6,"175":2,"176":4,"177":3,"178":2,"179":7,"180":7,"181":16,"182":15,"183":6,"184":3,"185":3,"186":3,"187":9,"188":2,"189":1,"190":2,"191":50052,"192":24,"193":50072,"194":50070,"195":50017,"196":0},"fnMap":{"1":{"name":"(anonymous_1)","line":8,"loc":{"start":{"line":8,"column":1},"end":{"line":8,"column":13}}},"2":{"name":"noop","line":11,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":20}}},"3":{"name":"(anonymous_3)","line":30,"loc":{"start":{"line":30,"column":23},"end":{"line":30,"column":35}}},"4":{"name":"only_once","line":35,"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}}},"5":{"name":"(anonymous_5)","line":37,"loc":{"start":{"line":37,"column":15},"end":{"line":37,"column":26}}},"6":{"name":"_once","line":44,"loc":{"start":{"line":44,"column":4},"end":{"line":44,"column":23}}},"7":{"name":"(anonymous_7)","line":46,"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":26}}},"8":{"name":"(anonymous_8)","line":57,"loc":{"start":{"line":57,"column":36},"end":{"line":57,"column":51}}},"9":{"name":"_isArrayLike","line":61,"loc":{"start":{"line":61,"column":4},"end":{"line":61,"column":31}}},"10":{"name":"_each","line":70,"loc":{"start":{"line":70,"column":4},"end":{"line":70,"column":35}}},"11":{"name":"_arrayEach","line":76,"loc":{"start":{"line":76,"column":4},"end":{"line":76,"column":39}}},"12":{"name":"_map","line":85,"loc":{"start":{"line":85,"column":4},"end":{"line":85,"column":33}}},"13":{"name":"_reduce","line":96,"loc":{"start":{"line":96,"column":4},"end":{"line":96,"column":42}}},"14":{"name":"(anonymous_14)","line":97,"loc":{"start":{"line":97,"column":24},"end":{"line":97,"column":43}}},"15":{"name":"_forEachOf","line":103,"loc":{"start":{"line":103,"column":4},"end":{"line":103,"column":42}}},"16":{"name":"(anonymous_16)","line":104,"loc":{"start":{"line":104,"column":34},"end":{"line":104,"column":49}}},"17":{"name":"(anonymous_17)","line":109,"loc":{"start":{"line":109,"column":31},"end":{"line":109,"column":46}}},"18":{"name":"_keyIterator","line":119,"loc":{"start":{"line":119,"column":4},"end":{"line":119,"column":32}}},"19":{"name":"next","line":125,"loc":{"start":{"line":125,"column":19},"end":{"line":125,"column":35}}},"20":{"name":"next","line":132,"loc":{"start":{"line":132,"column":19},"end":{"line":132,"column":35}}},"21":{"name":"_baseSlice","line":139,"loc":{"start":{"line":139,"column":4},"end":{"line":139,"column":36}}},"22":{"name":"_withoutIndex","line":156,"loc":{"start":{"line":156,"column":4},"end":{"line":156,"column":37}}},"23":{"name":"(anonymous_23)","line":157,"loc":{"start":{"line":157,"column":15},"end":{"line":157,"column":49}}},"24":{"name":"(anonymous_24)","line":174,"loc":{"start":{"line":174,"column":29},"end":{"line":174,"column":43}}},"25":{"name":"(anonymous_25)","line":181,"loc":{"start":{"line":181,"column":29},"end":{"line":181,"column":43}}},"26":{"name":"(anonymous_26)","line":190,"loc":{"start":{"line":190,"column":33},"end":{"line":190,"column":47}}},"27":{"name":"(anonymous_27)","line":201,"loc":{"start":{"line":201,"column":17},"end":{"line":201,"column":52}}},"28":{"name":"(anonymous_28)","line":206,"loc":{"start":{"line":206,"column":23},"end":{"line":206,"column":58}}},"29":{"name":"(anonymous_29)","line":212,"loc":{"start":{"line":212,"column":22},"end":{"line":212,"column":64}}},"30":{"name":"(anonymous_30)","line":217,"loc":{"start":{"line":217,"column":19},"end":{"line":217,"column":57}}},"31":{"name":"(anonymous_31)","line":225,"loc":{"start":{"line":225,"column":22},"end":{"line":225,"column":44}}},"32":{"name":"done","line":228,"loc":{"start":{"line":228,"column":8},"end":{"line":228,"column":27}}},"33":{"name":"(anonymous_33)","line":242,"loc":{"start":{"line":242,"column":25},"end":{"line":242,"column":60}}},"34":{"name":"iterate","line":246,"loc":{"start":{"line":246,"column":8},"end":{"line":246,"column":27}}},"35":{"name":"(anonymous_35)","line":252,"loc":{"start":{"line":252,"column":36},"end":{"line":252,"column":51}}},"36":{"name":"(anonymous_36)","line":273,"loc":{"start":{"line":273,"column":24},"end":{"line":273,"column":66}}},"37":{"name":"_eachOfLimit","line":277,"loc":{"start":{"line":277,"column":4},"end":{"line":277,"column":33}}},"38":{"name":"(anonymous_38)","line":279,"loc":{"start":{"line":279,"column":15},"end":{"line":279,"column":50}}},"39":{"name":"replenish","line":290,"loc":{"start":{"line":290,"column":13},"end":{"line":290,"column":35}}},"40":{"name":"(anonymous_40)","line":305,"loc":{"start":{"line":305,"column":44},"end":{"line":305,"column":59}}},"41":{"name":"doParallel","line":321,"loc":{"start":{"line":321,"column":4},"end":{"line":321,"column":28}}},"42":{"name":"(anonymous_42)","line":322,"loc":{"start":{"line":322,"column":15},"end":{"line":322,"column":50}}},"43":{"name":"doParallelLimit","line":326,"loc":{"start":{"line":326,"column":4},"end":{"line":326,"column":40}}},"44":{"name":"(anonymous_44)","line":327,"loc":{"start":{"line":327,"column":15},"end":{"line":327,"column":50}}},"45":{"name":"doSeries","line":331,"loc":{"start":{"line":331,"column":4},"end":{"line":331,"column":26}}},"46":{"name":"(anonymous_46)","line":332,"loc":{"start":{"line":332,"column":15},"end":{"line":332,"column":50}}},"47":{"name":"_asyncMap","line":337,"loc":{"start":{"line":337,"column":4},"end":{"line":337,"column":56}}},"48":{"name":"(anonymous_48)","line":340,"loc":{"start":{"line":340,"column":20},"end":{"line":340,"column":54}}},"49":{"name":"(anonymous_49)","line":341,"loc":{"start":{"line":341,"column":28},"end":{"line":341,"column":46}}},"50":{"name":"(anonymous_50)","line":345,"loc":{"start":{"line":345,"column":11},"end":{"line":345,"column":26}}},"51":{"name":"(anonymous_51)","line":352,"loc":{"start":{"line":352,"column":21},"end":{"line":352,"column":63}}},"52":{"name":"_mapLimit","line":356,"loc":{"start":{"line":356,"column":4},"end":{"line":356,"column":30}}},"53":{"name":"(anonymous_53)","line":364,"loc":{"start":{"line":364,"column":19},"end":{"line":364,"column":60}}},"54":{"name":"(anonymous_54)","line":365,"loc":{"start":{"line":365,"column":32},"end":{"line":365,"column":58}}},"55":{"name":"(anonymous_55)","line":366,"loc":{"start":{"line":366,"column":30},"end":{"line":366,"column":48}}},"56":{"name":"(anonymous_56)","line":370,"loc":{"start":{"line":370,"column":11},"end":{"line":370,"column":26}}},"57":{"name":"(anonymous_57)","line":376,"loc":{"start":{"line":376,"column":24},"end":{"line":376,"column":65}}},"58":{"name":"(anonymous_58)","line":377,"loc":{"start":{"line":377,"column":33},"end":{"line":377,"column":46}}},"59":{"name":"_filter","line":383,"loc":{"start":{"line":383,"column":4},"end":{"line":383,"column":54}}},"60":{"name":"(anonymous_60)","line":385,"loc":{"start":{"line":385,"column":24},"end":{"line":385,"column":40}}},"61":{"name":"(anonymous_61)","line":388,"loc":{"start":{"line":388,"column":20},"end":{"line":388,"column":50}}},"62":{"name":"(anonymous_62)","line":389,"loc":{"start":{"line":389,"column":30},"end":{"line":389,"column":43}}},"63":{"name":"(anonymous_63)","line":395,"loc":{"start":{"line":395,"column":11},"end":{"line":395,"column":23}}},"64":{"name":"(anonymous_64)","line":396,"loc":{"start":{"line":396,"column":39},"end":{"line":396,"column":55}}},"65":{"name":"(anonymous_65)","line":398,"loc":{"start":{"line":398,"column":16},"end":{"line":398,"column":29}}},"66":{"name":"_reject","line":410,"loc":{"start":{"line":410,"column":4},"end":{"line":410,"column":54}}},"67":{"name":"(anonymous_67)","line":412,"loc":{"start":{"line":412,"column":24},"end":{"line":412,"column":40}}},"68":{"name":"(anonymous_68)","line":415,"loc":{"start":{"line":415,"column":20},"end":{"line":415,"column":50}}},"69":{"name":"(anonymous_69)","line":416,"loc":{"start":{"line":416,"column":30},"end":{"line":416,"column":43}}},"70":{"name":"(anonymous_70)","line":422,"loc":{"start":{"line":422,"column":11},"end":{"line":422,"column":23}}},"71":{"name":"(anonymous_71)","line":423,"loc":{"start":{"line":423,"column":39},"end":{"line":423,"column":55}}},"72":{"name":"(anonymous_72)","line":425,"loc":{"start":{"line":425,"column":16},"end":{"line":425,"column":29}}},"73":{"name":"_detect","line":433,"loc":{"start":{"line":433,"column":4},"end":{"line":433,"column":59}}},"74":{"name":"(anonymous_74)","line":434,"loc":{"start":{"line":434,"column":20},"end":{"line":434,"column":50}}},"75":{"name":"(anonymous_75)","line":435,"loc":{"start":{"line":435,"column":24},"end":{"line":435,"column":42}}},"76":{"name":"(anonymous_76)","line":444,"loc":{"start":{"line":444,"column":11},"end":{"line":444,"column":23}}},"77":{"name":"(anonymous_77)","line":452,"loc":{"start":{"line":452,"column":17},"end":{"line":452,"column":57}}},"78":{"name":"(anonymous_78)","line":453,"loc":{"start":{"line":453,"column":26},"end":{"line":453,"column":52}}},"79":{"name":"(anonymous_79)","line":454,"loc":{"start":{"line":454,"column":24},"end":{"line":454,"column":37}}},"80":{"name":"(anonymous_80)","line":461,"loc":{"start":{"line":461,"column":11},"end":{"line":461,"column":23}}},"81":{"name":"(anonymous_81)","line":467,"loc":{"start":{"line":467,"column":18},"end":{"line":467,"column":58}}},"82":{"name":"(anonymous_82)","line":468,"loc":{"start":{"line":468,"column":26},"end":{"line":468,"column":52}}},"83":{"name":"(anonymous_83)","line":469,"loc":{"start":{"line":469,"column":24},"end":{"line":469,"column":37}}},"84":{"name":"(anonymous_84)","line":476,"loc":{"start":{"line":476,"column":11},"end":{"line":476,"column":23}}},"85":{"name":"(anonymous_85)","line":481,"loc":{"start":{"line":481,"column":19},"end":{"line":481,"column":54}}},"86":{"name":"(anonymous_86)","line":482,"loc":{"start":{"line":482,"column":23},"end":{"line":482,"column":46}}},"87":{"name":"(anonymous_87)","line":483,"loc":{"start":{"line":483,"column":24},"end":{"line":483,"column":49}}},"88":{"name":"(anonymous_88)","line":491,"loc":{"start":{"line":491,"column":11},"end":{"line":491,"column":35}}},"89":{"name":"(anonymous_89)","line":496,"loc":{"start":{"line":496,"column":62},"end":{"line":496,"column":75}}},"90":{"name":"comparator","line":503,"loc":{"start":{"line":503,"column":8},"end":{"line":503,"column":41}}},"91":{"name":"(anonymous_91)","line":509,"loc":{"start":{"line":509,"column":17},"end":{"line":509,"column":44}}},"92":{"name":"addListener","line":520,"loc":{"start":{"line":520,"column":8},"end":{"line":520,"column":33}}},"93":{"name":"removeListener","line":523,"loc":{"start":{"line":523,"column":8},"end":{"line":523,"column":36}}},"94":{"name":"taskComplete","line":531,"loc":{"start":{"line":531,"column":8},"end":{"line":531,"column":32}}},"95":{"name":"(anonymous_95)","line":533,"loc":{"start":{"line":533,"column":43},"end":{"line":533,"column":57}}},"96":{"name":"(anonymous_96)","line":538,"loc":{"start":{"line":538,"column":20},"end":{"line":538,"column":32}}},"97":{"name":"(anonymous_97)","line":544,"loc":{"start":{"line":544,"column":25},"end":{"line":544,"column":38}}},"98":{"name":"taskCallback","line":546,"loc":{"start":{"line":546,"column":12},"end":{"line":546,"column":39}}},"99":{"name":"(anonymous_99)","line":553,"loc":{"start":{"line":553,"column":47},"end":{"line":553,"column":62}}},"100":{"name":"ready","line":576,"loc":{"start":{"line":576,"column":12},"end":{"line":576,"column":29}}},"101":{"name":"(anonymous_101)","line":577,"loc":{"start":{"line":577,"column":41},"end":{"line":577,"column":57}}},"102":{"name":"listener","line":587,"loc":{"start":{"line":587,"column":12},"end":{"line":587,"column":32}}},"103":{"name":"(anonymous_103)","line":596,"loc":{"start":{"line":596,"column":18},"end":{"line":596,"column":50}}},"104":{"name":"wrappedTask","line":608,"loc":{"start":{"line":608,"column":8},"end":{"line":608,"column":62}}},"105":{"name":"retryAttempt","line":609,"loc":{"start":{"line":609,"column":12},"end":{"line":609,"column":54}}},"106":{"name":"(anonymous_106)","line":610,"loc":{"start":{"line":610,"column":23},"end":{"line":610,"column":48}}},"107":{"name":"(anonymous_107)","line":611,"loc":{"start":{"line":611,"column":25},"end":{"line":611,"column":46}}},"108":{"name":"(anonymous_108)","line":620,"loc":{"start":{"line":620,"column":35},"end":{"line":620,"column":55}}},"109":{"name":"(anonymous_109)","line":630,"loc":{"start":{"line":630,"column":22},"end":{"line":630,"column":49}}},"110":{"name":"wrapIterator","line":639,"loc":{"start":{"line":639,"column":8},"end":{"line":639,"column":40}}},"111":{"name":"(anonymous_111)","line":640,"loc":{"start":{"line":640,"column":19},"end":{"line":640,"column":34}}},"112":{"name":"_parallel","line":660,"loc":{"start":{"line":660,"column":4},"end":{"line":660,"column":48}}},"113":{"name":"(anonymous_113)","line":664,"loc":{"start":{"line":664,"column":22},"end":{"line":664,"column":53}}},"114":{"name":"(anonymous_114)","line":665,"loc":{"start":{"line":665,"column":17},"end":{"line":665,"column":32}}},"115":{"name":"(anonymous_115)","line":673,"loc":{"start":{"line":673,"column":11},"end":{"line":673,"column":26}}},"116":{"name":"(anonymous_116)","line":678,"loc":{"start":{"line":678,"column":21},"end":{"line":678,"column":48}}},"117":{"name":"(anonymous_117)","line":682,"loc":{"start":{"line":682,"column":26},"end":{"line":682,"column":59}}},"118":{"name":"(anonymous_118)","line":686,"loc":{"start":{"line":686,"column":19},"end":{"line":686,"column":46}}},"119":{"name":"(anonymous_119)","line":690,"loc":{"start":{"line":690,"column":34},"end":{"line":690,"column":65}}},"120":{"name":"(anonymous_120)","line":691,"loc":{"start":{"line":691,"column":17},"end":{"line":691,"column":32}}},"121":{"name":"(anonymous_121)","line":699,"loc":{"start":{"line":699,"column":11},"end":{"line":699,"column":26}}},"122":{"name":"(anonymous_122)","line":704,"loc":{"start":{"line":704,"column":21},"end":{"line":704,"column":38}}},"123":{"name":"makeCallback","line":705,"loc":{"start":{"line":705,"column":8},"end":{"line":705,"column":37}}},"124":{"name":"fn","line":706,"loc":{"start":{"line":706,"column":12},"end":{"line":706,"column":26}}},"125":{"name":"(anonymous_125)","line":712,"loc":{"start":{"line":712,"column":22},"end":{"line":712,"column":34}}},"126":{"name":"(anonymous_126)","line":720,"loc":{"start":{"line":720,"column":18},"end":{"line":720,"column":32}}},"127":{"name":"(anonymous_127)","line":722,"loc":{"start":{"line":722,"column":15},"end":{"line":722,"column":27}}},"128":{"name":"_concat","line":729,"loc":{"start":{"line":729,"column":4},"end":{"line":729,"column":48}}},"129":{"name":"(anonymous_129)","line":731,"loc":{"start":{"line":731,"column":20},"end":{"line":731,"column":44}}},"130":{"name":"(anonymous_130)","line":732,"loc":{"start":{"line":732,"column":18},"end":{"line":732,"column":36}}},"131":{"name":"(anonymous_131)","line":736,"loc":{"start":{"line":736,"column":11},"end":{"line":736,"column":26}}},"132":{"name":"(anonymous_132)","line":743,"loc":{"start":{"line":743,"column":19},"end":{"line":743,"column":55}}},"133":{"name":"(anonymous_133)","line":745,"loc":{"start":{"line":745,"column":21},"end":{"line":745,"column":36}}},"134":{"name":"(anonymous_134)","line":757,"loc":{"start":{"line":757,"column":21},"end":{"line":757,"column":57}}},"135":{"name":"(anonymous_135)","line":758,"loc":{"start":{"line":758,"column":17},"end":{"line":758,"column":32}}},"136":{"name":"(anonymous_136)","line":772,"loc":{"start":{"line":772,"column":18},"end":{"line":772,"column":54}}},"137":{"name":"(anonymous_137)","line":774,"loc":{"start":{"line":774,"column":21},"end":{"line":774,"column":36}}},"138":{"name":"(anonymous_138)","line":786,"loc":{"start":{"line":786,"column":20},"end":{"line":786,"column":56}}},"139":{"name":"(anonymous_139)","line":787,"loc":{"start":{"line":787,"column":17},"end":{"line":787,"column":32}}},"140":{"name":"_queue","line":801,"loc":{"start":{"line":801,"column":4},"end":{"line":801,"column":50}}},"141":{"name":"_insert","line":808,"loc":{"start":{"line":808,"column":8},"end":{"line":808,"column":49}}},"142":{"name":"(anonymous_142)","line":818,"loc":{"start":{"line":818,"column":42},"end":{"line":818,"column":53}}},"143":{"name":"(anonymous_143)","line":822,"loc":{"start":{"line":822,"column":29},"end":{"line":822,"column":44}}},"144":{"name":"(anonymous_144)","line":850,"loc":{"start":{"line":850,"column":18},"end":{"line":850,"column":44}}},"145":{"name":"(anonymous_145)","line":853,"loc":{"start":{"line":853,"column":18},"end":{"line":853,"column":30}}},"146":{"name":"(anonymous_146)","line":857,"loc":{"start":{"line":857,"column":21},"end":{"line":857,"column":47}}},"147":{"name":"(anonymous_147)","line":860,"loc":{"start":{"line":860,"column":21},"end":{"line":860,"column":33}}},"148":{"name":"(anonymous_148)","line":866,"loc":{"start":{"line":866,"column":43},"end":{"line":866,"column":59}}},"149":{"name":"next","line":878,"loc":{"start":{"line":878,"column":16},"end":{"line":878,"column":32}}},"150":{"name":"(anonymous_150)","line":881,"loc":{"start":{"line":881,"column":38},"end":{"line":881,"column":54}}},"151":{"name":"(anonymous_151)","line":890,"loc":{"start":{"line":890,"column":20},"end":{"line":890,"column":32}}},"152":{"name":"(anonymous_152)","line":893,"loc":{"start":{"line":893,"column":21},"end":{"line":893,"column":33}}},"153":{"name":"(anonymous_153)","line":896,"loc":{"start":{"line":896,"column":18},"end":{"line":896,"column":29}}},"154":{"name":"(anonymous_154)","line":899,"loc":{"start":{"line":899,"column":19},"end":{"line":899,"column":31}}},"155":{"name":"(anonymous_155)","line":902,"loc":{"start":{"line":902,"column":20},"end":{"line":902,"column":32}}},"156":{"name":"(anonymous_156)","line":916,"loc":{"start":{"line":916,"column":18},"end":{"line":916,"column":49}}},"157":{"name":"(anonymous_157)","line":917,"loc":{"start":{"line":917,"column":23},"end":{"line":917,"column":44}}},"158":{"name":"(anonymous_158)","line":924,"loc":{"start":{"line":924,"column":26},"end":{"line":924,"column":57}}},"159":{"name":"_compareTasks","line":926,"loc":{"start":{"line":926,"column":8},"end":{"line":926,"column":36}}},"160":{"name":"_binarySearch","line":930,"loc":{"start":{"line":930,"column":8},"end":{"line":930,"column":56}}},"161":{"name":"_insert","line":944,"loc":{"start":{"line":944,"column":8},"end":{"line":944,"column":54}}},"162":{"name":"(anonymous_162)","line":954,"loc":{"start":{"line":954,"column":42},"end":{"line":954,"column":53}}},"163":{"name":"(anonymous_163)","line":958,"loc":{"start":{"line":958,"column":29},"end":{"line":958,"column":44}}},"164":{"name":"(anonymous_164)","line":978,"loc":{"start":{"line":978,"column":17},"end":{"line":978,"column":53}}},"165":{"name":"(anonymous_165)","line":988,"loc":{"start":{"line":988,"column":18},"end":{"line":988,"column":45}}},"166":{"name":"_console_fn","line":992,"loc":{"start":{"line":992,"column":4},"end":{"line":992,"column":31}}},"167":{"name":"(anonymous_167)","line":993,"loc":{"start":{"line":993,"column":15},"end":{"line":993,"column":29}}},"168":{"name":"(anonymous_168)","line":995,"loc":{"start":{"line":995,"column":40},"end":{"line":995,"column":55}}},"169":{"name":"(anonymous_169)","line":1004,"loc":{"start":{"line":1004,"column":41},"end":{"line":1004,"column":54}}},"170":{"name":"(anonymous_170)","line":1018,"loc":{"start":{"line":1018,"column":20},"end":{"line":1018,"column":42}}},"171":{"name":"(anonymous_171)","line":1021,"loc":{"start":{"line":1021,"column":27},"end":{"line":1021,"column":40}}},"172":{"name":"memoized","line":1024,"loc":{"start":{"line":1024,"column":8},"end":{"line":1024,"column":28}}},"173":{"name":"(anonymous_173)","line":1029,"loc":{"start":{"line":1029,"column":31},"end":{"line":1029,"column":43}}},"174":{"name":"(anonymous_174)","line":1038,"loc":{"start":{"line":1038,"column":44},"end":{"line":1038,"column":56}}},"175":{"name":"(anonymous_175)","line":1053,"loc":{"start":{"line":1053,"column":22},"end":{"line":1053,"column":36}}},"176":{"name":"(anonymous_176)","line":1054,"loc":{"start":{"line":1054,"column":13},"end":{"line":1054,"column":25}}},"177":{"name":"(anonymous_177)","line":1059,"loc":{"start":{"line":1059,"column":18},"end":{"line":1059,"column":55}}},"178":{"name":"(anonymous_178)","line":1067,"loc":{"start":{"line":1067,"column":24},"end":{"line":1067,"column":61}}},"179":{"name":"(anonymous_179)","line":1075,"loc":{"start":{"line":1075,"column":16},"end":{"line":1075,"column":46}}},"180":{"name":"(anonymous_180)","line":1077,"loc":{"start":{"line":1077,"column":15},"end":{"line":1077,"column":27}}},"181":{"name":"(anonymous_181)","line":1088,"loc":{"start":{"line":1088,"column":36},"end":{"line":1088,"column":63}}},"182":{"name":"(anonymous_182)","line":1089,"loc":{"start":{"line":1089,"column":47},"end":{"line":1089,"column":59}}},"183":{"name":"(anonymous_183)","line":1095,"loc":{"start":{"line":1095,"column":12},"end":{"line":1095,"column":36}}},"184":{"name":"(anonymous_184)","line":1101,"loc":{"start":{"line":1101,"column":20},"end":{"line":1101,"column":50}}},"185":{"name":"_applyEach","line":1106,"loc":{"start":{"line":1106,"column":4},"end":{"line":1106,"column":49}}},"186":{"name":"go","line":1107,"loc":{"start":{"line":1107,"column":8},"end":{"line":1107,"column":22}}},"187":{"name":"(anonymous_187)","line":1111,"loc":{"start":{"line":1111,"column":31},"end":{"line":1111,"column":52}}},"188":{"name":"(anonymous_188)","line":1125,"loc":{"start":{"line":1125,"column":22},"end":{"line":1125,"column":50}}},"189":{"name":"(anonymous_189)","line":1129,"loc":{"start":{"line":1129,"column":28},"end":{"line":1129,"column":56}}},"190":{"name":"(anonymous_190)","line":1135,"loc":{"start":{"line":1135,"column":20},"end":{"line":1135,"column":44}}},"191":{"name":"next","line":1138,"loc":{"start":{"line":1138,"column":8},"end":{"line":1138,"column":27}}},"192":{"name":"ensureAsync","line":1147,"loc":{"start":{"line":1147,"column":4},"end":{"line":1147,"column":29}}},"193":{"name":"(anonymous_193)","line":1148,"loc":{"start":{"line":1148,"column":15},"end":{"line":1148,"column":48}}},"194":{"name":"(anonymous_194)","line":1151,"loc":{"start":{"line":1151,"column":22},"end":{"line":1151,"column":34}}},"195":{"name":"(anonymous_195)","line":1154,"loc":{"start":{"line":1154,"column":39},"end":{"line":1154,"column":51}}},"196":{"name":"(anonymous_196)","line":1175,"loc":{"start":{"line":1175,"column":19},"end":{"line":1175,"column":31}}}},"statementMap":{"1":{"start":{"line":8,"column":0},"end":{"line":1184,"column":5}},"2":{"start":{"line":10,"column":4},"end":{"line":10,"column":19}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":22}},"4":{"start":{"line":14,"column":4},"end":{"line":14,"column":29}},"5":{"start":{"line":16,"column":4},"end":{"line":24,"column":5}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":22}},"7":{"start":{"line":19,"column":9},"end":{"line":24,"column":5}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":22}},"9":{"start":{"line":23,"column":8},"end":{"line":23,"column":20}},"10":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"11":{"start":{"line":27,"column":6},"end":{"line":27,"column":34}},"12":{"start":{"line":30,"column":4},"end":{"line":33,"column":6}},"13":{"start":{"line":31,"column":8},"end":{"line":31,"column":36}},"14":{"start":{"line":32,"column":8},"end":{"line":32,"column":21}},"15":{"start":{"line":35,"column":4},"end":{"line":42,"column":5}},"16":{"start":{"line":36,"column":8},"end":{"line":36,"column":27}},"17":{"start":{"line":37,"column":8},"end":{"line":41,"column":10}},"18":{"start":{"line":38,"column":12},"end":{"line":38,"column":72}},"19":{"start":{"line":38,"column":24},"end":{"line":38,"column":72}},"20":{"start":{"line":39,"column":12},"end":{"line":39,"column":26}},"21":{"start":{"line":40,"column":12},"end":{"line":40,"column":38}},"22":{"start":{"line":44,"column":4},"end":{"line":51,"column":5}},"23":{"start":{"line":45,"column":8},"end":{"line":45,"column":27}},"24":{"start":{"line":46,"column":8},"end":{"line":50,"column":10}},"25":{"start":{"line":47,"column":12},"end":{"line":47,"column":31}},"26":{"start":{"line":47,"column":24},"end":{"line":47,"column":31}},"27":{"start":{"line":48,"column":12},"end":{"line":48,"column":26}},"28":{"start":{"line":49,"column":12},"end":{"line":49,"column":38}},"29":{"start":{"line":55,"column":4},"end":{"line":55,"column":46}},"30":{"start":{"line":57,"column":4},"end":{"line":59,"column":6}},"31":{"start":{"line":58,"column":8},"end":{"line":58,"column":56}},"32":{"start":{"line":61,"column":4},"end":{"line":68,"column":5}},"33":{"start":{"line":62,"column":8},"end":{"line":67,"column":10}},"34":{"start":{"line":70,"column":4},"end":{"line":74,"column":5}},"35":{"start":{"line":71,"column":8},"end":{"line":73,"column":39}},"36":{"start":{"line":76,"column":4},"end":{"line":83,"column":5}},"37":{"start":{"line":77,"column":6},"end":{"line":78,"column":30}},"38":{"start":{"line":80,"column":6},"end":{"line":82,"column":7}},"39":{"start":{"line":81,"column":8},"end":{"line":81,"column":41}},"40":{"start":{"line":85,"column":4},"end":{"line":94,"column":5}},"41":{"start":{"line":86,"column":6},"end":{"line":88,"column":33}},"42":{"start":{"line":90,"column":6},"end":{"line":92,"column":7}},"43":{"start":{"line":91,"column":8},"end":{"line":91,"column":57}},"44":{"start":{"line":93,"column":6},"end":{"line":93,"column":20}},"45":{"start":{"line":96,"column":4},"end":{"line":101,"column":5}},"46":{"start":{"line":97,"column":8},"end":{"line":99,"column":11}},"47":{"start":{"line":98,"column":12},"end":{"line":98,"column":43}},"48":{"start":{"line":100,"column":8},"end":{"line":100,"column":20}},"49":{"start":{"line":103,"column":4},"end":{"line":107,"column":5}},"50":{"start":{"line":104,"column":8},"end":{"line":106,"column":11}},"51":{"start":{"line":105,"column":12},"end":{"line":105,"column":39}},"52":{"start":{"line":109,"column":4},"end":{"line":117,"column":6}},"53":{"start":{"line":110,"column":8},"end":{"line":110,"column":22}},"54":{"start":{"line":111,"column":8},"end":{"line":115,"column":9}},"55":{"start":{"line":112,"column":12},"end":{"line":114,"column":13}},"56":{"start":{"line":113,"column":16},"end":{"line":113,"column":29}},"57":{"start":{"line":116,"column":8},"end":{"line":116,"column":20}},"58":{"start":{"line":119,"column":4},"end":{"line":137,"column":5}},"59":{"start":{"line":120,"column":8},"end":{"line":120,"column":19}},"60":{"start":{"line":121,"column":8},"end":{"line":121,"column":16}},"61":{"start":{"line":122,"column":8},"end":{"line":122,"column":17}},"62":{"start":{"line":123,"column":8},"end":{"line":136,"column":9}},"63":{"start":{"line":124,"column":12},"end":{"line":124,"column":30}},"64":{"start":{"line":125,"column":12},"end":{"line":128,"column":14}},"65":{"start":{"line":126,"column":16},"end":{"line":126,"column":20}},"66":{"start":{"line":127,"column":16},"end":{"line":127,"column":42}},"67":{"start":{"line":130,"column":12},"end":{"line":130,"column":31}},"68":{"start":{"line":131,"column":12},"end":{"line":131,"column":30}},"69":{"start":{"line":132,"column":12},"end":{"line":135,"column":14}},"70":{"start":{"line":133,"column":16},"end":{"line":133,"column":20}},"71":{"start":{"line":134,"column":16},"end":{"line":134,"column":48}},"72":{"start":{"line":139,"column":4},"end":{"line":154,"column":5}},"73":{"start":{"line":140,"column":8},"end":{"line":140,"column":27}},"74":{"start":{"line":141,"column":8},"end":{"line":141,"column":23}},"75":{"start":{"line":142,"column":8},"end":{"line":142,"column":32}},"76":{"start":{"line":144,"column":8},"end":{"line":147,"column":9}},"77":{"start":{"line":145,"column":10},"end":{"line":145,"column":26}},"78":{"start":{"line":146,"column":10},"end":{"line":146,"column":43}},"79":{"start":{"line":148,"column":8},"end":{"line":148,"column":35}},"80":{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},"81":{"start":{"line":151,"column":10},"end":{"line":151,"column":45}},"82":{"start":{"line":153,"column":8},"end":{"line":153,"column":22}},"83":{"start":{"line":156,"column":4},"end":{"line":160,"column":5}},"84":{"start":{"line":157,"column":8},"end":{"line":159,"column":10}},"85":{"start":{"line":158,"column":12},"end":{"line":158,"column":45}},"86":{"start":{"line":167,"column":4},"end":{"line":167,"column":22}},"87":{"start":{"line":168,"column":4},"end":{"line":170,"column":5}},"88":{"start":{"line":169,"column":8},"end":{"line":169,"column":37}},"89":{"start":{"line":172,"column":4},"end":{"line":198,"column":5}},"90":{"start":{"line":173,"column":8},"end":{"line":185,"column":9}},"91":{"start":{"line":174,"column":12},"end":{"line":177,"column":14}},"92":{"start":{"line":176,"column":16},"end":{"line":176,"column":34}},"93":{"start":{"line":178,"column":12},"end":{"line":178,"column":48}},"94":{"start":{"line":181,"column":12},"end":{"line":183,"column":14}},"95":{"start":{"line":182,"column":16},"end":{"line":182,"column":34}},"96":{"start":{"line":184,"column":12},"end":{"line":184,"column":48}},"97":{"start":{"line":188,"column":8},"end":{"line":188,"column":42}},"98":{"start":{"line":189,"column":8},"end":{"line":197,"column":9}},"99":{"start":{"line":190,"column":12},"end":{"line":193,"column":14}},"100":{"start":{"line":192,"column":14},"end":{"line":192,"column":32}},"101":{"start":{"line":196,"column":12},"end":{"line":196,"column":48}},"102":{"start":{"line":200,"column":4},"end":{"line":203,"column":6}},"103":{"start":{"line":202,"column":8},"end":{"line":202,"column":68}},"104":{"start":{"line":205,"column":4},"end":{"line":208,"column":6}},"105":{"start":{"line":207,"column":8},"end":{"line":207,"column":74}},"106":{"start":{"line":211,"column":4},"end":{"line":214,"column":6}},"107":{"start":{"line":213,"column":8},"end":{"line":213,"column":75}},"108":{"start":{"line":216,"column":4},"end":{"line":239,"column":6}},"109":{"start":{"line":218,"column":8},"end":{"line":218,"column":43}},"110":{"start":{"line":219,"column":8},"end":{"line":219,"column":30}},"111":{"start":{"line":220,"column":8},"end":{"line":220,"column":57}},"112":{"start":{"line":221,"column":8},"end":{"line":221,"column":26}},"113":{"start":{"line":222,"column":8},"end":{"line":224,"column":9}},"114":{"start":{"line":223,"column":12},"end":{"line":223,"column":34}},"115":{"start":{"line":225,"column":8},"end":{"line":227,"column":11}},"116":{"start":{"line":226,"column":12},"end":{"line":226,"column":56}},"117":{"start":{"line":228,"column":8},"end":{"line":238,"column":9}},"118":{"start":{"line":229,"column":10},"end":{"line":237,"column":11}},"119":{"start":{"line":230,"column":14},"end":{"line":230,"column":28}},"120":{"start":{"line":233,"column":14},"end":{"line":233,"column":29}},"121":{"start":{"line":234,"column":14},"end":{"line":236,"column":15}},"122":{"start":{"line":235,"column":18},"end":{"line":235,"column":33}},"123":{"start":{"line":241,"column":4},"end":{"line":268,"column":6}},"124":{"start":{"line":243,"column":8},"end":{"line":243,"column":43}},"125":{"start":{"line":244,"column":8},"end":{"line":244,"column":24}},"126":{"start":{"line":245,"column":8},"end":{"line":245,"column":40}},"127":{"start":{"line":246,"column":8},"end":{"line":266,"column":9}},"128":{"start":{"line":247,"column":12},"end":{"line":247,"column":28}},"129":{"start":{"line":248,"column":12},"end":{"line":248,"column":32}},"130":{"start":{"line":249,"column":12},"end":{"line":251,"column":13}},"131":{"start":{"line":250,"column":16},"end":{"line":250,"column":38}},"132":{"start":{"line":252,"column":12},"end":{"line":264,"column":15}},"133":{"start":{"line":253,"column":16},"end":{"line":263,"column":17}},"134":{"start":{"line":254,"column":20},"end":{"line":254,"column":34}},"135":{"start":{"line":257,"column":20},"end":{"line":262,"column":21}},"136":{"start":{"line":258,"column":24},"end":{"line":258,"column":48}},"137":{"start":{"line":261,"column":24},"end":{"line":261,"column":34}},"138":{"start":{"line":265,"column":12},"end":{"line":265,"column":25}},"139":{"start":{"line":267,"column":8},"end":{"line":267,"column":18}},"140":{"start":{"line":272,"column":4},"end":{"line":275,"column":6}},"141":{"start":{"line":274,"column":8},"end":{"line":274,"column":53}},"142":{"start":{"line":277,"column":4},"end":{"line":318,"column":5}},"143":{"start":{"line":279,"column":8},"end":{"line":317,"column":10}},"144":{"start":{"line":280,"column":12},"end":{"line":280,"column":47}},"145":{"start":{"line":281,"column":12},"end":{"line":281,"column":28}},"146":{"start":{"line":282,"column":12},"end":{"line":282,"column":44}},"147":{"start":{"line":283,"column":12},"end":{"line":285,"column":13}},"148":{"start":{"line":284,"column":16},"end":{"line":284,"column":38}},"149":{"start":{"line":286,"column":12},"end":{"line":286,"column":29}},"150":{"start":{"line":287,"column":12},"end":{"line":287,"column":28}},"151":{"start":{"line":288,"column":12},"end":{"line":288,"column":32}},"152":{"start":{"line":290,"column":12},"end":{"line":316,"column":17}},"153":{"start":{"line":291,"column":16},"end":{"line":293,"column":17}},"154":{"start":{"line":292,"column":20},"end":{"line":292,"column":42}},"155":{"start":{"line":295,"column":16},"end":{"line":315,"column":17}},"156":{"start":{"line":296,"column":20},"end":{"line":296,"column":40}},"157":{"start":{"line":297,"column":20},"end":{"line":303,"column":21}},"158":{"start":{"line":298,"column":24},"end":{"line":298,"column":36}},"159":{"start":{"line":299,"column":24},"end":{"line":301,"column":25}},"160":{"start":{"line":300,"column":28},"end":{"line":300,"column":43}},"161":{"start":{"line":302,"column":24},"end":{"line":302,"column":31}},"162":{"start":{"line":304,"column":20},"end":{"line":304,"column":33}},"163":{"start":{"line":305,"column":20},"end":{"line":314,"column":23}},"164":{"start":{"line":306,"column":24},"end":{"line":306,"column":37}},"165":{"start":{"line":307,"column":24},"end":{"line":313,"column":25}},"166":{"start":{"line":308,"column":28},"end":{"line":308,"column":42}},"167":{"start":{"line":309,"column":28},"end":{"line":309,"column":43}},"168":{"start":{"line":312,"column":28},"end":{"line":312,"column":40}},"169":{"start":{"line":321,"column":4},"end":{"line":325,"column":5}},"170":{"start":{"line":322,"column":8},"end":{"line":324,"column":10}},"171":{"start":{"line":323,"column":12},"end":{"line":323,"column":61}},"172":{"start":{"line":326,"column":4},"end":{"line":330,"column":5}},"173":{"start":{"line":327,"column":8},"end":{"line":329,"column":10}},"174":{"start":{"line":328,"column":12},"end":{"line":328,"column":68}},"175":{"start":{"line":331,"column":4},"end":{"line":335,"column":5}},"176":{"start":{"line":332,"column":8},"end":{"line":334,"column":10}},"177":{"start":{"line":333,"column":12},"end":{"line":333,"column":67}},"178":{"start":{"line":337,"column":4},"end":{"line":348,"column":5}},"179":{"start":{"line":338,"column":8},"end":{"line":338,"column":43}},"180":{"start":{"line":339,"column":8},"end":{"line":339,"column":25}},"181":{"start":{"line":340,"column":8},"end":{"line":347,"column":11}},"182":{"start":{"line":341,"column":12},"end":{"line":344,"column":15}},"183":{"start":{"line":342,"column":16},"end":{"line":342,"column":35}},"184":{"start":{"line":343,"column":16},"end":{"line":343,"column":30}},"185":{"start":{"line":346,"column":12},"end":{"line":346,"column":35}},"186":{"start":{"line":350,"column":4},"end":{"line":350,"column":38}},"187":{"start":{"line":351,"column":4},"end":{"line":351,"column":42}},"188":{"start":{"line":352,"column":4},"end":{"line":354,"column":6}},"189":{"start":{"line":353,"column":8},"end":{"line":353,"column":57}},"190":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"191":{"start":{"line":357,"column":8},"end":{"line":357,"column":49}},"192":{"start":{"line":362,"column":4},"end":{"line":373,"column":6}},"193":{"start":{"line":365,"column":8},"end":{"line":372,"column":11}},"194":{"start":{"line":366,"column":12},"end":{"line":369,"column":15}},"195":{"start":{"line":367,"column":16},"end":{"line":367,"column":25}},"196":{"start":{"line":368,"column":16},"end":{"line":368,"column":30}},"197":{"start":{"line":371,"column":12},"end":{"line":371,"column":40}},"198":{"start":{"line":375,"column":4},"end":{"line":381,"column":6}},"199":{"start":{"line":377,"column":8},"end":{"line":379,"column":21}},"200":{"start":{"line":378,"column":12},"end":{"line":378,"column":21}},"201":{"start":{"line":380,"column":8},"end":{"line":380,"column":57}},"202":{"start":{"line":383,"column":4},"end":{"line":402,"column":5}},"203":{"start":{"line":384,"column":8},"end":{"line":384,"column":25}},"204":{"start":{"line":385,"column":8},"end":{"line":387,"column":11}},"205":{"start":{"line":386,"column":12},"end":{"line":386,"column":40}},"206":{"start":{"line":388,"column":8},"end":{"line":401,"column":11}},"207":{"start":{"line":389,"column":12},"end":{"line":394,"column":15}},"208":{"start":{"line":390,"column":16},"end":{"line":392,"column":17}},"209":{"start":{"line":391,"column":20},"end":{"line":391,"column":36}},"210":{"start":{"line":393,"column":16},"end":{"line":393,"column":27}},"211":{"start":{"line":396,"column":12},"end":{"line":400,"column":16}},"212":{"start":{"line":397,"column":16},"end":{"line":397,"column":41}},"213":{"start":{"line":399,"column":16},"end":{"line":399,"column":31}},"214":{"start":{"line":404,"column":4},"end":{"line":405,"column":39}},"215":{"start":{"line":407,"column":4},"end":{"line":408,"column":43}},"216":{"start":{"line":410,"column":4},"end":{"line":429,"column":5}},"217":{"start":{"line":411,"column":8},"end":{"line":411,"column":25}},"218":{"start":{"line":412,"column":8},"end":{"line":414,"column":11}},"219":{"start":{"line":413,"column":12},"end":{"line":413,"column":40}},"220":{"start":{"line":415,"column":8},"end":{"line":428,"column":11}},"221":{"start":{"line":416,"column":12},"end":{"line":421,"column":15}},"222":{"start":{"line":417,"column":16},"end":{"line":419,"column":17}},"223":{"start":{"line":418,"column":20},"end":{"line":418,"column":36}},"224":{"start":{"line":420,"column":16},"end":{"line":420,"column":27}},"225":{"start":{"line":423,"column":12},"end":{"line":427,"column":16}},"226":{"start":{"line":424,"column":16},"end":{"line":424,"column":41}},"227":{"start":{"line":426,"column":16},"end":{"line":426,"column":31}},"228":{"start":{"line":430,"column":4},"end":{"line":430,"column":39}},"229":{"start":{"line":431,"column":4},"end":{"line":431,"column":43}},"230":{"start":{"line":433,"column":4},"end":{"line":447,"column":5}},"231":{"start":{"line":434,"column":8},"end":{"line":446,"column":11}},"232":{"start":{"line":435,"column":12},"end":{"line":443,"column":15}},"233":{"start":{"line":436,"column":16},"end":{"line":442,"column":17}},"234":{"start":{"line":437,"column":20},"end":{"line":437,"column":37}},"235":{"start":{"line":438,"column":20},"end":{"line":438,"column":41}},"236":{"start":{"line":441,"column":20},"end":{"line":441,"column":31}},"237":{"start":{"line":445,"column":12},"end":{"line":445,"column":28}},"238":{"start":{"line":448,"column":4},"end":{"line":448,"column":39}},"239":{"start":{"line":449,"column":4},"end":{"line":449,"column":43}},"240":{"start":{"line":451,"column":4},"end":{"line":464,"column":6}},"241":{"start":{"line":453,"column":8},"end":{"line":463,"column":11}},"242":{"start":{"line":454,"column":12},"end":{"line":460,"column":15}},"243":{"start":{"line":455,"column":16},"end":{"line":458,"column":17}},"244":{"start":{"line":456,"column":20},"end":{"line":456,"column":40}},"245":{"start":{"line":457,"column":20},"end":{"line":457,"column":41}},"246":{"start":{"line":459,"column":16},"end":{"line":459,"column":27}},"247":{"start":{"line":462,"column":12},"end":{"line":462,"column":33}},"248":{"start":{"line":466,"column":4},"end":{"line":479,"column":6}},"249":{"start":{"line":468,"column":8},"end":{"line":478,"column":11}},"250":{"start":{"line":469,"column":12},"end":{"line":475,"column":15}},"251":{"start":{"line":470,"column":16},"end":{"line":473,"column":17}},"252":{"start":{"line":471,"column":20},"end":{"line":471,"column":41}},"253":{"start":{"line":472,"column":20},"end":{"line":472,"column":41}},"254":{"start":{"line":474,"column":16},"end":{"line":474,"column":27}},"255":{"start":{"line":477,"column":12},"end":{"line":477,"column":32}},"256":{"start":{"line":481,"column":4},"end":{"line":507,"column":6}},"257":{"start":{"line":482,"column":8},"end":{"line":501,"column":11}},"258":{"start":{"line":483,"column":12},"end":{"line":490,"column":15}},"259":{"start":{"line":484,"column":16},"end":{"line":489,"column":17}},"260":{"start":{"line":485,"column":20},"end":{"line":485,"column":34}},"261":{"start":{"line":488,"column":20},"end":{"line":488,"column":67}},"262":{"start":{"line":492,"column":12},"end":{"line":499,"column":13}},"263":{"start":{"line":493,"column":16},"end":{"line":493,"column":37}},"264":{"start":{"line":496,"column":16},"end":{"line":498,"column":20}},"265":{"start":{"line":497,"column":20},"end":{"line":497,"column":35}},"266":{"start":{"line":503,"column":8},"end":{"line":506,"column":9}},"267":{"start":{"line":504,"column":12},"end":{"line":504,"column":54}},"268":{"start":{"line":505,"column":12},"end":{"line":505,"column":46}},"269":{"start":{"line":509,"column":4},"end":{"line":594,"column":6}},"270":{"start":{"line":510,"column":8},"end":{"line":510,"column":43}},"271":{"start":{"line":511,"column":8},"end":{"line":511,"column":32}},"272":{"start":{"line":512,"column":8},"end":{"line":512,"column":41}},"273":{"start":{"line":513,"column":8},"end":{"line":515,"column":9}},"274":{"start":{"line":514,"column":12},"end":{"line":514,"column":34}},"275":{"start":{"line":517,"column":8},"end":{"line":517,"column":25}},"276":{"start":{"line":519,"column":8},"end":{"line":519,"column":27}},"277":{"start":{"line":520,"column":8},"end":{"line":522,"column":9}},"278":{"start":{"line":521,"column":12},"end":{"line":521,"column":34}},"279":{"start":{"line":523,"column":8},"end":{"line":530,"column":9}},"280":{"start":{"line":524,"column":12},"end":{"line":529,"column":13}},"281":{"start":{"line":525,"column":16},"end":{"line":528,"column":17}},"282":{"start":{"line":526,"column":20},"end":{"line":526,"column":43}},"283":{"start":{"line":527,"column":20},"end":{"line":527,"column":27}},"284":{"start":{"line":531,"column":8},"end":{"line":536,"column":9}},"285":{"start":{"line":532,"column":12},"end":{"line":532,"column":29}},"286":{"start":{"line":533,"column":12},"end":{"line":535,"column":15}},"287":{"start":{"line":534,"column":16},"end":{"line":534,"column":21}},"288":{"start":{"line":538,"column":8},"end":{"line":542,"column":11}},"289":{"start":{"line":539,"column":12},"end":{"line":541,"column":13}},"290":{"start":{"line":540,"column":16},"end":{"line":540,"column":40}},"291":{"start":{"line":544,"column":8},"end":{"line":593,"column":11}},"292":{"start":{"line":545,"column":12},"end":{"line":545,"column":65}},"293":{"start":{"line":546,"column":12},"end":{"line":563,"column":13}},"294":{"start":{"line":547,"column":16},"end":{"line":547,"column":52}},"295":{"start":{"line":548,"column":16},"end":{"line":550,"column":17}},"296":{"start":{"line":549,"column":20},"end":{"line":549,"column":35}},"297":{"start":{"line":551,"column":16},"end":{"line":562,"column":17}},"298":{"start":{"line":552,"column":20},"end":{"line":552,"column":41}},"299":{"start":{"line":553,"column":20},"end":{"line":555,"column":23}},"300":{"start":{"line":554,"column":24},"end":{"line":554,"column":58}},"301":{"start":{"line":556,"column":20},"end":{"line":556,"column":42}},"302":{"start":{"line":557,"column":20},"end":{"line":557,"column":47}},"303":{"start":{"line":560,"column":20},"end":{"line":560,"column":38}},"304":{"start":{"line":561,"column":20},"end":{"line":561,"column":53}},"305":{"start":{"line":564,"column":12},"end":{"line":564,"column":74}},"306":{"start":{"line":566,"column":12},"end":{"line":566,"column":38}},"307":{"start":{"line":567,"column":12},"end":{"line":567,"column":20}},"308":{"start":{"line":568,"column":12},"end":{"line":575,"column":13}},"309":{"start":{"line":569,"column":16},"end":{"line":571,"column":17}},"310":{"start":{"line":570,"column":20},"end":{"line":570,"column":65}},"311":{"start":{"line":572,"column":16},"end":{"line":574,"column":17}},"312":{"start":{"line":573,"column":20},"end":{"line":573,"column":63}},"313":{"start":{"line":576,"column":12},"end":{"line":580,"column":13}},"314":{"start":{"line":577,"column":16},"end":{"line":579,"column":55}},"315":{"start":{"line":578,"column":20},"end":{"line":578,"column":60}},"316":{"start":{"line":581,"column":12},"end":{"line":586,"column":13}},"317":{"start":{"line":582,"column":16},"end":{"line":582,"column":61}},"318":{"start":{"line":585,"column":16},"end":{"line":585,"column":38}},"319":{"start":{"line":587,"column":12},"end":{"line":592,"column":13}},"320":{"start":{"line":588,"column":16},"end":{"line":591,"column":17}},"321":{"start":{"line":589,"column":20},"end":{"line":589,"column":45}},"322":{"start":{"line":590,"column":20},"end":{"line":590,"column":65}},"323":{"start":{"line":596,"column":4},"end":{"line":628,"column":6}},"324":{"start":{"line":597,"column":8},"end":{"line":597,"column":30}},"325":{"start":{"line":598,"column":8},"end":{"line":598,"column":26}},"326":{"start":{"line":600,"column":8},"end":{"line":604,"column":9}},"327":{"start":{"line":601,"column":12},"end":{"line":601,"column":28}},"328":{"start":{"line":602,"column":12},"end":{"line":602,"column":25}},"329":{"start":{"line":603,"column":12},"end":{"line":603,"column":34}},"330":{"start":{"line":606,"column":8},"end":{"line":606,"column":53}},"331":{"start":{"line":608,"column":8},"end":{"line":624,"column":9}},"332":{"start":{"line":609,"column":12},"end":{"line":615,"column":13}},"333":{"start":{"line":610,"column":16},"end":{"line":614,"column":18}},"334":{"start":{"line":611,"column":20},"end":{"line":613,"column":39}},"335":{"start":{"line":612,"column":24},"end":{"line":612,"column":89}},"336":{"start":{"line":617,"column":12},"end":{"line":619,"column":13}},"337":{"start":{"line":618,"column":16},"end":{"line":618,"column":63}},"338":{"start":{"line":620,"column":12},"end":{"line":623,"column":15}},"339":{"start":{"line":621,"column":16},"end":{"line":621,"column":45}},"340":{"start":{"line":622,"column":16},"end":{"line":622,"column":69}},"341":{"start":{"line":627,"column":8},"end":{"line":627,"column":54}},"342":{"start":{"line":630,"column":4},"end":{"line":658,"column":6}},"343":{"start":{"line":631,"column":8},"end":{"line":631,"column":43}},"344":{"start":{"line":632,"column":8},"end":{"line":635,"column":9}},"345":{"start":{"line":633,"column":10},"end":{"line":633,"column":91}},"346":{"start":{"line":634,"column":10},"end":{"line":634,"column":31}},"347":{"start":{"line":636,"column":8},"end":{"line":638,"column":9}},"348":{"start":{"line":637,"column":12},"end":{"line":637,"column":30}},"349":{"start":{"line":639,"column":8},"end":{"line":656,"column":9}},"350":{"start":{"line":640,"column":12},"end":{"line":655,"column":14}},"351":{"start":{"line":641,"column":16},"end":{"line":654,"column":17}},"352":{"start":{"line":642,"column":20},"end":{"line":642,"column":52}},"353":{"start":{"line":645,"column":20},"end":{"line":645,"column":56}},"354":{"start":{"line":646,"column":20},"end":{"line":646,"column":47}},"355":{"start":{"line":647,"column":20},"end":{"line":652,"column":21}},"356":{"start":{"line":648,"column":24},"end":{"line":648,"column":54}},"357":{"start":{"line":651,"column":24},"end":{"line":651,"column":44}},"358":{"start":{"line":653,"column":20},"end":{"line":653,"column":60}},"359":{"start":{"line":657,"column":8},"end":{"line":657,"column":46}},"360":{"start":{"line":660,"column":4},"end":{"line":676,"column":5}},"361":{"start":{"line":661,"column":8},"end":{"line":661,"column":36}},"362":{"start":{"line":662,"column":8},"end":{"line":662,"column":52}},"363":{"start":{"line":664,"column":8},"end":{"line":675,"column":11}},"364":{"start":{"line":665,"column":12},"end":{"line":672,"column":15}},"365":{"start":{"line":666,"column":16},"end":{"line":666,"column":52}},"366":{"start":{"line":667,"column":16},"end":{"line":669,"column":17}},"367":{"start":{"line":668,"column":20},"end":{"line":668,"column":35}},"368":{"start":{"line":670,"column":16},"end":{"line":670,"column":36}},"369":{"start":{"line":671,"column":16},"end":{"line":671,"column":30}},"370":{"start":{"line":674,"column":12},"end":{"line":674,"column":35}},"371":{"start":{"line":678,"column":4},"end":{"line":680,"column":6}},"372":{"start":{"line":679,"column":8},"end":{"line":679,"column":49}},"373":{"start":{"line":682,"column":4},"end":{"line":684,"column":6}},"374":{"start":{"line":683,"column":8},"end":{"line":683,"column":56}},"375":{"start":{"line":686,"column":4},"end":{"line":702,"column":6}},"376":{"start":{"line":687,"column":8},"end":{"line":687,"column":36}},"377":{"start":{"line":688,"column":8},"end":{"line":688,"column":52}},"378":{"start":{"line":690,"column":8},"end":{"line":701,"column":11}},"379":{"start":{"line":691,"column":12},"end":{"line":698,"column":15}},"380":{"start":{"line":692,"column":16},"end":{"line":692,"column":52}},"381":{"start":{"line":693,"column":16},"end":{"line":695,"column":17}},"382":{"start":{"line":694,"column":20},"end":{"line":694,"column":35}},"383":{"start":{"line":696,"column":16},"end":{"line":696,"column":36}},"384":{"start":{"line":697,"column":16},"end":{"line":697,"column":30}},"385":{"start":{"line":700,"column":12},"end":{"line":700,"column":35}},"386":{"start":{"line":704,"column":4},"end":{"line":718,"column":6}},"387":{"start":{"line":705,"column":8},"end":{"line":716,"column":9}},"388":{"start":{"line":706,"column":12},"end":{"line":711,"column":13}},"389":{"start":{"line":707,"column":16},"end":{"line":709,"column":17}},"390":{"start":{"line":708,"column":20},"end":{"line":708,"column":56}},"391":{"start":{"line":710,"column":16},"end":{"line":710,"column":33}},"392":{"start":{"line":712,"column":12},"end":{"line":714,"column":14}},"393":{"start":{"line":713,"column":16},"end":{"line":713,"column":82}},"394":{"start":{"line":715,"column":12},"end":{"line":715,"column":22}},"395":{"start":{"line":717,"column":8},"end":{"line":717,"column":31}},"396":{"start":{"line":720,"column":4},"end":{"line":727,"column":6}},"397":{"start":{"line":721,"column":8},"end":{"line":721,"column":44}},"398":{"start":{"line":722,"column":8},"end":{"line":726,"column":10}},"399":{"start":{"line":723,"column":12},"end":{"line":725,"column":14}},"400":{"start":{"line":729,"column":4},"end":{"line":739,"column":5}},"401":{"start":{"line":730,"column":8},"end":{"line":730,"column":24}},"402":{"start":{"line":731,"column":8},"end":{"line":738,"column":11}},"403":{"start":{"line":732,"column":12},"end":{"line":735,"column":15}},"404":{"start":{"line":733,"column":16},"end":{"line":733,"column":48}},"405":{"start":{"line":734,"column":16},"end":{"line":734,"column":24}},"406":{"start":{"line":737,"column":12},"end":{"line":737,"column":34}},"407":{"start":{"line":740,"column":4},"end":{"line":740,"column":39}},"408":{"start":{"line":741,"column":4},"end":{"line":741,"column":43}},"409":{"start":{"line":743,"column":4},"end":{"line":755,"column":6}},"410":{"start":{"line":744,"column":8},"end":{"line":754,"column":9}},"411":{"start":{"line":745,"column":12},"end":{"line":750,"column":15}},"412":{"start":{"line":746,"column":16},"end":{"line":748,"column":17}},"413":{"start":{"line":747,"column":20},"end":{"line":747,"column":41}},"414":{"start":{"line":749,"column":16},"end":{"line":749,"column":55}},"415":{"start":{"line":753,"column":12},"end":{"line":753,"column":27}},"416":{"start":{"line":757,"column":4},"end":{"line":770,"column":6}},"417":{"start":{"line":758,"column":8},"end":{"line":769,"column":11}},"418":{"start":{"line":759,"column":12},"end":{"line":761,"column":13}},"419":{"start":{"line":760,"column":16},"end":{"line":760,"column":37}},"420":{"start":{"line":762,"column":12},"end":{"line":762,"column":48}},"421":{"start":{"line":763,"column":12},"end":{"line":768,"column":13}},"422":{"start":{"line":764,"column":16},"end":{"line":764,"column":57}},"423":{"start":{"line":767,"column":16},"end":{"line":767,"column":31}},"424":{"start":{"line":772,"column":4},"end":{"line":784,"column":6}},"425":{"start":{"line":773,"column":8},"end":{"line":783,"column":9}},"426":{"start":{"line":774,"column":12},"end":{"line":779,"column":15}},"427":{"start":{"line":775,"column":16},"end":{"line":777,"column":17}},"428":{"start":{"line":776,"column":20},"end":{"line":776,"column":41}},"429":{"start":{"line":778,"column":16},"end":{"line":778,"column":54}},"430":{"start":{"line":782,"column":12},"end":{"line":782,"column":27}},"431":{"start":{"line":786,"column":4},"end":{"line":799,"column":6}},"432":{"start":{"line":787,"column":8},"end":{"line":798,"column":11}},"433":{"start":{"line":788,"column":12},"end":{"line":790,"column":13}},"434":{"start":{"line":789,"column":16},"end":{"line":789,"column":37}},"435":{"start":{"line":791,"column":12},"end":{"line":791,"column":48}},"436":{"start":{"line":792,"column":12},"end":{"line":797,"column":13}},"437":{"start":{"line":793,"column":16},"end":{"line":793,"column":56}},"438":{"start":{"line":796,"column":16},"end":{"line":796,"column":31}},"439":{"start":{"line":801,"column":4},"end":{"line":914,"column":5}},"440":{"start":{"line":802,"column":8},"end":{"line":807,"column":9}},"441":{"start":{"line":803,"column":12},"end":{"line":803,"column":28}},"442":{"start":{"line":805,"column":13},"end":{"line":807,"column":9}},"443":{"start":{"line":806,"column":12},"end":{"line":806,"column":60}},"444":{"start":{"line":808,"column":8},"end":{"line":839,"column":9}},"445":{"start":{"line":809,"column":12},"end":{"line":811,"column":13}},"446":{"start":{"line":810,"column":16},"end":{"line":810,"column":68}},"447":{"start":{"line":812,"column":12},"end":{"line":812,"column":29}},"448":{"start":{"line":813,"column":12},"end":{"line":815,"column":13}},"449":{"start":{"line":814,"column":16},"end":{"line":814,"column":30}},"450":{"start":{"line":816,"column":12},"end":{"line":821,"column":13}},"451":{"start":{"line":818,"column":16},"end":{"line":820,"column":19}},"452":{"start":{"line":819,"column":19},"end":{"line":819,"column":29}},"453":{"start":{"line":822,"column":12},"end":{"line":838,"column":15}},"454":{"start":{"line":823,"column":16},"end":{"line":826,"column":18}},"455":{"start":{"line":828,"column":16},"end":{"line":832,"column":17}},"456":{"start":{"line":829,"column":18},"end":{"line":829,"column":40}},"457":{"start":{"line":831,"column":18},"end":{"line":831,"column":37}},"458":{"start":{"line":834,"column":16},"end":{"line":836,"column":17}},"459":{"start":{"line":835,"column":20},"end":{"line":835,"column":34}},"460":{"start":{"line":837,"column":16},"end":{"line":837,"column":46}},"461":{"start":{"line":841,"column":8},"end":{"line":841,"column":24}},"462":{"start":{"line":842,"column":8},"end":{"line":912,"column":10}},"463":{"start":{"line":851,"column":16},"end":{"line":851,"column":50}},"464":{"start":{"line":854,"column":16},"end":{"line":854,"column":31}},"465":{"start":{"line":855,"column":16},"end":{"line":855,"column":29}},"466":{"start":{"line":858,"column":16},"end":{"line":858,"column":49}},"467":{"start":{"line":861,"column":16},"end":{"line":876,"column":17}},"468":{"start":{"line":862,"column":20},"end":{"line":864,"column":58}},"469":{"start":{"line":866,"column":20},"end":{"line":868,"column":23}},"470":{"start":{"line":867,"column":24},"end":{"line":867,"column":41}},"471":{"start":{"line":870,"column":20},"end":{"line":872,"column":21}},"472":{"start":{"line":871,"column":24},"end":{"line":871,"column":34}},"473":{"start":{"line":873,"column":20},"end":{"line":873,"column":33}},"474":{"start":{"line":874,"column":20},"end":{"line":874,"column":45}},"475":{"start":{"line":875,"column":20},"end":{"line":875,"column":37}},"476":{"start":{"line":878,"column":16},"end":{"line":888,"column":17}},"477":{"start":{"line":879,"column":20},"end":{"line":879,"column":33}},"478":{"start":{"line":880,"column":20},"end":{"line":880,"column":41}},"479":{"start":{"line":881,"column":20},"end":{"line":883,"column":23}},"480":{"start":{"line":882,"column":24},"end":{"line":882,"column":56}},"481":{"start":{"line":884,"column":20},"end":{"line":886,"column":21}},"482":{"start":{"line":885,"column":24},"end":{"line":885,"column":34}},"483":{"start":{"line":887,"column":20},"end":{"line":887,"column":32}},"484":{"start":{"line":891,"column":16},"end":{"line":891,"column":38}},"485":{"start":{"line":894,"column":16},"end":{"line":894,"column":31}},"486":{"start":{"line":897,"column":16},"end":{"line":897,"column":54}},"487":{"start":{"line":900,"column":16},"end":{"line":900,"column":32}},"488":{"start":{"line":903,"column":16},"end":{"line":903,"column":51}},"489":{"start":{"line":903,"column":42},"end":{"line":903,"column":49}},"490":{"start":{"line":904,"column":16},"end":{"line":904,"column":33}},"491":{"start":{"line":905,"column":16},"end":{"line":905,"column":74}},"492":{"start":{"line":908,"column":16},"end":{"line":910,"column":17}},"493":{"start":{"line":909,"column":20},"end":{"line":909,"column":50}},"494":{"start":{"line":913,"column":8},"end":{"line":913,"column":17}},"495":{"start":{"line":916,"column":4},"end":{"line":922,"column":6}},"496":{"start":{"line":917,"column":8},"end":{"line":919,"column":27}},"497":{"start":{"line":918,"column":12},"end":{"line":918,"column":33}},"498":{"start":{"line":921,"column":8},"end":{"line":921,"column":17}},"499":{"start":{"line":924,"column":4},"end":{"line":986,"column":6}},"500":{"start":{"line":926,"column":8},"end":{"line":928,"column":9}},"501":{"start":{"line":927,"column":12},"end":{"line":927,"column":43}},"502":{"start":{"line":930,"column":8},"end":{"line":942,"column":9}},"503":{"start":{"line":931,"column":10},"end":{"line":932,"column":40}},"504":{"start":{"line":933,"column":10},"end":{"line":940,"column":11}},"505":{"start":{"line":934,"column":14},"end":{"line":934,"column":54}},"506":{"start":{"line":935,"column":14},"end":{"line":939,"column":15}},"507":{"start":{"line":936,"column":18},"end":{"line":936,"column":28}},"508":{"start":{"line":938,"column":18},"end":{"line":938,"column":32}},"509":{"start":{"line":941,"column":10},"end":{"line":941,"column":21}},"510":{"start":{"line":944,"column":8},"end":{"line":972,"column":9}},"511":{"start":{"line":945,"column":12},"end":{"line":947,"column":13}},"512":{"start":{"line":946,"column":16},"end":{"line":946,"column":68}},"513":{"start":{"line":948,"column":12},"end":{"line":948,"column":29}},"514":{"start":{"line":949,"column":12},"end":{"line":951,"column":13}},"515":{"start":{"line":950,"column":16},"end":{"line":950,"column":30}},"516":{"start":{"line":952,"column":12},"end":{"line":957,"column":13}},"517":{"start":{"line":954,"column":16},"end":{"line":956,"column":19}},"518":{"start":{"line":955,"column":20},"end":{"line":955,"column":30}},"519":{"start":{"line":958,"column":12},"end":{"line":971,"column":15}},"520":{"start":{"line":959,"column":16},"end":{"line":963,"column":18}},"521":{"start":{"line":965,"column":16},"end":{"line":965,"column":89}},"522":{"start":{"line":967,"column":16},"end":{"line":969,"column":17}},"523":{"start":{"line":968,"column":20},"end":{"line":968,"column":34}},"524":{"start":{"line":970,"column":16},"end":{"line":970,"column":46}},"525":{"start":{"line":975,"column":8},"end":{"line":975,"column":49}},"526":{"start":{"line":978,"column":8},"end":{"line":980,"column":10}},"527":{"start":{"line":979,"column":12},"end":{"line":979,"column":49}},"528":{"start":{"line":983,"column":8},"end":{"line":983,"column":25}},"529":{"start":{"line":985,"column":8},"end":{"line":985,"column":17}},"530":{"start":{"line":988,"column":4},"end":{"line":990,"column":6}},"531":{"start":{"line":989,"column":8},"end":{"line":989,"column":42}},"532":{"start":{"line":992,"column":4},"end":{"line":1011,"column":5}},"533":{"start":{"line":993,"column":8},"end":{"line":1010,"column":10}},"534":{"start":{"line":994,"column":12},"end":{"line":994,"column":48}},"535":{"start":{"line":995,"column":12},"end":{"line":1009,"column":17}},"536":{"start":{"line":996,"column":16},"end":{"line":996,"column":52}},"537":{"start":{"line":997,"column":16},"end":{"line":1008,"column":17}},"538":{"start":{"line":998,"column":20},"end":{"line":1007,"column":21}},"539":{"start":{"line":999,"column":24},"end":{"line":1001,"column":25}},"540":{"start":{"line":1000,"column":28},"end":{"line":1000,"column":47}},"541":{"start":{"line":1003,"column":25},"end":{"line":1007,"column":21}},"542":{"start":{"line":1004,"column":24},"end":{"line":1006,"column":27}},"543":{"start":{"line":1005,"column":28},"end":{"line":1005,"column":45}},"544":{"start":{"line":1012,"column":4},"end":{"line":1012,"column":35}},"545":{"start":{"line":1013,"column":4},"end":{"line":1013,"column":35}},"546":{"start":{"line":1018,"column":4},"end":{"line":1051,"column":6}},"547":{"start":{"line":1019,"column":8},"end":{"line":1019,"column":22}},"548":{"start":{"line":1020,"column":8},"end":{"line":1020,"column":24}},"549":{"start":{"line":1021,"column":8},"end":{"line":1023,"column":10}},"550":{"start":{"line":1022,"column":12},"end":{"line":1022,"column":21}},"551":{"start":{"line":1024,"column":8},"end":{"line":1047,"column":9}},"552":{"start":{"line":1025,"column":12},"end":{"line":1025,"column":45}},"553":{"start":{"line":1026,"column":12},"end":{"line":1026,"column":38}},"554":{"start":{"line":1027,"column":12},"end":{"line":1027,"column":47}},"555":{"start":{"line":1028,"column":12},"end":{"line":1046,"column":13}},"556":{"start":{"line":1029,"column":16},"end":{"line":1031,"column":19}},"557":{"start":{"line":1030,"column":20},"end":{"line":1030,"column":52}},"558":{"start":{"line":1033,"column":17},"end":{"line":1046,"column":13}},"559":{"start":{"line":1034,"column":16},"end":{"line":1034,"column":43}},"560":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":41}},"561":{"start":{"line":1038,"column":16},"end":{"line":1045,"column":21}},"562":{"start":{"line":1039,"column":20},"end":{"line":1039,"column":54}},"563":{"start":{"line":1040,"column":20},"end":{"line":1040,"column":40}},"564":{"start":{"line":1041,"column":20},"end":{"line":1041,"column":39}},"565":{"start":{"line":1042,"column":20},"end":{"line":1044,"column":21}},"566":{"start":{"line":1043,"column":22},"end":{"line":1043,"column":50}},"567":{"start":{"line":1048,"column":8},"end":{"line":1048,"column":29}},"568":{"start":{"line":1049,"column":8},"end":{"line":1049,"column":33}},"569":{"start":{"line":1050,"column":8},"end":{"line":1050,"column":24}},"570":{"start":{"line":1053,"column":4},"end":{"line":1057,"column":6}},"571":{"start":{"line":1054,"column":6},"end":{"line":1056,"column":8}},"572":{"start":{"line":1055,"column":8},"end":{"line":1055,"column":60}},"573":{"start":{"line":1059,"column":4},"end":{"line":1065,"column":6}},"574":{"start":{"line":1060,"column":8},"end":{"line":1060,"column":25}},"575":{"start":{"line":1061,"column":8},"end":{"line":1063,"column":9}},"576":{"start":{"line":1062,"column":12},"end":{"line":1062,"column":28}},"577":{"start":{"line":1064,"column":8},"end":{"line":1064,"column":54}},"578":{"start":{"line":1067,"column":4},"end":{"line":1073,"column":6}},"579":{"start":{"line":1068,"column":8},"end":{"line":1068,"column":25}},"580":{"start":{"line":1069,"column":8},"end":{"line":1071,"column":9}},"581":{"start":{"line":1070,"column":12},"end":{"line":1070,"column":28}},"582":{"start":{"line":1072,"column":8},"end":{"line":1072,"column":60}},"583":{"start":{"line":1075,"column":4},"end":{"line":1099,"column":6}},"584":{"start":{"line":1076,"column":8},"end":{"line":1076,"column":28}},"585":{"start":{"line":1077,"column":8},"end":{"line":1098,"column":10}},"586":{"start":{"line":1078,"column":12},"end":{"line":1078,"column":28}},"587":{"start":{"line":1079,"column":12},"end":{"line":1079,"column":45}},"588":{"start":{"line":1081,"column":12},"end":{"line":1081,"column":45}},"589":{"start":{"line":1082,"column":12},"end":{"line":1086,"column":13}},"590":{"start":{"line":1083,"column":16},"end":{"line":1083,"column":27}},"591":{"start":{"line":1085,"column":16},"end":{"line":1085,"column":32}},"592":{"start":{"line":1088,"column":12},"end":{"line":1097,"column":15}},"593":{"start":{"line":1089,"column":16},"end":{"line":1093,"column":21}},"594":{"start":{"line":1090,"column":20},"end":{"line":1090,"column":43}},"595":{"start":{"line":1091,"column":20},"end":{"line":1091,"column":60}},"596":{"start":{"line":1092,"column":20},"end":{"line":1092,"column":38}},"597":{"start":{"line":1096,"column":16},"end":{"line":1096,"column":60}},"598":{"start":{"line":1101,"column":4},"end":{"line":1103,"column":6}},"599":{"start":{"line":1102,"column":6},"end":{"line":1102,"column":76}},"600":{"start":{"line":1106,"column":4},"end":{"line":1123,"column":5}},"601":{"start":{"line":1107,"column":8},"end":{"line":1115,"column":9}},"602":{"start":{"line":1108,"column":12},"end":{"line":1108,"column":28}},"603":{"start":{"line":1109,"column":12},"end":{"line":1109,"column":45}},"604":{"start":{"line":1110,"column":12},"end":{"line":1110,"column":38}},"605":{"start":{"line":1111,"column":12},"end":{"line":1114,"column":22}},"606":{"start":{"line":1112,"column":16},"end":{"line":1112,"column":50}},"607":{"start":{"line":1116,"column":8},"end":{"line":1122,"column":9}},"608":{"start":{"line":1117,"column":12},"end":{"line":1117,"column":48}},"609":{"start":{"line":1118,"column":12},"end":{"line":1118,"column":40}},"610":{"start":{"line":1121,"column":12},"end":{"line":1121,"column":22}},"611":{"start":{"line":1125,"column":4},"end":{"line":1128,"column":6}},"612":{"start":{"line":1126,"column":8},"end":{"line":1126,"column":41}},"613":{"start":{"line":1127,"column":8},"end":{"line":1127,"column":67}},"614":{"start":{"line":1129,"column":4},"end":{"line":1132,"column":6}},"615":{"start":{"line":1130,"column":8},"end":{"line":1130,"column":41}},"616":{"start":{"line":1131,"column":8},"end":{"line":1131,"column":73}},"617":{"start":{"line":1135,"column":4},"end":{"line":1145,"column":6}},"618":{"start":{"line":1136,"column":8},"end":{"line":1136,"column":47}},"619":{"start":{"line":1137,"column":8},"end":{"line":1137,"column":35}},"620":{"start":{"line":1138,"column":8},"end":{"line":1143,"column":9}},"621":{"start":{"line":1139,"column":12},"end":{"line":1141,"column":13}},"622":{"start":{"line":1140,"column":16},"end":{"line":1140,"column":33}},"623":{"start":{"line":1142,"column":12},"end":{"line":1142,"column":23}},"624":{"start":{"line":1144,"column":8},"end":{"line":1144,"column":15}},"625":{"start":{"line":1147,"column":4},"end":{"line":1165,"column":5}},"626":{"start":{"line":1148,"column":8},"end":{"line":1164,"column":10}},"627":{"start":{"line":1149,"column":12},"end":{"line":1149,"column":45}},"628":{"start":{"line":1150,"column":12},"end":{"line":1150,"column":38}},"629":{"start":{"line":1151,"column":12},"end":{"line":1160,"column":15}},"630":{"start":{"line":1152,"column":16},"end":{"line":1152,"column":42}},"631":{"start":{"line":1153,"column":16},"end":{"line":1159,"column":17}},"632":{"start":{"line":1154,"column":20},"end":{"line":1156,"column":23}},"633":{"start":{"line":1155,"column":24},"end":{"line":1155,"column":56}},"634":{"start":{"line":1158,"column":20},"end":{"line":1158,"column":52}},"635":{"start":{"line":1161,"column":12},"end":{"line":1161,"column":28}},"636":{"start":{"line":1162,"column":12},"end":{"line":1162,"column":33}},"637":{"start":{"line":1163,"column":12},"end":{"line":1163,"column":25}},"638":{"start":{"line":1167,"column":4},"end":{"line":1167,"column":36}},"639":{"start":{"line":1170,"column":4},"end":{"line":1182,"column":5}},"640":{"start":{"line":1171,"column":8},"end":{"line":1171,"column":31}},"641":{"start":{"line":1174,"column":9},"end":{"line":1182,"column":5}},"642":{"start":{"line":1175,"column":8},"end":{"line":1177,"column":11}},"643":{"start":{"line":1176,"column":12},"end":{"line":1176,"column":25}},"644":{"start":{"line":1181,"column":8},"end":{"line":1181,"column":27}}},"branchMap":{"1":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":4}},{"start":{"line":16,"column":4},"end":{"line":16,"column":4}}]},"2":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":33}},{"start":{"line":16,"column":37},"end":{"line":16,"column":52}}]},"3":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":9},"end":{"line":19,"column":9}},{"start":{"line":19,"column":9},"end":{"line":19,"column":9}}]},"4":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":13},"end":{"line":19,"column":38}},{"start":{"line":19,"column":42},"end":{"line":19,"column":57}}]},"5":{"line":26,"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":4}},{"start":{"line":26,"column":4},"end":{"line":26,"column":4}}]},"6":{"line":38,"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":12}},{"start":{"line":38,"column":12},"end":{"line":38,"column":12}}]},"7":{"line":47,"type":"if","locations":[{"start":{"line":47,"column":12},"end":{"line":47,"column":12}},{"start":{"line":47,"column":12},"end":{"line":47,"column":12}}]},"8":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":19},"end":{"line":57,"column":32}},{"start":{"line":57,"column":36},"end":{"line":59,"column":5}}]},"9":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":15},"end":{"line":62,"column":28}},{"start":{"line":64,"column":12},"end":{"line":64,"column":42}},{"start":{"line":65,"column":12},"end":{"line":65,"column":27}},{"start":{"line":66,"column":12},"end":{"line":66,"column":32}}]},"10":{"line":71,"type":"cond-expr","locations":[{"start":{"line":72,"column":12},"end":{"line":72,"column":38}},{"start":{"line":73,"column":12},"end":{"line":73,"column":38}}]},"11":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":16},"end":{"line":109,"column":27}},{"start":{"line":109,"column":31},"end":{"line":117,"column":5}}]},"12":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":12},"end":{"line":112,"column":12}},{"start":{"line":112,"column":12},"end":{"line":112,"column":12}}]},"13":{"line":123,"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":123,"column":8}},{"start":{"line":123,"column":8},"end":{"line":123,"column":8}}]},"14":{"line":127,"type":"cond-expr","locations":[{"start":{"line":127,"column":33},"end":{"line":127,"column":34}},{"start":{"line":127,"column":37},"end":{"line":127,"column":41}}]},"15":{"line":134,"type":"cond-expr","locations":[{"start":{"line":134,"column":33},"end":{"line":134,"column":40}},{"start":{"line":134,"column":43},"end":{"line":134,"column":47}}]},"16":{"line":140,"type":"binary-expr","locations":[{"start":{"line":140,"column":16},"end":{"line":140,"column":21}},{"start":{"line":140,"column":25},"end":{"line":140,"column":26}}]},"17":{"line":144,"type":"if","locations":[{"start":{"line":144,"column":8},"end":{"line":144,"column":8}},{"start":{"line":144,"column":8},"end":{"line":144,"column":8}}]},"18":{"line":146,"type":"cond-expr","locations":[{"start":{"line":146,"column":32},"end":{"line":146,"column":33}},{"start":{"line":146,"column":36},"end":{"line":146,"column":42}}]},"19":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":168,"column":4}},{"start":{"line":168,"column":4},"end":{"line":168,"column":4}}]},"20":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":172,"column":4}},{"start":{"line":172,"column":4},"end":{"line":172,"column":4}}]},"21":{"line":172,"type":"binary-expr","locations":[{"start":{"line":172,"column":8},"end":{"line":172,"column":38}},{"start":{"line":172,"column":42},"end":{"line":172,"column":61}}]},"22":{"line":173,"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":173,"column":8}},{"start":{"line":173,"column":8},"end":{"line":173,"column":8}}]},"23":{"line":189,"type":"if","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":8}},{"start":{"line":189,"column":8},"end":{"line":189,"column":8}}]},"24":{"line":218,"type":"binary-expr","locations":[{"start":{"line":218,"column":25},"end":{"line":218,"column":33}},{"start":{"line":218,"column":37},"end":{"line":218,"column":41}}]},"25":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":17},"end":{"line":219,"column":23}},{"start":{"line":219,"column":27},"end":{"line":219,"column":29}}]},"26":{"line":220,"type":"binary-expr","locations":[{"start":{"line":220,"column":19},"end":{"line":220,"column":32}},{"start":{"line":220,"column":36},"end":{"line":220,"column":56}}]},"27":{"line":222,"type":"if","locations":[{"start":{"line":222,"column":8},"end":{"line":222,"column":8}},{"start":{"line":222,"column":8},"end":{"line":222,"column":8}}]},"28":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":10},"end":{"line":229,"column":10}},{"start":{"line":229,"column":10},"end":{"line":229,"column":10}}]},"29":{"line":234,"type":"if","locations":[{"start":{"line":234,"column":14},"end":{"line":234,"column":14}},{"start":{"line":234,"column":14},"end":{"line":234,"column":14}}]},"30":{"line":243,"type":"binary-expr","locations":[{"start":{"line":243,"column":25},"end":{"line":243,"column":33}},{"start":{"line":243,"column":37},"end":{"line":243,"column":41}}]},"31":{"line":244,"type":"binary-expr","locations":[{"start":{"line":244,"column":14},"end":{"line":244,"column":17}},{"start":{"line":244,"column":21},"end":{"line":244,"column":23}}]},"32":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":12},"end":{"line":249,"column":12}},{"start":{"line":249,"column":12},"end":{"line":249,"column":12}}]},"33":{"line":253,"type":"if","locations":[{"start":{"line":253,"column":16},"end":{"line":253,"column":16}},{"start":{"line":253,"column":16},"end":{"line":253,"column":16}}]},"34":{"line":257,"type":"if","locations":[{"start":{"line":257,"column":20},"end":{"line":257,"column":20}},{"start":{"line":257,"column":20},"end":{"line":257,"column":20}}]},"35":{"line":280,"type":"binary-expr","locations":[{"start":{"line":280,"column":29},"end":{"line":280,"column":37}},{"start":{"line":280,"column":41},"end":{"line":280,"column":45}}]},"36":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":18},"end":{"line":281,"column":21}},{"start":{"line":281,"column":25},"end":{"line":281,"column":27}}]},"37":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":12},"end":{"line":283,"column":12}},{"start":{"line":283,"column":12},"end":{"line":283,"column":12}}]},"38":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":16},"end":{"line":291,"column":16}},{"start":{"line":291,"column":16},"end":{"line":291,"column":16}}]},"39":{"line":291,"type":"binary-expr","locations":[{"start":{"line":291,"column":20},"end":{"line":291,"column":24}},{"start":{"line":291,"column":28},"end":{"line":291,"column":40}}]},"40":{"line":295,"type":"binary-expr","locations":[{"start":{"line":295,"column":23},"end":{"line":295,"column":38}},{"start":{"line":295,"column":42},"end":{"line":295,"column":50}}]},"41":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":20},"end":{"line":297,"column":20}},{"start":{"line":297,"column":20},"end":{"line":297,"column":20}}]},"42":{"line":299,"type":"if","locations":[{"start":{"line":299,"column":24},"end":{"line":299,"column":24}},{"start":{"line":299,"column":24},"end":{"line":299,"column":24}}]},"43":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":24},"end":{"line":307,"column":24}},{"start":{"line":307,"column":24},"end":{"line":307,"column":24}}]},"44":{"line":338,"type":"binary-expr","locations":[{"start":{"line":338,"column":25},"end":{"line":338,"column":33}},{"start":{"line":338,"column":37},"end":{"line":338,"column":41}}]},"45":{"line":371,"type":"binary-expr","locations":[{"start":{"line":371,"column":21},"end":{"line":371,"column":24}},{"start":{"line":371,"column":28},"end":{"line":371,"column":32}}]},"46":{"line":390,"type":"if","locations":[{"start":{"line":390,"column":16},"end":{"line":390,"column":16}},{"start":{"line":390,"column":16},"end":{"line":390,"column":16}}]},"47":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":16},"end":{"line":417,"column":16}},{"start":{"line":417,"column":16},"end":{"line":417,"column":16}}]},"48":{"line":436,"type":"if","locations":[{"start":{"line":436,"column":16},"end":{"line":436,"column":16}},{"start":{"line":436,"column":16},"end":{"line":436,"column":16}}]},"49":{"line":455,"type":"if","locations":[{"start":{"line":455,"column":16},"end":{"line":455,"column":16}},{"start":{"line":455,"column":16},"end":{"line":455,"column":16}}]},"50":{"line":470,"type":"if","locations":[{"start":{"line":470,"column":16},"end":{"line":470,"column":16}},{"start":{"line":470,"column":16},"end":{"line":470,"column":16}}]},"51":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":16},"end":{"line":484,"column":16}},{"start":{"line":484,"column":16},"end":{"line":484,"column":16}}]},"52":{"line":492,"type":"if","locations":[{"start":{"line":492,"column":12},"end":{"line":492,"column":12}},{"start":{"line":492,"column":12},"end":{"line":492,"column":12}}]},"53":{"line":505,"type":"cond-expr","locations":[{"start":{"line":505,"column":27},"end":{"line":505,"column":29}},{"start":{"line":505,"column":32},"end":{"line":505,"column":45}}]},"54":{"line":505,"type":"cond-expr","locations":[{"start":{"line":505,"column":40},"end":{"line":505,"column":41}},{"start":{"line":505,"column":44},"end":{"line":505,"column":45}}]},"55":{"line":510,"type":"binary-expr","locations":[{"start":{"line":510,"column":25},"end":{"line":510,"column":33}},{"start":{"line":510,"column":37},"end":{"line":510,"column":41}}]},"56":{"line":513,"type":"if","locations":[{"start":{"line":513,"column":8},"end":{"line":513,"column":8}},{"start":{"line":513,"column":8},"end":{"line":513,"column":8}}]},"57":{"line":525,"type":"if","locations":[{"start":{"line":525,"column":16},"end":{"line":525,"column":16}},{"start":{"line":525,"column":16},"end":{"line":525,"column":16}}]},"58":{"line":539,"type":"if","locations":[{"start":{"line":539,"column":12},"end":{"line":539,"column":12}},{"start":{"line":539,"column":12},"end":{"line":539,"column":12}}]},"59":{"line":545,"type":"cond-expr","locations":[{"start":{"line":545,"column":44},"end":{"line":545,"column":52}},{"start":{"line":545,"column":54},"end":{"line":545,"column":64}}]},"60":{"line":548,"type":"if","locations":[{"start":{"line":548,"column":16},"end":{"line":548,"column":16}},{"start":{"line":548,"column":16},"end":{"line":548,"column":16}}]},"61":{"line":551,"type":"if","locations":[{"start":{"line":551,"column":16},"end":{"line":551,"column":16}},{"start":{"line":551,"column":16},"end":{"line":551,"column":16}}]},"62":{"line":564,"type":"binary-expr","locations":[{"start":{"line":564,"column":27},"end":{"line":564,"column":67}},{"start":{"line":564,"column":71},"end":{"line":564,"column":73}}]},"63":{"line":569,"type":"if","locations":[{"start":{"line":569,"column":16},"end":{"line":569,"column":16}},{"start":{"line":569,"column":16},"end":{"line":569,"column":16}}]},"64":{"line":572,"type":"if","locations":[{"start":{"line":572,"column":16},"end":{"line":572,"column":16}},{"start":{"line":572,"column":16},"end":{"line":572,"column":16}}]},"65":{"line":572,"type":"binary-expr","locations":[{"start":{"line":572,"column":20},"end":{"line":572,"column":33}},{"start":{"line":572,"column":37},"end":{"line":572,"column":54}}]},"66":{"line":577,"type":"binary-expr","locations":[{"start":{"line":577,"column":23},"end":{"line":579,"column":24}},{"start":{"line":579,"column":28},"end":{"line":579,"column":54}}]},"67":{"line":578,"type":"binary-expr","locations":[{"start":{"line":578,"column":28},"end":{"line":578,"column":29}},{"start":{"line":578,"column":33},"end":{"line":578,"column":58}}]},"68":{"line":581,"type":"if","locations":[{"start":{"line":581,"column":12},"end":{"line":581,"column":12}},{"start":{"line":581,"column":12},"end":{"line":581,"column":12}}]},"69":{"line":588,"type":"if","locations":[{"start":{"line":588,"column":16},"end":{"line":588,"column":16}},{"start":{"line":588,"column":16},"end":{"line":588,"column":16}}]},"70":{"line":600,"type":"if","locations":[{"start":{"line":600,"column":8},"end":{"line":600,"column":8}},{"start":{"line":600,"column":8},"end":{"line":600,"column":8}}]},"71":{"line":606,"type":"binary-expr","locations":[{"start":{"line":606,"column":16},"end":{"line":606,"column":35}},{"start":{"line":606,"column":39},"end":{"line":606,"column":52}}]},"72":{"line":612,"type":"binary-expr","locations":[{"start":{"line":612,"column":39},"end":{"line":612,"column":43}},{"start":{"line":612,"column":47},"end":{"line":612,"column":59}}]},"73":{"line":622,"type":"binary-expr","locations":[{"start":{"line":622,"column":17},"end":{"line":622,"column":32}},{"start":{"line":622,"column":36},"end":{"line":622,"column":44}}]},"74":{"line":627,"type":"cond-expr","locations":[{"start":{"line":627,"column":26},"end":{"line":627,"column":39}},{"start":{"line":627,"column":42},"end":{"line":627,"column":53}}]},"75":{"line":631,"type":"binary-expr","locations":[{"start":{"line":631,"column":25},"end":{"line":631,"column":33}},{"start":{"line":631,"column":37},"end":{"line":631,"column":41}}]},"76":{"line":632,"type":"if","locations":[{"start":{"line":632,"column":8},"end":{"line":632,"column":8}},{"start":{"line":632,"column":8},"end":{"line":632,"column":8}}]},"77":{"line":636,"type":"if","locations":[{"start":{"line":636,"column":8},"end":{"line":636,"column":8}},{"start":{"line":636,"column":8},"end":{"line":636,"column":8}}]},"78":{"line":641,"type":"if","locations":[{"start":{"line":641,"column":16},"end":{"line":641,"column":16}},{"start":{"line":641,"column":16},"end":{"line":641,"column":16}}]},"79":{"line":647,"type":"if","locations":[{"start":{"line":647,"column":20},"end":{"line":647,"column":20}},{"start":{"line":647,"column":20},"end":{"line":647,"column":20}}]},"80":{"line":661,"type":"binary-expr","locations":[{"start":{"line":661,"column":19},"end":{"line":661,"column":27}},{"start":{"line":661,"column":31},"end":{"line":661,"column":35}}]},"81":{"line":662,"type":"cond-expr","locations":[{"start":{"line":662,"column":44},"end":{"line":662,"column":46}},{"start":{"line":662,"column":49},"end":{"line":662,"column":51}}]},"82":{"line":667,"type":"if","locations":[{"start":{"line":667,"column":16},"end":{"line":667,"column":16}},{"start":{"line":667,"column":16},"end":{"line":667,"column":16}}]},"83":{"line":687,"type":"binary-expr","locations":[{"start":{"line":687,"column":19},"end":{"line":687,"column":27}},{"start":{"line":687,"column":31},"end":{"line":687,"column":35}}]},"84":{"line":688,"type":"cond-expr","locations":[{"start":{"line":688,"column":44},"end":{"line":688,"column":46}},{"start":{"line":688,"column":49},"end":{"line":688,"column":51}}]},"85":{"line":693,"type":"if","locations":[{"start":{"line":693,"column":16},"end":{"line":693,"column":16}},{"start":{"line":693,"column":16},"end":{"line":693,"column":16}}]},"86":{"line":707,"type":"if","locations":[{"start":{"line":707,"column":16},"end":{"line":707,"column":16}},{"start":{"line":707,"column":16},"end":{"line":707,"column":16}}]},"87":{"line":713,"type":"cond-expr","locations":[{"start":{"line":713,"column":52},"end":{"line":713,"column":75}},{"start":{"line":713,"column":77},"end":{"line":713,"column":81}}]},"88":{"line":733,"type":"binary-expr","locations":[{"start":{"line":733,"column":39},"end":{"line":733,"column":40}},{"start":{"line":733,"column":44},"end":{"line":733,"column":46}}]},"89":{"line":744,"type":"if","locations":[{"start":{"line":744,"column":8},"end":{"line":744,"column":8}},{"start":{"line":744,"column":8},"end":{"line":744,"column":8}}]},"90":{"line":746,"type":"if","locations":[{"start":{"line":746,"column":16},"end":{"line":746,"column":16}},{"start":{"line":746,"column":16},"end":{"line":746,"column":16}}]},"91":{"line":759,"type":"if","locations":[{"start":{"line":759,"column":12},"end":{"line":759,"column":12}},{"start":{"line":759,"column":12},"end":{"line":759,"column":12}}]},"92":{"line":763,"type":"if","locations":[{"start":{"line":763,"column":12},"end":{"line":763,"column":12}},{"start":{"line":763,"column":12},"end":{"line":763,"column":12}}]},"93":{"line":773,"type":"if","locations":[{"start":{"line":773,"column":8},"end":{"line":773,"column":8}},{"start":{"line":773,"column":8},"end":{"line":773,"column":8}}]},"94":{"line":775,"type":"if","locations":[{"start":{"line":775,"column":16},"end":{"line":775,"column":16}},{"start":{"line":775,"column":16},"end":{"line":775,"column":16}}]},"95":{"line":788,"type":"if","locations":[{"start":{"line":788,"column":12},"end":{"line":788,"column":12}},{"start":{"line":788,"column":12},"end":{"line":788,"column":12}}]},"96":{"line":792,"type":"if","locations":[{"start":{"line":792,"column":12},"end":{"line":792,"column":12}},{"start":{"line":792,"column":12},"end":{"line":792,"column":12}}]},"97":{"line":802,"type":"if","locations":[{"start":{"line":802,"column":8},"end":{"line":802,"column":8}},{"start":{"line":802,"column":8},"end":{"line":802,"column":8}}]},"98":{"line":805,"type":"if","locations":[{"start":{"line":805,"column":13},"end":{"line":805,"column":13}},{"start":{"line":805,"column":13},"end":{"line":805,"column":13}}]},"99":{"line":809,"type":"if","locations":[{"start":{"line":809,"column":12},"end":{"line":809,"column":12}},{"start":{"line":809,"column":12},"end":{"line":809,"column":12}}]},"100":{"line":809,"type":"binary-expr","locations":[{"start":{"line":809,"column":16},"end":{"line":809,"column":32}},{"start":{"line":809,"column":36},"end":{"line":809,"column":66}}]},"101":{"line":813,"type":"if","locations":[{"start":{"line":813,"column":12},"end":{"line":813,"column":12}},{"start":{"line":813,"column":12},"end":{"line":813,"column":12}}]},"102":{"line":816,"type":"if","locations":[{"start":{"line":816,"column":12},"end":{"line":816,"column":12}},{"start":{"line":816,"column":12},"end":{"line":816,"column":12}}]},"103":{"line":816,"type":"binary-expr","locations":[{"start":{"line":816,"column":15},"end":{"line":816,"column":32}},{"start":{"line":816,"column":36},"end":{"line":816,"column":44}}]},"104":{"line":825,"type":"binary-expr","locations":[{"start":{"line":825,"column":30},"end":{"line":825,"column":38}},{"start":{"line":825,"column":42},"end":{"line":825,"column":46}}]},"105":{"line":828,"type":"if","locations":[{"start":{"line":828,"column":16},"end":{"line":828,"column":16}},{"start":{"line":828,"column":16},"end":{"line":828,"column":16}}]},"106":{"line":834,"type":"if","locations":[{"start":{"line":834,"column":16},"end":{"line":834,"column":16}},{"start":{"line":834,"column":16},"end":{"line":834,"column":16}}]},"107":{"line":861,"type":"if","locations":[{"start":{"line":861,"column":16},"end":{"line":861,"column":16}},{"start":{"line":861,"column":16},"end":{"line":861,"column":16}}]},"108":{"line":861,"type":"binary-expr","locations":[{"start":{"line":861,"column":20},"end":{"line":861,"column":29}},{"start":{"line":861,"column":33},"end":{"line":861,"column":56}},{"start":{"line":861,"column":60},"end":{"line":861,"column":74}}]},"109":{"line":862,"type":"cond-expr","locations":[{"start":{"line":863,"column":24},"end":{"line":863,"column":50}},{"start":{"line":864,"column":24},"end":{"line":864,"column":57}}]},"110":{"line":870,"type":"if","locations":[{"start":{"line":870,"column":20},"end":{"line":870,"column":20}},{"start":{"line":870,"column":20},"end":{"line":870,"column":20}}]},"111":{"line":884,"type":"if","locations":[{"start":{"line":884,"column":20},"end":{"line":884,"column":20}},{"start":{"line":884,"column":20},"end":{"line":884,"column":20}}]},"112":{"line":903,"type":"if","locations":[{"start":{"line":903,"column":16},"end":{"line":903,"column":16}},{"start":{"line":903,"column":16},"end":{"line":903,"column":16}}]},"113":{"line":935,"type":"if","locations":[{"start":{"line":935,"column":14},"end":{"line":935,"column":14}},{"start":{"line":935,"column":14},"end":{"line":935,"column":14}}]},"114":{"line":945,"type":"if","locations":[{"start":{"line":945,"column":12},"end":{"line":945,"column":12}},{"start":{"line":945,"column":12},"end":{"line":945,"column":12}}]},"115":{"line":945,"type":"binary-expr","locations":[{"start":{"line":945,"column":16},"end":{"line":945,"column":32}},{"start":{"line":945,"column":36},"end":{"line":945,"column":66}}]},"116":{"line":949,"type":"if","locations":[{"start":{"line":949,"column":12},"end":{"line":949,"column":12}},{"start":{"line":949,"column":12},"end":{"line":949,"column":12}}]},"117":{"line":952,"type":"if","locations":[{"start":{"line":952,"column":12},"end":{"line":952,"column":12}},{"start":{"line":952,"column":12},"end":{"line":952,"column":12}}]},"118":{"line":962,"type":"cond-expr","locations":[{"start":{"line":962,"column":63},"end":{"line":962,"column":71}},{"start":{"line":962,"column":74},"end":{"line":962,"column":78}}]},"119":{"line":967,"type":"if","locations":[{"start":{"line":967,"column":16},"end":{"line":967,"column":16}},{"start":{"line":967,"column":16},"end":{"line":967,"column":16}}]},"120":{"line":997,"type":"if","locations":[{"start":{"line":997,"column":16},"end":{"line":997,"column":16}},{"start":{"line":997,"column":16},"end":{"line":997,"column":16}}]},"121":{"line":998,"type":"if","locations":[{"start":{"line":998,"column":20},"end":{"line":998,"column":20}},{"start":{"line":998,"column":20},"end":{"line":998,"column":20}}]},"122":{"line":999,"type":"if","locations":[{"start":{"line":999,"column":24},"end":{"line":999,"column":24}},{"start":{"line":999,"column":24},"end":{"line":999,"column":24}}]},"123":{"line":1003,"type":"if","locations":[{"start":{"line":1003,"column":25},"end":{"line":1003,"column":25}},{"start":{"line":1003,"column":25},"end":{"line":1003,"column":25}}]},"124":{"line":1021,"type":"binary-expr","locations":[{"start":{"line":1021,"column":17},"end":{"line":1021,"column":23}},{"start":{"line":1021,"column":27},"end":{"line":1023,"column":9}}]},"125":{"line":1028,"type":"if","locations":[{"start":{"line":1028,"column":12},"end":{"line":1028,"column":12}},{"start":{"line":1028,"column":12},"end":{"line":1028,"column":12}}]},"126":{"line":1033,"type":"if","locations":[{"start":{"line":1033,"column":17},"end":{"line":1033,"column":17}},{"start":{"line":1033,"column":17},"end":{"line":1033,"column":17}}]},"127":{"line":1055,"type":"binary-expr","locations":[{"start":{"line":1055,"column":16},"end":{"line":1055,"column":29}},{"start":{"line":1055,"column":33},"end":{"line":1055,"column":35}}]},"128":{"line":1082,"type":"if","locations":[{"start":{"line":1082,"column":12},"end":{"line":1082,"column":12}},{"start":{"line":1082,"column":12},"end":{"line":1082,"column":12}}]},"129":{"line":1116,"type":"if","locations":[{"start":{"line":1116,"column":8},"end":{"line":1116,"column":8}},{"start":{"line":1116,"column":8},"end":{"line":1116,"column":8}}]},"130":{"line":1136,"type":"binary-expr","locations":[{"start":{"line":1136,"column":29},"end":{"line":1136,"column":37}},{"start":{"line":1136,"column":41},"end":{"line":1136,"column":45}}]},"131":{"line":1139,"type":"if","locations":[{"start":{"line":1139,"column":12},"end":{"line":1139,"column":12}},{"start":{"line":1139,"column":12},"end":{"line":1139,"column":12}}]},"132":{"line":1153,"type":"if","locations":[{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}},{"start":{"line":1153,"column":16},"end":{"line":1153,"column":16}}]},"133":{"line":1170,"type":"if","locations":[{"start":{"line":1170,"column":4},"end":{"line":1170,"column":4}},{"start":{"line":1170,"column":4},"end":{"line":1170,"column":4}}]},"134":{"line":1170,"type":"binary-expr","locations":[{"start":{"line":1170,"column":8},"end":{"line":1170,"column":37}},{"start":{"line":1170,"column":41},"end":{"line":1170,"column":55}}]},"135":{"line":1174,"type":"if","locations":[{"start":{"line":1174,"column":9},"end":{"line":1174,"column":9}},{"start":{"line":1174,"column":9},"end":{"line":1174,"column":9}}]},"136":{"line":1174,"type":"binary-expr","locations":[{"start":{"line":1174,"column":13},"end":{"line":1174,"column":42}},{"start":{"line":1174,"column":46},"end":{"line":1174,"column":56}}]}}}}
\ No newline at end of file diff --git a/node_modules/async/package.json b/node_modules/async/package.json new file mode 100644 index 000000000..cc43a0539 --- /dev/null +++ b/node_modules/async/package.json @@ -0,0 +1,120 @@ +{ + "_args": [ + [ + "async@^1.2.1", + "/Users/rebecca/code/npm/node_modules/form-data" + ] + ], + "_from": "async@>=1.2.1 <2.0.0", + "_id": "async@1.2.1", + "_inCache": true, + "_location": "/async", + "_nodeVersion": "2.0.2", + "_npmUser": { + "email": "alexander.early@gmail.com", + "name": "aearly" + }, + "_npmVersion": "2.9.0", + "_phantomChildren": {}, + "_requested": { + "name": "async", + "raw": "async@^1.2.1", + "rawSpec": "^1.2.1", + "scope": null, + "spec": ">=1.2.1 <2.0.0", + "type": "range" + }, + "_requiredBy": [ + "/form-data" + ], + "_resolved": "https://registry.npmjs.org/async/-/async-1.2.1.tgz", + "_shasum": "a4816a17cd5ff516dfa2c7698a453369b9790de0", + "_shrinkwrap": null, + "_spec": "async@^1.2.1", + "_where": "/Users/rebecca/code/npm/node_modules/form-data", + "author": { + "name": "Caolan McMahon" + }, + "bugs": { + "url": "https://github.com/caolan/async/issues" + }, + "dependencies": {}, + "description": "Higher-order functions and common patterns for asynchronous code", + "devDependencies": { + "benchmark": "github:bestiejs/benchmark.js", + "coveralls": "^2.11.2", + "jshint": "~2.7.0", + "lodash": ">=2.4.1", + "mkdirp": "~0.5.1", + "nodeunit": ">0.0.0", + "nyc": "^2.1.0", + "uglify-js": "1.2.x", + "yargs": "~3.9.1" + }, + "directories": {}, + "dist": { + "shasum": "a4816a17cd5ff516dfa2c7698a453369b9790de0", + "tarball": "http://registry.npmjs.org/async/-/async-1.2.1.tgz" + }, + "gitHead": "b66e85d1cca8c8056313253f22d18f571e7001d2", + "homepage": "https://github.com/caolan/async#readme", + "jam": { + "categories": [ + "Utilities" + ], + "include": [ + "LICENSE", + "README.md", + "lib/async.js" + ], + "main": "lib/async.js" + }, + "keywords": [ + "async", + "callback", + "module", + "utility" + ], + "license": "MIT", + "main": "lib/async.js", + "maintainers": [ + { + "name": "caolan", + "email": "caolan.mcmahon@gmail.com" + }, + { + "name": "beaugunderson", + "email": "beau@beaugunderson.com" + }, + { + "name": "aearly", + "email": "alexander.early@gmail.com" + } + ], + "name": "async", + "optionalDependencies": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/caolan/async.git" + }, + "scripts": { + "coverage": "nyc npm test && nyc report", + "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls", + "lint": "jshint lib/*.js test/*.js perf/*.js", + "test": "npm run-script lint && nodeunit test/test-async.js" + }, + "spm": { + "main": "lib/async.js" + }, + "version": "1.2.1", + "volo": { + "ignore": [ + "**/.*", + "bower_components", + "node_modules", + "test", + "tests" + ], + "main": "lib/async.js" + } +} diff --git a/node_modules/async/support/sync-package-managers.js b/node_modules/async/support/sync-package-managers.js new file mode 100755 index 000000000..5b261197a --- /dev/null +++ b/node_modules/async/support/sync-package-managers.js @@ -0,0 +1,53 @@ +#!/usr/bin/env node + +// This should probably be its own module but complaints about bower/etc. +// support keep coming up and I'd rather just enable the workflow here for now +// and figure out where this should live later. -- @beaugunderson + +var fs = require('fs'); +var _ = require('lodash'); + +var packageJson = require('../package.json'); + +var IGNORES = ['**/.*', 'node_modules', 'bower_components', 'test', 'tests']; +var INCLUDES = ['lib/async.js', 'README.md', 'LICENSE']; +var REPOSITORY_NAME = 'caolan/async'; + +packageJson.jam = { + main: packageJson.main, + include: INCLUDES, + categories: ['Utilities'] +}; + +packageJson.spm = { + main: packageJson.main +}; + +packageJson.volo = { + main: packageJson.main, + ignore: IGNORES +}; + +var bowerSpecific = { + moduleType: ['amd', 'globals', 'node'], + ignore: IGNORES, + authors: [packageJson.author] +}; + +var bowerInclude = ['name', 'description', 'version', 'main', 'keywords', + 'license', 'homepage', 'repository', 'devDependencies']; + +var componentSpecific = { + repository: REPOSITORY_NAME, + scripts: [packageJson.main] +}; + +var componentInclude = ['name', 'description', 'version', 'keywords', + 'license', 'main']; + +var bowerJson = _.merge({}, _.pick(packageJson, bowerInclude), bowerSpecific); +var componentJson = _.merge({}, _.pick(packageJson, componentInclude), componentSpecific); + +fs.writeFileSync('./bower.json', JSON.stringify(bowerJson, null, 2)); +fs.writeFileSync('./component.json', JSON.stringify(componentJson, null, 2)); +fs.writeFileSync('./package.json', JSON.stringify(packageJson, null, 2)); |