[Pkg-javascript-commits] [node-arr-diff] 02/04: New upstream version 4.0.0
Julien Puydt
julien.puydt at laposte.net
Fri Nov 24 22:27:44 UTC 2017
This is an automated email from the git hooks/post-receive script.
jpuydt-guest pushed a commit to branch master
in repository node-arr-diff.
commit baaa986d00e014685f2c4b01298d3b0170217877
Author: Julien Puydt <julien.puydt at laposte.net>
Date: Fri Nov 24 23:24:23 2017 +0100
New upstream version 4.0.0
---
.editorconfig | 13 +-
.eslintrc.json | 225 +-
.gitignore | 69 +-
.travis.yml | 7 +
.verb.md | 2 +-
LICENSE | 2 +-
README.md | 99 +-
benchmark/all.md | 105 +
index.js => benchmark/code/arr-diff-3.0.0.js | 7 -
benchmark/code/{current.js => arr-diff-4.0.0.js} | 0
benchmark/code/while-arguments.js | 30 +
benchmark/code/while-splice-args.js | 27 +
benchmark/fixtures/long-dupes.js | 2945 ++++++++++++++++++++++
benchmark/fixtures/med-short.js | 1 +
benchmark/last.md | 34 +-
bower.json | 29 +-
index.js | 49 +-
package.json | 35 +-
test.js | 12 +-
19 files changed, 3356 insertions(+), 335 deletions(-)
diff --git a/.editorconfig b/.editorconfig
index 991900b..818e072 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,4 +1,3 @@
-# http://editorconfig.org
root = true
[*]
@@ -9,14 +8,6 @@ indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
-[*.md]
+[{**/{actual,fixtures,expected,templates}/**,*.md}]
trim_trailing_whitespace = false
-insert_final_newline = false
-
-[test/**]
-trim_trailing_whitespace = false
-insert_final_newline = false
-
-[templates/**]
-trim_trailing_whitespace = false
-insert_final_newline = false
+insert_final_newline = false
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
index 5b78706..948dbdb 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -3,105 +3,39 @@
"modules": true,
"experimentalObjectRestSpread": true
},
+
"env": {
"browser": false,
"es6": true,
"node": true,
"mocha": true
},
+
"globals": {
"document": false,
"navigator": false,
"window": false
},
+
"rules": {
"accessor-pairs": 2,
- "arrow-spacing": [
- 2,
- {
- "before": true,
- "after": true
- }
- ],
- "block-spacing": [
- 2,
- "always"
- ],
- "brace-style": [
- 2,
- "1tbs",
- {
- "allowSingleLine": true
- }
- ],
- "comma-dangle": [
- 2,
- "never"
- ],
- "comma-spacing": [
- 2,
- {
- "before": false,
- "after": true
- }
- ],
- "comma-style": [
- 2,
- "last"
- ],
+ "arrow-spacing": [2, { "before": true, "after": true }],
+ "block-spacing": [2, "always"],
+ "brace-style": [2, "1tbs", { "allowSingleLine": true }],
+ "comma-dangle": [2, "never"],
+ "comma-spacing": [2, { "before": false, "after": true }],
+ "comma-style": [2, "last"],
"constructor-super": 2,
- "curly": [
- 2,
- "multi-line"
- ],
- "dot-location": [
- 2,
- "property"
- ],
+ "curly": [2, "multi-line"],
+ "dot-location": [2, "property"],
"eol-last": 2,
- "eqeqeq": [
- 2,
- "allow-null"
- ],
- "generator-star-spacing": [
- 2,
- {
- "before": true,
- "after": true
- }
- ],
- "handle-callback-err": [
- 2,
- "^(err|error)$"
- ],
- "indent": [
- 2,
- 2,
- {
- "SwitchCase": 1
- }
- ],
- "key-spacing": [
- 2,
- {
- "beforeColon": false,
- "afterColon": true
- }
- ],
- "keyword-spacing": [
- 2,
- {
- "before": true,
- "after": true
- }
- ],
- "new-cap": [
- 2,
- {
- "newIsCap": true,
- "capIsNew": false
- }
- ],
+ "eqeqeq": [2, "allow-null"],
+ "generator-star-spacing": [2, { "before": true, "after": true }],
+ "handle-callback-err": [2, "^(err|error)$" ],
+ "indent": [2, 2, { "SwitchCase": 1 }],
+ "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
+ "keyword-spacing": [2, { "before": true, "after": true }],
+ "new-cap": [2, { "newIsCap": true, "capIsNew": false }],
"new-parens": 2,
"no-array-constructor": 2,
"no-caller": 2,
@@ -121,18 +55,12 @@
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-boolean-cast": 2,
- "no-extra-parens": [
- 2,
- "functions"
- ],
+ "no-extra-parens": [2, "functions"],
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-func-assign": 2,
"no-implied-eval": 2,
- "no-inner-declarations": [
- 2,
- "functions"
- ],
+ "no-inner-declarations": [2, "functions"],
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-iterator": 2,
@@ -142,12 +70,7 @@
"no-mixed-spaces-and-tabs": 2,
"no-multi-spaces": 2,
"no-multi-str": 2,
- "no-multiple-empty-lines": [
- 2,
- {
- "max": 1
- }
- ],
+ "no-multiple-empty-lines": [2, { "max": 1 }],
"no-native-reassign": 0,
"no-negated-in-lhs": 2,
"no-new": 2,
@@ -173,103 +96,27 @@
"no-undef": 2,
"no-undef-init": 2,
"no-unexpected-multiline": 2,
- "no-unneeded-ternary": [
- 2,
- {
- "defaultAssignment": false
- }
- ],
+ "no-unneeded-ternary": [2, { "defaultAssignment": false }],
"no-unreachable": 2,
- "no-unused-vars": [
- 2,
- {
- "vars": "all",
- "args": "none"
- }
- ],
+ "no-unused-vars": [2, { "vars": "all", "args": "none" }],
"no-useless-call": 0,
"no-with": 2,
- "one-var": [
- 0,
- {
- "initialized": "never"
- }
- ],
- "operator-linebreak": [
- 0,
- "after",
- {
- "overrides": {
- "?": "before",
- ":": "before"
- }
- }
- ],
- "padded-blocks": [
- 0,
- "never"
- ],
- "quotes": [
- 2,
- "single",
- "avoid-escape"
- ],
+ "one-var": [0, { "initialized": "never" }],
+ "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }],
+ "padded-blocks": [0, "never"],
+ "quotes": [2, "single", "avoid-escape"],
"radix": 2,
- "semi": [
- 2,
- "always"
- ],
- "semi-spacing": [
- 2,
- {
- "before": false,
- "after": true
- }
- ],
- "space-before-blocks": [
- 2,
- "always"
- ],
- "space-before-function-paren": [
- 2,
- "never"
- ],
- "space-in-parens": [
- 2,
- "never"
- ],
+ "semi": [2, "always"],
+ "semi-spacing": [2, { "before": false, "after": true }],
+ "space-before-blocks": [2, "always"],
+ "space-before-function-paren": [2, "never"],
+ "space-in-parens": [2, "never"],
"space-infix-ops": 2,
- "space-unary-ops": [
- 2,
- {
- "words": true,
- "nonwords": false
- }
- ],
- "spaced-comment": [
- 0,
- "always",
- {
- "markers": [
- "global",
- "globals",
- "eslint",
- "eslint-disable",
- "*package",
- "!",
- ","
- ]
- }
- ],
+ "space-unary-ops": [2, { "words": true, "nonwords": false }],
+ "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }],
"use-isnan": 2,
"valid-typeof": 2,
- "wrap-iife": [
- 2,
- "any"
- ],
- "yoda": [
- 2,
- "never"
- ]
+ "wrap-iife": [2, "any"],
+ "yoda": [2, "never"]
}
}
diff --git a/.gitignore b/.gitignore
index 096c55d..0a16ee9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,52 +1,27 @@
-# Numerous always-ignore extensions
-*.csv
-*.dat
-*.diff
-*.err
-*.gz
-*.log
-*.orig
-*.out
-*.pid
-*.rar
-*.rej
-*.seed
-*.swo
-*.swp
-*.vi
-*.yo-rc.json
-*.zip
-*~
-.ruby-version
-lib-cov
-npm-debug.log
+# always ignore files
+*.DS_Store
+*.sublime-*
-# Always-ignore dirs
-/bower_components/
-/node_modules/
-/temp/
-/tmp/
-/vendor/
-_gh_pages
+# test related, or directories generated by tests
+test/actual
+actual
+coverage
+.nyc*
-# OS or Editor folders
-*.esproj
-*.komodoproject
-.komodotools
-*.sublime-*
-._*
-.cache
-.DS_Store
-.idea
-.project
-.settings
-.tmproj
-nbproject
-Thumbs.db
+# npm
+node_modules
+npm-debug.log
-# grunt-html-validation
-validation-status.json
-validation-report.json
+# yarn
+yarn.lock
+yarn-error.log
# misc
-TODO.md
\ No newline at end of file
+_gh_pages
+_draft
+_drafts
+bower_components
+vendor
+temp
+tmp
+TODO.md
diff --git a/.travis.yml b/.travis.yml
index 7362f13..3b07618 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,16 @@
sudo: false
+os:
+ - linux
+ - osx
language: node_js
node_js:
+ - node
+ - '7'
+ - '6'
- '5'
- '4'
- '0.12'
- '0.10'
matrix:
+ allow_failures: []
fast_finish: true
diff --git a/.verb.md b/.verb.md
index 7bfdfc9..b07e2e9 100644
--- a/.verb.md
+++ b/.verb.md
@@ -20,4 +20,4 @@ This library versus [array-differ][], on {%= date() %}:
```
{%= docs("benchmark/last.md") %}
-```
\ No newline at end of file
+```
diff --git a/LICENSE b/LICENSE
index 39245ac..d734237 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2014-2016, Jon Schlinkert.
+Copyright (c) 2014-2017, Jon Schlinkert
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 114f926..961f5c3 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,22 @@
-# arr-diff [![NPM version](https://img.shields.io/npm/v/arr-diff.svg?style=flat)](https://www.npmjs.com/package/arr-diff) [![NPM downloads](https://img.shields.io/npm/dm/arr-diff.svg?style=flat)](https://npmjs.org/package/arr-diff) [![Build Status](https://img.shields.io/travis/jonschlinkert/arr-diff.svg?style=flat)](https://travis-ci.org/jonschlinkert/arr-diff)
+# arr-diff [![NPM version](https://img.shields.io/npm/v/arr-diff.svg?style=flat)](https://www.npmjs.com/package/arr-diff) [![NPM monthly downloads](https://img.shields.io/npm/dm/arr-diff.svg?style=flat)](https://npmjs.org/package/arr-diff) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/arr-diff.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/arr-diff)
-Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.
+> Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
-$ npm install arr-diff --save
+$ npm install --save arr-diff
```
-Install with [bower](http://bower.io/)
+Install with [yarn](https://yarnpkg.com):
+
+```sh
+$ yarn add arr-diff
+```
+
+Install with [bower](https://bower.io/)
```sh
$ bower install arr-diff --save
@@ -32,68 +38,93 @@ console.log(diff(a, b))
## Benchmarks
-This library versus [array-differ](https://github.com/sindresorhus/array-differ), on May 07, 2016:
+This library versus [array-differ](https://github.com/sindresorhus/array-differ), on April 14, 2017:
```
+Benchmarking: (4 of 4)
+ · long-dupes
+ · long
+ · med
+ · short
+
+# benchmark/fixtures/long-dupes.js (100804 bytes)
+ arr-diff-3.0.0 x 822 ops/sec ±0.67% (86 runs sampled)
+ arr-diff-4.0.0 x 2,141 ops/sec ±0.42% (89 runs sampled)
+ array-differ x 708 ops/sec ±0.70% (89 runs sampled)
+
+ fastest is arr-diff-4.0.0
+
# benchmark/fixtures/long.js (94529 bytes)
- current x 1,246 ops/sec ±0.98% (85 runs sampled)
- array-differ x 993 ops/sec ±1.35% (87 runs sampled)
+ arr-diff-3.0.0 x 882 ops/sec ±0.60% (87 runs sampled)
+ arr-diff-4.0.0 x 2,329 ops/sec ±0.97% (83 runs sampled)
+ array-differ x 769 ops/sec ±0.61% (90 runs sampled)
+
+ fastest is arr-diff-4.0.0
# benchmark/fixtures/med.js (708 bytes)
- current x 583,612 ops/sec ±1.24% (87 runs sampled)
- array-differ x 464,480 ops/sec ±1.42% (85 runs sampled)
+ arr-diff-3.0.0 x 856,150 ops/sec ±0.42% (89 runs sampled)
+ arr-diff-4.0.0 x 4,665,249 ops/sec ±1.06% (89 runs sampled)
+ array-differ x 653,888 ops/sec ±1.02% (86 runs sampled)
+
+ fastest is arr-diff-4.0.0
# benchmark/fixtures/short.js (60 bytes)
- current x 788,823 ops/sec ±0.95% (89 runs sampled)
- array-differ x 521,483 ops/sec ±1.65% (86 runs sampled)
+ arr-diff-3.0.0 x 3,078,467 ops/sec ±0.77% (93 runs sampled)
+ arr-diff-4.0.0 x 9,213,296 ops/sec ±0.65% (89 runs sampled)
+ array-differ x 1,337,051 ops/sec ±0.91% (92 runs sampled)
+
+ fastest is arr-diff-4.0.0
```
-## Related projects
+## About
-You might also be interested in these projects:
+### Related projects
-* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten)
-* [array-filter](https://www.npmjs.com/package/array-filter): Array#filter for older browsers. | [homepage](https://github.com/juliangruber/array-filter)
-* [array-intersection](https://www.npmjs.com/package/array-intersection): Return an array with the unique values present in _all_ given arrays using strict equality… [more](https://www.npmjs.com/package/array-intersection) | [homepage](https://github.com/jonschlinkert/array-intersection)
+* [arr-flatten](https://www.npmjs.com/package/arr-flatten): Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | [homepage](https://github.com/jonschlinkert/arr-flatten "Recursively flatten an array or arrays. This is the fastest implementation of array flatten.")
+* [array-filter](https://www.npmjs.com/package/array-filter): Array#filter for older browsers. | [homepage](https://github.com/juliangruber/array-filter "Array#filter for older browsers.")
+* [array-intersection](https://www.npmjs.com/package/array-intersection): Return an array with the unique values present in _all_ given arrays using strict equality… [more](https://github.com/jonschlinkert/array-intersection) | [homepage](https://github.com/jonschlinkert/array-intersection "Return an array with the unique values present in _all_ given arrays using strict equality for comparisons.")
-## Contributing
+### Contributing
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/arr-diff/issues/new).
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-## Building docs
+### Contributors
-Generate readme and API documentation with [verb](https://github.com/verbose/verb):
+| **Commits** | **Contributor** |
+| --- | --- |
+| 33 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 2 | [paulmillr](https://github.com/paulmillr) |
-```sh
-$ npm install verb && npm run docs
-```
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-Or, if [verb](https://github.com/verbose/verb) is installed globally:
+To generate the readme, run the following command:
```sh
-$ verb
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
-## Running tests
+### Running tests
-Install dev dependencies:
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
-$ npm install -d && npm test
+$ npm install && npm test
```
-## Author
+### Author
**Jon Schlinkert**
* [github/jonschlinkert](https://github.com/jonschlinkert)
-* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
-## License
+### License
-Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT license](https://github.com/jonschlinkert/arr-diff/blob/master/LICENSE).
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
***
-_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 07, 2016._
\ No newline at end of file
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.5.0, on April 14, 2017._
\ No newline at end of file
diff --git a/benchmark/all.md b/benchmark/all.md
new file mode 100644
index 0000000..0696f28
--- /dev/null
+++ b/benchmark/all.md
@@ -0,0 +1,105 @@
+Benchmarking: (4 of 4)
+ · long-dupes
+ · long
+ · med
+ · short
+
+# benchmark/fixtures/long-dupes.js (100804 bytes)
+ arr-diff-3.0.0 x 821 ops/sec ±0.56% (87 runs sampled)
+ arr-diff-4.0.0 x 2,007 ops/sec ±0.48% (90 runs sampled)
+ array-differ x 721 ops/sec ±0.99% (88 runs sampled)
+ filter x 682 ops/sec ±0.78% (88 runs sampled)
+ for-negative x 813 ops/sec ±0.38% (90 runs sampled)
+ for x 810 ops/sec ±0.67% (89 runs sampled)
+ forEach x 853 ops/sec ±0.84% (86 runs sampled)
+ reduce-concat x 26.76 ops/sec ±0.52% (47 runs sampled)
+ reduce-push x 849 ops/sec ±0.44% (88 runs sampled)
+ while-arguments x 868 ops/sec ±0.61% (91 runs sampled)
+ while-indexof x 831 ops/sec ±0.69% (89 runs sampled)
+ while-multi-unshift x 1,190 ops/sec ±0.34% (91 runs sampled)
+ while-multi x 838 ops/sec ±0.68% (90 runs sampled)
+ while-push x 821 ops/sec ±0.62% (89 runs sampled)
+ while-splice-args x 732 ops/sec ±0.60% (80 runs sampled)
+ while-splice-for x 840 ops/sec ±0.53% (87 runs sampled)
+ while-splice-pop-flatten x 862 ops/sec ±0.52% (87 runs sampled)
+ while-splice-pop x 841 ops/sec ±0.55% (87 runs sampled)
+ while-splice-recurse x 829 ops/sec ±0.60% (88 runs sampled)
+ while-splice x 825 ops/sec ±0.56% (86 runs sampled)
+ while-unshift x 559 ops/sec ±0.50% (87 runs sampled)
+
+ fastest is arr-diff-4.0.0
+
+# benchmark/fixtures/long.js (94529 bytes)
+ arr-diff-3.0.0 x 931 ops/sec ±0.61% (86 runs sampled)
+ arr-diff-4.0.0 x 2,297 ops/sec ±0.80% (89 runs sampled)
+ array-differ x 746 ops/sec ±0.36% (90 runs sampled)
+ filter x 793 ops/sec ±0.70% (90 runs sampled)
+ for-negative x 880 ops/sec ±1.12% (87 runs sampled)
+ for x 905 ops/sec ±0.39% (89 runs sampled)
+ forEach x 923 ops/sec ±0.66% (89 runs sampled)
+ reduce-concat x 31.71 ops/sec ±0.72% (54 runs sampled)
+ reduce-push x 900 ops/sec ±0.77% (90 runs sampled)
+ while-arguments x 900 ops/sec ±0.47% (90 runs sampled)
+ while-indexof x 909 ops/sec ±0.76% (90 runs sampled)
+ while-multi-unshift x 1,271 ops/sec ±0.86% (90 runs sampled)
+ while-multi x 903 ops/sec ±0.55% (89 runs sampled)
+ while-push x 867 ops/sec ±0.76% (89 runs sampled)
+ while-splice-args x 790 ops/sec ±0.70% (87 runs sampled)
+ while-splice-for x 947 ops/sec ±0.59% (86 runs sampled)
+ while-splice-pop-flatten x 877 ops/sec ±0.56% (86 runs sampled)
+ while-splice-pop x 914 ops/sec ±0.61% (86 runs sampled)
+ while-splice-recurse x 868 ops/sec ±0.61% (87 runs sampled)
+ while-splice x 896 ops/sec ±0.65% (84 runs sampled)
+ while-unshift x 600 ops/sec ±0.63% (87 runs sampled)
+
+ fastest is arr-diff-4.0.0
+
+# benchmark/fixtures/med.js (708 bytes)
+ arr-diff-3.0.0 x 795,709 ops/sec ±0.94% (89 runs sampled)
+ arr-diff-4.0.0 x 4,826,767 ops/sec ±0.44% (89 runs sampled)
+ array-differ x 683,324 ops/sec ±1.24% (88 runs sampled)
+ filter x 676,644 ops/sec ±1.23% (84 runs sampled)
+ for-negative x 917,980 ops/sec ±0.40% (91 runs sampled)
+ for x 965,692 ops/sec ±1.10% (90 runs sampled)
+ forEach x 913,574 ops/sec ±1.39% (88 runs sampled)
+ reduce-concat x 306,565 ops/sec ±0.62% (88 runs sampled)
+ reduce-push x 1,012,968 ops/sec ±0.51% (90 runs sampled)
+ while-arguments x 2,007,696 ops/sec ±1.01% (89 runs sampled)
+ while-indexof x 949,957 ops/sec ±1.26% (89 runs sampled)
+ while-multi-unshift x 1,621,226 ops/sec ±0.43% (88 runs sampled)
+ while-multi x 1,432,560 ops/sec ±0.96% (92 runs sampled)
+ while-push x 972,228 ops/sec ±1.12% (89 runs sampled)
+ while-splice-args x 2,076,428 ops/sec ±0.36% (89 runs sampled)
+ while-splice-for x 842,134 ops/sec ±1.04% (91 runs sampled)
+ while-splice-pop-flatten x 856,869 ops/sec ±1.25% (88 runs sampled)
+ while-splice-pop x 858,470 ops/sec ±0.44% (91 runs sampled)
+ while-splice-recurse x 845,639 ops/sec ±1.18% (91 runs sampled)
+ while-splice x 791,821 ops/sec ±1.24% (84 runs sampled)
+ while-unshift x 635,292 ops/sec ±0.45% (90 runs sampled)
+
+ fastest is arr-diff-4.0.0
+
+# benchmark/fixtures/short.js (60 bytes)
+ arr-diff-3.0.0 x 2,947,170 ops/sec ±0.61% (88 runs sampled)
+ arr-diff-4.0.0 x 8,190,896 ops/sec ±1.16% (88 runs sampled)
+ array-differ x 1,194,836 ops/sec ±1.29% (88 runs sampled)
+ filter x 1,208,078 ops/sec ±0.31% (89 runs sampled)
+ for-negative x 1,674,162 ops/sec ±1.23% (87 runs sampled)
+ for x 1,667,726 ops/sec ±1.15% (88 runs sampled)
+ forEach x 1,362,635 ops/sec ±0.52% (90 runs sampled)
+ reduce-concat x 1,030,110 ops/sec ±1.13% (90 runs sampled)
+ reduce-push x 1,417,495 ops/sec ±1.32% (91 runs sampled)
+ while-arguments x 6,613,126 ops/sec ±0.49% (89 runs sampled)
+ while-indexof x 1,516,408 ops/sec ±1.15% (90 runs sampled)
+ while-multi-unshift x 1,501,110 ops/sec ±1.48% (91 runs sampled)
+ while-multi x 1,551,854 ops/sec ±0.43% (90 runs sampled)
+ while-push x 1,590,946 ops/sec ±1.20% (92 runs sampled)
+ while-splice-args x 12,166,092 ops/sec ±0.37% (91 runs sampled)
+ while-splice-for x 2,513,350 ops/sec ±0.27% (90 runs sampled)
+ while-splice-pop-flatten x 2,419,937 ops/sec ±1.11% (89 runs sampled)
+ while-splice-pop x 1,721,225 ops/sec ±1.56% (91 runs sampled)
+ while-splice-recurse x 1,723,425 ops/sec ±0.42% (91 runs sampled)
+ while-splice x 1,454,658 ops/sec ±1.36% (86 runs sampled)
+ while-unshift x 1,516,083 ops/sec ±1.68% (89 runs sampled)
+
+ fastest is while-splice-args
\ No newline at end of file
diff --git a/index.js b/benchmark/code/arr-diff-3.0.0.js
similarity index 73%
copy from index.js
copy to benchmark/code/arr-diff-3.0.0.js
index 1c99a79..42ef295 100644
--- a/index.js
+++ b/benchmark/code/arr-diff-3.0.0.js
@@ -1,10 +1,3 @@
-/*!
- * arr-diff <https://github.com/jonschlinkert/arr-diff>
- *
- * Copyright (c) 2014-2016, Jon Schlinkert.
- * Licensed under the MIT License
- */
-
'use strict';
var flatten = require('arr-flatten');
diff --git a/benchmark/code/current.js b/benchmark/code/arr-diff-4.0.0.js
similarity index 100%
rename from benchmark/code/current.js
rename to benchmark/code/arr-diff-4.0.0.js
diff --git a/benchmark/code/while-arguments.js b/benchmark/code/while-arguments.js
new file mode 100644
index 0000000..a57fede
--- /dev/null
+++ b/benchmark/code/while-arguments.js
@@ -0,0 +1,30 @@
+'use strict';
+
+module.exports = diff;
+
+function diff(arr/*, arrays*/) {
+ var len = arguments.length;
+ var idx = 0;
+ while (++idx < len) {
+ arr = diffArray(arr, arguments[idx]);
+ }
+ return arr;
+}
+
+function diffArray(one, two) {
+ if (!Array.isArray(two)) {
+ return one.slice();
+ }
+
+ var len = one.length;
+ var idx = -1;
+ var arr = [];
+
+ while (++idx < len) {
+ var ele = one[idx];
+ if (two.indexOf(ele) === -1) {
+ arr.push(ele);
+ }
+ }
+ return arr;
+}
diff --git a/benchmark/code/while-splice-args.js b/benchmark/code/while-splice-args.js
new file mode 100644
index 0000000..7f13aa4
--- /dev/null
+++ b/benchmark/code/while-splice-args.js
@@ -0,0 +1,27 @@
+'use strict';
+
+module.exports = function(arr, arrays) {
+ for (var i = 1; i < arguments.length; i++) {
+ diff(arr, arguments[i]);
+ }
+ return arr;
+};
+
+function diff(one, two) {
+ if (!Array.isArray(two)) return;
+ var len = two.length;
+ var idx = -1;
+ while (++idx < len) {
+ remove(one, two[idx]);
+ }
+}
+
+function remove(arr, ele) {
+ var idx = arr.indexOf(ele);
+ if (idx === -1) return;
+ var item = arr.pop();
+ if (item !== ele) {
+ arr[idx] = item;
+ }
+ return remove(arr, ele);
+}
diff --git a/benchmark/fixtures/long-dupes.js b/benchmark/fixtures/long-dupes.js
new file mode 100644
index 0000000..f0ded85
--- /dev/null
+++ b/benchmark/fixtures/long-dupes.js
@@ -0,0 +1,2945 @@
+module.exports = [
+ [
+ "a/b/h/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ca/f/g/h/klmnop/foo01.js",
+ "a/e/d/f/g/h/klmnop/foo01.js",
+ "a/da/f/g/h/klmnop/foo01.js",
+ "a/cb/f/g/h/klmnop/foo01.js",
+ "a/db/f/g/h/klmnop/foo01.js",
+ "a/cc/f/g/h/klmnop/foo01.js",
+ "a/dc/f/g/h/klmnop/foo01.js",
+ "a/cd/f/g/h/klmnop/foo01.js",
+ "a/dd/f/g/h/klmnop/foo01.js",
+ "a/ce/f/g/h/klmnop/foo01.js",
+ "a/de/f/g/h/klmnop/foo01.js",
+ "a/cf/f/g/h/klmnop/foo01.js",
+ "a/df/f/g/h/klmnop/foo01.js",
+ "a/cg/f/g/h/klmnop/foo01.js",
+ "a/dg/f/g/h/klmnop/foo01.js",
+ "a/ch/f/g/h/klmnop/foo01.js",
+ "a/dh/f/g/h/klmnop/foo01.js",
+ "a/ci/f/g/h/klmnop/foo01.js",
+ "a/di/f/g/h/klmnop/foo01.js",
+ "a/cj/f/g/h/klmnop/foo01.js",
+ "a/dj/f/g/h/klmnop/foo01.js",
+ "a/b/i/klmnop/foo01.js",
+ "a/ca/f/g/i/klmnop/foo01.js",
+ "a/e/d/f/g/i/klmnop/foo01.js",
+ "a/da/f/g/i/klmnop/foo01.js",
+ "a/cb/f/g/i/klmnop/foo01.js",
+ "a/db/f/g/i/klmnop/foo01.js",
+ "a/cc/f/g/i/klmnop/foo01.js",
+ "a/dc/f/g/i/klmnop/foo01.js",
+ "a/cd/f/g/i/klmnop/foo01.js",
+ "a/dd/f/g/i/klmnop/foo01.js",
+ "a/ce/f/g/i/klmnop/foo01.js",
+ "a/de/f/g/i/klmnop/foo01.js",
+ "a/cf/f/g/i/klmnop/foo01.js",
+ "a/df/f/g/i/klmnop/foo01.js",
+ "a/cg/f/g/i/klmnop/foo01.js",
+ "a/dg/f/g/i/klmnop/foo01.js",
+ "a/ch/f/g/i/klmnop/foo01.js",
+ "a/dh/f/g/i/klmnop/foo01.js",
+ "a/ci/f/g/i/klmnop/foo01.js",
+ "a/di/f/g/i/klmnop/foo01.js",
+ "a/cj/f/g/i/klmnop/foo01.js",
+ "a/dj/f/g/i/klmnop/foo01.js",
+ "a/b/j/klmnop/foo01.js",
+ "a/ca/f/g/j/klmnop/foo01.js",
+ "a/e/d/f/g/j/klmnop/foo01.js",
+ "a/da/f/g/j/klmnop/foo01.js",
+ "a/cb/f/g/j/klmnop/foo01.js",
+ "a/db/f/g/j/klmnop/foo01.js",
+ "a/cc/f/g/j/klmnop/foo01.js",
+ "a/dc/f/g/j/klmnop/foo01.js",
+ "a/cd/f/g/j/klmnop/foo01.js",
+ "a/dd/f/g/j/klmnop/foo01.js",
+ "a/ce/f/g/j/klmnop/foo01.js",
+ "a/de/f/g/j/klmnop/foo01.js",
+ "a/cf/f/g/j/klmnop/foo01.js",
+ "a/df/f/g/j/klmnop/foo01.js",
+ "a/cg/f/g/j/klmnop/foo01.js",
+ "a/dg/f/g/j/klmnop/foo01.js",
+ "a/ch/f/g/j/klmnop/foo01.js",
+ "a/dh/f/g/j/klmnop/foo01.js",
+ "a/ci/f/g/j/klmnop/foo01.js",
+ "a/di/f/g/j/klmnop/foo01.js",
+ "a/cj/f/g/j/klmnop/foo01.js",
+ "a/dj/f/g/j/klmnop/foo01.js",
+ "a/b/h/klmnop/foo02.js",
+ "a/ca/f/g/h/klmnop/foo02.js",
+ "a/e/d/f/g/h/klmnop/foo02.js",
+ "a/da/f/g/h/klmnop/foo02.js",
+ "a/cb/f/g/h/klmnop/foo02.js",
+ "a/db/f/g/h/klmnop/foo02.js",
+ "a/cc/f/g/h/klmnop/foo02.js",
+ "a/dc/f/g/h/klmnop/foo02.js",
+ "a/cd/f/g/h/klmnop/foo02.js",
+ "a/dd/f/g/h/klmnop/foo02.js",
+ "a/ce/f/g/h/klmnop/foo02.js",
+ "a/de/f/g/h/klmnop/foo02.js",
+ "a/cf/f/g/h/klmnop/foo02.js",
+ "a/df/f/g/h/klmnop/foo02.js",
+ "a/cg/f/g/h/klmnop/foo02.js",
+ "a/dg/f/g/h/klmnop/foo02.js",
+ "a/ch/f/g/h/klmnop/foo02.js",
+ "a/dh/f/g/h/klmnop/foo02.js",
+ "a/ci/f/g/h/klmnop/foo02.js",
+ "a/di/f/g/h/klmnop/foo02.js",
+ "a/cj/f/g/h/klmnop/foo02.js",
+ "a/dj/f/g/h/klmnop/foo02.js",
+ "a/b/i/klmnop/foo02.js",
+ "a/ca/f/g/i/klmnop/foo02.js",
+ "a/e/d/f/g/i/klmnop/foo02.js",
+ "a/da/f/g/i/klmnop/foo02.js",
+ "a/cb/f/g/i/klmnop/foo02.js",
+ "a/db/f/g/i/klmnop/foo02.js",
+ "a/cc/f/g/i/klmnop/foo02.js",
+ "a/dc/f/g/i/klmnop/foo02.js",
+ "a/cd/f/g/i/klmnop/foo02.js",
+ "a/dd/f/g/i/klmnop/foo02.js",
+ "a/ce/f/g/i/klmnop/foo02.js",
+ "a/de/f/g/i/klmnop/foo02.js",
+ "a/cf/f/g/i/klmnop/foo02.js",
+ "a/df/f/g/i/klmnop/foo02.js",
+ "a/cg/f/g/i/klmnop/foo02.js",
+ "a/dg/f/g/i/klmnop/foo02.js",
+ "a/ch/f/g/i/klmnop/foo02.js",
+ "a/dh/f/g/i/klmnop/foo02.js",
+ "a/ci/f/g/i/klmnop/foo02.js",
+ "a/di/f/g/i/klmnop/foo02.js",
+ "a/cj/f/g/i/klmnop/foo02.js",
+ "a/dj/f/g/i/klmnop/foo02.js",
+ "a/b/j/klmnop/foo02.js",
+ "a/ca/f/g/j/klmnop/foo02.js",
+ "a/e/d/f/g/j/klmnop/foo02.js",
+ "a/da/f/g/j/klmnop/foo02.js",
+ "a/cb/f/g/j/klmnop/foo02.js",
+ "a/db/f/g/j/klmnop/foo02.js",
+ "a/cc/f/g/j/klmnop/foo02.js",
+ "a/dc/f/g/j/klmnop/foo02.js",
+ "a/cd/f/g/j/klmnop/foo02.js",
+ "a/dd/f/g/j/klmnop/foo02.js",
+ "a/ce/f/g/j/klmnop/foo02.js",
+ "a/de/f/g/j/klmnop/foo02.js",
+ "a/cf/f/g/j/klmnop/foo02.js",
+ "a/df/f/g/j/klmnop/foo02.js",
+ "a/cg/f/g/j/klmnop/foo02.js",
+ "a/dg/f/g/j/klmnop/foo02.js",
+ "a/ch/f/g/j/klmnop/foo02.js",
+ "a/dh/f/g/j/klmnop/foo02.js",
+ "a/ci/f/g/j/klmnop/foo02.js",
+ "a/di/f/g/j/klmnop/foo02.js",
+ "a/cj/f/g/j/klmnop/foo02.js",
+ "a/dj/f/g/j/klmnop/foo02.js",
+ "a/b/h/klmnop/foo03.js",
+ "a/ca/f/g/h/klmnop/foo03.js",
+ "a/e/d/f/g/h/klmnop/foo03.js",
+ "a/da/f/g/h/klmnop/foo03.js",
+ "a/cb/f/g/h/klmnop/foo03.js",
+ "a/db/f/g/h/klmnop/foo03.js",
+ "a/cc/f/g/h/klmnop/foo03.js",
+ "a/dc/f/g/h/klmnop/foo03.js",
+ "a/cd/f/g/h/klmnop/foo03.js",
+ "a/dd/f/g/h/klmnop/foo03.js",
+ "a/ce/f/g/h/klmnop/foo03.js",
+ "a/de/f/g/h/klmnop/foo03.js",
+ "a/cf/f/g/h/klmnop/foo03.js",
+ "a/df/f/g/h/klmnop/foo03.js",
+ "a/cg/f/g/h/klmnop/foo03.js",
+ "a/dg/f/g/h/klmnop/foo03.js",
+ "a/ch/f/g/h/klmnop/foo03.js",
+ "a/dh/f/g/h/klmnop/foo03.js",
+ "a/ci/f/g/h/klmnop/foo03.js",
+ "a/di/f/g/h/klmnop/foo03.js",
+ "a/cj/f/g/h/klmnop/foo03.js",
+ "a/dj/f/g/h/klmnop/foo03.js",
+ "a/b/i/klmnop/foo03.js",
+ "a/ca/f/g/i/klmnop/foo03.js",
+ "a/e/d/f/g/i/klmnop/foo03.js",
+ "a/da/f/g/i/klmnop/foo03.js",
+ "a/cb/f/g/i/klmnop/foo03.js",
+ "a/db/f/g/i/klmnop/foo03.js",
+ "a/cc/f/g/i/klmnop/foo03.js",
+ "a/dc/f/g/i/klmnop/foo03.js",
+ "a/cd/f/g/i/klmnop/foo03.js",
+ "a/dd/f/g/i/klmnop/foo03.js",
+ "a/ce/f/g/i/klmnop/foo03.js",
+ "a/de/f/g/i/klmnop/foo03.js",
+ "a/cf/f/g/i/klmnop/foo03.js",
+ "a/df/f/g/i/klmnop/foo03.js",
+ "a/cg/f/g/i/klmnop/foo03.js",
+ "a/dg/f/g/i/klmnop/foo03.js",
+ "a/ch/f/g/i/klmnop/foo03.js",
+ "a/dh/f/g/i/klmnop/foo03.js",
+ "a/ci/f/g/i/klmnop/foo03.js",
+ "a/di/f/g/i/klmnop/foo03.js",
+ "a/cj/f/g/i/klmnop/foo03.js",
+ "a/dj/f/g/i/klmnop/foo03.js",
+ "a/b/j/klmnop/foo03.js",
+ "a/ca/f/g/j/klmnop/foo03.js",
+ "a/e/d/f/g/j/klmnop/foo03.js",
+ "a/da/f/g/j/klmnop/foo03.js",
+ "a/cb/f/g/j/klmnop/foo03.js",
+ "a/db/f/g/j/klmnop/foo03.js",
+ "a/cc/f/g/j/klmnop/foo03.js",
+ "a/dc/f/g/j/klmnop/foo03.js",
+ "a/cd/f/g/j/klmnop/foo03.js",
+ "a/dd/f/g/j/klmnop/foo03.js",
+ "a/ce/f/g/j/klmnop/foo03.js",
+ "a/de/f/g/j/klmnop/foo03.js",
+ "a/cf/f/g/j/klmnop/foo03.js",
+ "a/df/f/g/j/klmnop/foo03.js",
+ "a/cg/f/g/j/klmnop/foo03.js",
+ "a/dg/f/g/j/klmnop/foo03.js",
+ "a/ch/f/g/j/klmnop/foo03.js",
+ "a/dh/f/g/j/klmnop/foo03.js",
+ "a/ci/f/g/j/klmnop/foo03.js",
+ "a/di/f/g/j/klmnop/foo03.js",
+ "a/cj/f/g/j/klmnop/foo03.js",
+ "a/dj/f/g/j/klmnop/foo03.js",
+ "a/b/h/klmnop/foo04.js",
+ "a/ca/f/g/h/klmnop/foo04.js",
+ "a/e/d/f/g/h/klmnop/foo04.js",
+ "a/da/f/g/h/klmnop/foo04.js",
+ "a/cb/f/g/h/klmnop/foo04.js",
+ "a/db/f/g/h/klmnop/foo04.js",
+ "a/cc/f/g/h/klmnop/foo04.js",
+ "a/dc/f/g/h/klmnop/foo04.js",
+ "a/cd/f/g/h/klmnop/foo04.js",
+ "a/dd/f/g/h/klmnop/foo04.js",
+ "a/ce/f/g/h/klmnop/foo04.js",
+ "a/de/f/g/h/klmnop/foo04.js",
+ "a/cf/f/g/h/klmnop/foo04.js",
+ "a/df/f/g/h/klmnop/foo04.js",
+ "a/cg/f/g/h/klmnop/foo04.js",
+ "a/dg/f/g/h/klmnop/foo04.js",
+ "a/ch/f/g/h/klmnop/foo04.js",
+ "a/dh/f/g/h/klmnop/foo04.js",
+ "a/ci/f/g/h/klmnop/foo04.js",
+ "a/di/f/g/h/klmnop/foo04.js",
+ "a/cj/f/g/h/klmnop/foo04.js",
+ "a/dj/f/g/h/klmnop/foo04.js",
+ "a/b/i/klmnop/foo04.js",
+ "a/ca/f/g/i/klmnop/foo04.js",
+ "a/e/d/f/g/i/klmnop/foo04.js",
+ "a/da/f/g/i/klmnop/foo04.js",
+ "a/cb/f/g/i/klmnop/foo04.js",
+ "a/db/f/g/i/klmnop/foo04.js",
+ "a/cc/f/g/i/klmnop/foo04.js",
+ "a/dc/f/g/i/klmnop/foo04.js",
+ "a/cd/f/g/i/klmnop/foo04.js",
+ "a/dd/f/g/i/klmnop/foo04.js",
+ "a/ce/f/g/i/klmnop/foo04.js",
+ "a/de/f/g/i/klmnop/foo04.js",
+ "a/cf/f/g/i/klmnop/foo04.js",
+ "a/df/f/g/i/klmnop/foo04.js",
+ "a/cg/f/g/i/klmnop/foo04.js",
+ "a/dg/f/g/i/klmnop/foo04.js",
+ "a/ch/f/g/i/klmnop/foo04.js",
+ "a/dh/f/g/i/klmnop/foo04.js",
+ "a/ci/f/g/i/klmnop/foo04.js",
+ "a/di/f/g/i/klmnop/foo04.js",
+ "a/cj/f/g/i/klmnop/foo04.js",
+ "a/dj/f/g/i/klmnop/foo04.js",
+ "a/b/j/klmnop/foo04.js",
+ "a/ca/f/g/j/klmnop/foo04.js",
+ "a/e/d/f/g/j/klmnop/foo04.js",
+ "a/da/f/g/j/klmnop/foo04.js",
+ "a/cb/f/g/j/klmnop/foo04.js",
+ "a/db/f/g/j/klmnop/foo04.js",
+ "a/cc/f/g/j/klmnop/foo04.js",
+ "a/dc/f/g/j/klmnop/foo04.js",
+ "a/cd/f/g/j/klmnop/foo04.js",
+ "a/dd/f/g/j/klmnop/foo04.js",
+ "a/ce/f/g/j/klmnop/foo04.js",
+ "a/de/f/g/j/klmnop/foo04.js",
+ "a/cf/f/g/j/klmnop/foo04.js",
+ "a/df/f/g/j/klmnop/foo04.js",
+ "a/cg/f/g/j/klmnop/foo04.js",
+ "a/dg/f/g/j/klmnop/foo04.js",
+ "a/ch/f/g/j/klmnop/foo04.js",
+ "a/dh/f/g/j/klmnop/foo04.js",
+ "a/ci/f/g/j/klmnop/foo04.js",
+ "a/di/f/g/j/klmnop/foo04.js",
+ "a/cj/f/g/j/klmnop/foo04.js",
+ "a/dj/f/g/j/klmnop/foo04.js",
+ "a/b/h/klmnop/foo05.js",
+ "a/ca/f/g/h/klmnop/foo05.js",
+ "a/e/d/f/g/h/klmnop/foo05.js",
+ "a/da/f/g/h/klmnop/foo05.js",
+ "a/cb/f/g/h/klmnop/foo05.js",
+ "a/db/f/g/h/klmnop/foo05.js",
+ "a/cc/f/g/h/klmnop/foo05.js",
+ "a/dc/f/g/h/klmnop/foo05.js",
+ "a/cd/f/g/h/klmnop/foo05.js",
+ "a/dd/f/g/h/klmnop/foo05.js",
+ "a/ce/f/g/h/klmnop/foo05.js",
+ "a/de/f/g/h/klmnop/foo05.js",
+ "a/cf/f/g/h/klmnop/foo05.js",
+ "a/df/f/g/h/klmnop/foo05.js",
+ "a/cg/f/g/h/klmnop/foo05.js",
+ "a/dg/f/g/h/klmnop/foo05.js",
+ "a/ch/f/g/h/klmnop/foo05.js",
+ "a/dh/f/g/h/klmnop/foo05.js",
+ "a/ci/f/g/h/klmnop/foo05.js",
+ "a/di/f/g/h/klmnop/foo05.js",
+ "a/cj/f/g/h/klmnop/foo05.js",
+ "a/dj/f/g/h/klmnop/foo05.js",
+ "a/b/i/klmnop/foo05.js",
+ "a/ca/f/g/i/klmnop/foo05.js",
+ "a/e/d/f/g/i/klmnop/foo05.js",
+ "a/da/f/g/i/klmnop/foo05.js",
+ "a/cb/f/g/i/klmnop/foo05.js",
+ "a/db/f/g/i/klmnop/foo05.js",
+ "a/cc/f/g/i/klmnop/foo05.js",
+ "a/dc/f/g/i/klmnop/foo05.js",
+ "a/cd/f/g/i/klmnop/foo05.js",
+ "a/dd/f/g/i/klmnop/foo05.js",
+ "a/ce/f/g/i/klmnop/foo05.js",
+ "a/de/f/g/i/klmnop/foo05.js",
+ "a/cf/f/g/i/klmnop/foo05.js",
+ "a/df/f/g/i/klmnop/foo05.js",
+ "a/cg/f/g/i/klmnop/foo05.js",
+ "a/dg/f/g/i/klmnop/foo05.js",
+ "a/ch/f/g/i/klmnop/foo05.js",
+ "a/dh/f/g/i/klmnop/foo05.js",
+ "a/ci/f/g/i/klmnop/foo05.js",
+ "a/di/f/g/i/klmnop/foo05.js",
+ "a/cj/f/g/i/klmnop/foo05.js",
+ "a/dj/f/g/i/klmnop/foo05.js",
+ "a/b/j/klmnop/foo05.js",
+ "a/ca/f/g/j/klmnop/foo05.js",
+ "a/e/d/f/g/j/klmnop/foo05.js",
+ "a/da/f/g/j/klmnop/foo05.js",
+ "a/cb/f/g/j/klmnop/foo05.js",
+ "a/db/f/g/j/klmnop/foo05.js",
+ "a/cc/f/g/j/klmnop/foo05.js",
+ "a/dc/f/g/j/klmnop/foo05.js",
+ "a/cd/f/g/j/klmnop/foo05.js",
+ "a/dd/f/g/j/klmnop/foo05.js",
+ "a/ce/f/g/j/klmnop/foo05.js",
+ "a/de/f/g/j/klmnop/foo05.js",
+ "a/cf/f/g/j/klmnop/foo05.js",
+ "a/df/f/g/j/klmnop/foo05.js",
+ "a/cg/f/g/j/klmnop/foo05.js",
+ "a/dg/f/g/j/klmnop/foo05.js",
+ "a/ch/f/g/j/klmnop/foo05.js",
+ "a/dh/f/g/j/klmnop/foo05.js",
+ "a/ci/f/g/j/klmnop/foo05.js",
+ "a/di/f/g/j/klmnop/foo05.js",
+ "a/cj/f/g/j/klmnop/foo05.js",
+ "a/dj/f/g/j/klmnop/foo05.js",
+ "a/b/h/klmnop/foo06.js",
+ "a/ca/f/g/h/klmnop/foo06.js",
+ "a/e/d/f/g/h/klmnop/foo06.js",
+ "a/da/f/g/h/klmnop/foo06.js",
+ "a/cb/f/g/h/klmnop/foo06.js",
+ "a/db/f/g/h/klmnop/foo06.js",
+ "a/cc/f/g/h/klmnop/foo06.js",
+ "a/dc/f/g/h/klmnop/foo06.js",
+ "a/cd/f/g/h/klmnop/foo06.js",
+ "a/dd/f/g/h/klmnop/foo06.js",
+ "a/ce/f/g/h/klmnop/foo06.js",
+ "a/de/f/g/h/klmnop/foo06.js",
+ "a/cf/f/g/h/klmnop/foo06.js",
+ "a/df/f/g/h/klmnop/foo06.js",
+ "a/cg/f/g/h/klmnop/foo06.js",
+ "a/dg/f/g/h/klmnop/foo06.js",
+ "a/ch/f/g/h/klmnop/foo06.js",
+ "a/dh/f/g/h/klmnop/foo06.js",
+ "a/ci/f/g/h/klmnop/foo06.js",
+ "a/di/f/g/h/klmnop/foo06.js",
+ "a/cj/f/g/h/klmnop/foo06.js",
+ "a/dj/f/g/h/klmnop/foo06.js",
+ "a/b/i/klmnop/foo06.js",
+ "a/ca/f/g/i/klmnop/foo06.js",
+ "a/e/d/f/g/i/klmnop/foo06.js",
+ "a/da/f/g/i/klmnop/foo06.js",
+ "a/cb/f/g/i/klmnop/foo06.js",
+ "a/db/f/g/i/klmnop/foo06.js",
+ "a/cc/f/g/i/klmnop/foo06.js",
+ "a/dc/f/g/i/klmnop/foo06.js",
+ "a/cd/f/g/i/klmnop/foo06.js",
+ "a/dd/f/g/i/klmnop/foo06.js",
+ "a/ce/f/g/i/klmnop/foo06.js",
+ "a/de/f/g/i/klmnop/foo06.js",
+ "a/cf/f/g/i/klmnop/foo06.js",
+ "a/df/f/g/i/klmnop/foo06.js",
+ "a/cg/f/g/i/klmnop/foo06.js",
+ "a/dg/f/g/i/klmnop/foo06.js",
+ "a/ch/f/g/i/klmnop/foo06.js",
+ "a/dh/f/g/i/klmnop/foo06.js",
+ "a/ci/f/g/i/klmnop/foo06.js",
+ "a/di/f/g/i/klmnop/foo06.js",
+ "a/cj/f/g/i/klmnop/foo06.js",
+ "a/dj/f/g/i/klmnop/foo06.js",
+ "a/b/j/klmnop/foo06.js",
+ "a/ca/f/g/j/klmnop/foo06.js",
+ "a/e/d/f/g/j/klmnop/foo06.js",
+ "a/da/f/g/j/klmnop/foo06.js",
+ "a/cb/f/g/j/klmnop/foo06.js",
+ "a/db/f/g/j/klmnop/foo06.js",
+ "a/cc/f/g/j/klmnop/foo06.js",
+ "a/dc/f/g/j/klmnop/foo06.js",
+ "a/cd/f/g/j/klmnop/foo06.js",
+ "a/dd/f/g/j/klmnop/foo06.js",
+ "a/ce/f/g/j/klmnop/foo06.js",
+ "a/de/f/g/j/klmnop/foo06.js",
+ "a/cf/f/g/j/klmnop/foo06.js",
+ "a/df/f/g/j/klmnop/foo06.js",
+ "a/cg/f/g/j/klmnop/foo06.js",
+ "a/dg/f/g/j/klmnop/foo06.js",
+ "a/ch/f/g/j/klmnop/foo06.js",
+ "a/dh/f/g/j/klmnop/foo06.js",
+ "a/ci/f/g/j/klmnop/foo06.js",
+ "a/di/f/g/j/klmnop/foo06.js",
+ "a/cj/f/g/j/klmnop/foo06.js",
+ "a/dj/f/g/j/klmnop/foo06.js",
+ "a/b/h/klmnop/foo07.js",
+ "a/ca/f/g/h/klmnop/foo07.js",
+ "a/e/d/f/g/h/klmnop/foo07.js",
+ "a/da/f/g/h/klmnop/foo07.js",
+ "a/cb/f/g/h/klmnop/foo07.js",
+ "a/db/f/g/h/klmnop/foo07.js",
+ "a/cc/f/g/h/klmnop/foo07.js",
+ "a/dc/f/g/h/klmnop/foo07.js",
+ "a/cd/f/g/h/klmnop/foo07.js",
+ "a/dd/f/g/h/klmnop/foo07.js",
+ "a/ce/f/g/h/klmnop/foo07.js",
+ "a/de/f/g/h/klmnop/foo07.js",
+ "a/cf/f/g/h/klmnop/foo07.js",
+ "a/df/f/g/h/klmnop/foo07.js",
+ "a/cg/f/g/h/klmnop/foo07.js",
+ "a/dg/f/g/h/klmnop/foo07.js",
+ "a/ch/f/g/h/klmnop/foo07.js",
+ "a/dh/f/g/h/klmnop/foo07.js",
+ "a/ci/f/g/h/klmnop/foo07.js",
+ "a/di/f/g/h/klmnop/foo07.js",
+ "a/cj/f/g/h/klmnop/foo07.js",
+ "a/dj/f/g/h/klmnop/foo07.js",
+ "a/b/i/klmnop/foo07.js",
+ "a/ca/f/g/i/klmnop/foo07.js",
+ "a/e/d/f/g/i/klmnop/foo07.js",
+ "a/da/f/g/i/klmnop/foo07.js",
+ "a/cb/f/g/i/klmnop/foo07.js",
+ "a/db/f/g/i/klmnop/foo07.js",
+ "a/cc/f/g/i/klmnop/foo07.js",
+ "a/dc/f/g/i/klmnop/foo07.js",
+ "a/cd/f/g/i/klmnop/foo07.js",
+ "a/dd/f/g/i/klmnop/foo07.js",
+ "a/ce/f/g/i/klmnop/foo07.js",
+ "a/de/f/g/i/klmnop/foo07.js",
+ "a/cf/f/g/i/klmnop/foo07.js",
+ "a/df/f/g/i/klmnop/foo07.js",
+ "a/cg/f/g/i/klmnop/foo07.js",
+ "a/dg/f/g/i/klmnop/foo07.js",
+ "a/ch/f/g/i/klmnop/foo07.js",
+ "a/dh/f/g/i/klmnop/foo07.js",
+ "a/ci/f/g/i/klmnop/foo07.js",
+ "a/di/f/g/i/klmnop/foo07.js",
+ "a/cj/f/g/i/klmnop/foo07.js",
+ "a/dj/f/g/i/klmnop/foo07.js",
+ "a/b/j/klmnop/foo07.js",
+ "a/ca/f/g/j/klmnop/foo07.js",
+ "a/e/d/f/g/j/klmnop/foo07.js",
+ "a/da/f/g/j/klmnop/foo07.js",
+ "a/cb/f/g/j/klmnop/foo07.js",
+ "a/db/f/g/j/klmnop/foo07.js",
+ "a/cc/f/g/j/klmnop/foo07.js",
+ "a/dc/f/g/j/klmnop/foo07.js",
+ "a/cd/f/g/j/klmnop/foo07.js",
+ "a/dd/f/g/j/klmnop/foo07.js",
+ "a/ce/f/g/j/klmnop/foo07.js",
+ "a/de/f/g/j/klmnop/foo07.js",
+ "a/cf/f/g/j/klmnop/foo07.js",
+ "a/df/f/g/j/klmnop/foo07.js",
+ "a/cg/f/g/j/klmnop/foo07.js",
+ "a/dg/f/g/j/klmnop/foo07.js",
+ "a/ch/f/g/j/klmnop/foo07.js",
+ "a/dh/f/g/j/klmnop/foo07.js",
+ "a/ci/f/g/j/klmnop/foo07.js",
+ "a/di/f/g/j/klmnop/foo07.js",
+ "a/cj/f/g/j/klmnop/foo07.js",
+ "a/dj/f/g/j/klmnop/foo07.js",
+ "a/b/h/klmnop/foo08.js",
+ "a/ca/f/g/h/klmnop/foo08.js",
+ "a/e/d/f/g/h/klmnop/foo08.js",
+ "a/da/f/g/h/klmnop/foo08.js",
+ "a/cb/f/g/h/klmnop/foo08.js",
+ "a/db/f/g/h/klmnop/foo08.js",
+ "a/cc/f/g/h/klmnop/foo08.js",
+ "a/dc/f/g/h/klmnop/foo08.js",
+ "a/cd/f/g/h/klmnop/foo08.js",
+ "a/dd/f/g/h/klmnop/foo08.js",
+ "a/ce/f/g/h/klmnop/foo08.js",
+ "a/de/f/g/h/klmnop/foo08.js",
+ "a/cf/f/g/h/klmnop/foo08.js",
+ "a/df/f/g/h/klmnop/foo08.js",
+ "a/cg/f/g/h/klmnop/foo08.js",
+ "a/dg/f/g/h/klmnop/foo08.js",
+ "a/ch/f/g/h/klmnop/foo08.js",
+ "a/dh/f/g/h/klmnop/foo08.js",
+ "a/ci/f/g/h/klmnop/foo08.js",
+ "a/di/f/g/h/klmnop/foo08.js",
+ "a/cj/f/g/h/klmnop/foo08.js",
+ "a/dj/f/g/h/klmnop/foo08.js",
+ "a/b/i/klmnop/foo08.js",
+ "a/ca/f/g/i/klmnop/foo08.js",
+ "a/e/d/f/g/i/klmnop/foo08.js",
+ "a/da/f/g/i/klmnop/foo08.js",
+ "a/cb/f/g/i/klmnop/foo08.js",
+ "a/db/f/g/i/klmnop/foo08.js",
+ "a/cc/f/g/i/klmnop/foo08.js",
+ "a/dc/f/g/i/klmnop/foo08.js",
+ "a/cd/f/g/i/klmnop/foo08.js",
+ "a/dd/f/g/i/klmnop/foo08.js",
+ "a/ce/f/g/i/klmnop/foo08.js",
+ "a/de/f/g/i/klmnop/foo08.js",
+ "a/cf/f/g/i/klmnop/foo08.js",
+ "a/df/f/g/i/klmnop/foo08.js",
+ "a/cg/f/g/i/klmnop/foo08.js",
+ "a/dg/f/g/i/klmnop/foo08.js",
+ "a/ch/f/g/i/klmnop/foo08.js",
+ "a/dh/f/g/i/klmnop/foo08.js",
+ "a/ci/f/g/i/klmnop/foo08.js",
+ "a/di/f/g/i/klmnop/foo08.js",
+ "a/cj/f/g/i/klmnop/foo08.js",
+ "a/dj/f/g/i/klmnop/foo08.js",
+ "a/b/j/klmnop/foo08.js",
+ "a/ca/f/g/j/klmnop/foo08.js",
+ "a/e/d/f/g/j/klmnop/foo08.js",
+ "a/da/f/g/j/klmnop/foo08.js",
+ "a/cb/f/g/j/klmnop/foo08.js",
+ "a/db/f/g/j/klmnop/foo08.js",
+ "a/cc/f/g/j/klmnop/foo08.js",
+ "a/dc/f/g/j/klmnop/foo08.js",
+ "a/cd/f/g/j/klmnop/foo08.js",
+ "a/dd/f/g/j/klmnop/foo08.js",
+ "a/ce/f/g/j/klmnop/foo08.js",
+ "a/de/f/g/j/klmnop/foo08.js",
+ "a/cf/f/g/j/klmnop/foo08.js",
+ "a/df/f/g/j/klmnop/foo08.js",
+ "a/cg/f/g/j/klmnop/foo08.js",
+ "a/dg/f/g/j/klmnop/foo08.js",
+ "a/ch/f/g/j/klmnop/foo08.js",
+ "a/dh/f/g/j/klmnop/foo08.js",
+ "a/ci/f/g/j/klmnop/foo08.js",
+ "a/di/f/g/j/klmnop/foo08.js",
+ "a/cj/f/g/j/klmnop/foo08.js",
+ "a/dj/f/g/j/klmnop/foo08.js",
+ "a/b/h/klmnop/foo09.js",
+ "a/ca/f/g/h/klmnop/foo09.js",
+ "a/e/d/f/g/h/klmnop/foo09.js",
+ "a/da/f/g/h/klmnop/foo09.js",
+ "a/cb/f/g/h/klmnop/foo09.js",
+ "a/db/f/g/h/klmnop/foo09.js",
+ "a/cc/f/g/h/klmnop/foo09.js",
+ "a/dc/f/g/h/klmnop/foo09.js",
+ "a/cd/f/g/h/klmnop/foo09.js",
+ "a/dd/f/g/h/klmnop/foo09.js",
+ "a/ce/f/g/h/klmnop/foo09.js",
+ "a/de/f/g/h/klmnop/foo09.js",
+ "a/cf/f/g/h/klmnop/foo09.js",
+ "a/df/f/g/h/klmnop/foo09.js",
+ "a/cg/f/g/h/klmnop/foo09.js",
+ "a/dg/f/g/h/klmnop/foo09.js",
+ "a/ch/f/g/h/klmnop/foo09.js",
+ "a/dh/f/g/h/klmnop/foo09.js",
+ "a/ci/f/g/h/klmnop/foo09.js",
+ "a/di/f/g/h/klmnop/foo09.js",
+ "a/cj/f/g/h/klmnop/foo09.js",
+ "a/dj/f/g/h/klmnop/foo09.js",
+ "a/b/i/klmnop/foo09.js",
+ "a/ca/f/g/i/klmnop/foo09.js",
+ "a/e/d/f/g/i/klmnop/foo09.js",
+ "a/da/f/g/i/klmnop/foo09.js",
+ "a/cb/f/g/i/klmnop/foo09.js",
+ "a/db/f/g/i/klmnop/foo09.js",
+ "a/cc/f/g/i/klmnop/foo09.js",
+ "a/dc/f/g/i/klmnop/foo09.js",
+ "a/cd/f/g/i/klmnop/foo09.js",
+ "a/dd/f/g/i/klmnop/foo09.js",
+ "a/ce/f/g/i/klmnop/foo09.js",
+ "a/de/f/g/i/klmnop/foo09.js",
+ "a/cf/f/g/i/klmnop/foo09.js",
+ "a/df/f/g/i/klmnop/foo09.js",
+ "a/cg/f/g/i/klmnop/foo09.js",
+ "a/dg/f/g/i/klmnop/foo09.js",
+ "a/ch/f/g/i/klmnop/foo09.js",
+ "a/dh/f/g/i/klmnop/foo09.js",
+ "a/ci/f/g/i/klmnop/foo09.js",
+ "a/di/f/g/i/klmnop/foo09.js",
+ "a/cj/f/g/i/klmnop/foo09.js",
+ "a/dj/f/g/i/klmnop/foo09.js",
+ "a/b/j/klmnop/foo09.js",
+ "a/ca/f/g/j/klmnop/foo09.js",
+ "a/e/d/f/g/j/klmnop/foo09.js",
+ "a/da/f/g/j/klmnop/foo09.js",
+ "a/cb/f/g/j/klmnop/foo09.js",
+ "a/db/f/g/j/klmnop/foo09.js",
+ "a/cc/f/g/j/klmnop/foo09.js",
+ "a/dc/f/g/j/klmnop/foo09.js",
+ "a/cd/f/g/j/klmnop/foo09.js",
+ "a/dd/f/g/j/klmnop/foo09.js",
+ "a/ce/f/g/j/klmnop/foo09.js",
+ "a/de/f/g/j/klmnop/foo09.js",
+ "a/cf/f/g/j/klmnop/foo09.js",
+ "a/df/f/g/j/klmnop/foo09.js",
+ "a/cg/f/g/j/klmnop/foo09.js",
+ "a/dg/f/g/j/klmnop/foo09.js",
+ "a/ch/f/g/j/klmnop/foo09.js",
+ "a/dh/f/g/j/klmnop/foo09.js",
+ "a/ci/f/g/j/klmnop/foo09.js",
+ "a/di/f/g/j/klmnop/foo09.js",
+ "a/cj/f/g/j/klmnop/foo09.js",
+ "a/dj/f/g/j/klmnop/foo09.js",
+ "a/b/h/klmnop/foo10.js",
+ "a/ca/f/g/h/klmnop/foo10.js",
+ "a/e/d/f/g/h/klmnop/foo10.js",
+ "a/da/f/g/h/klmnop/foo10.js",
+ "a/cb/f/g/h/klmnop/foo10.js",
+ "a/db/f/g/h/klmnop/foo10.js",
+ "a/cc/f/g/h/klmnop/foo10.js",
+ "a/dc/f/g/h/klmnop/foo10.js",
+ "a/cd/f/g/h/klmnop/foo10.js",
+ "a/dd/f/g/h/klmnop/foo10.js",
+ "a/ce/f/g/h/klmnop/foo10.js",
+ "a/de/f/g/h/klmnop/foo10.js",
+ "a/cf/f/g/h/klmnop/foo10.js",
+ "a/df/f/g/h/klmnop/foo10.js",
+ "a/cg/f/g/h/klmnop/foo10.js",
+ "a/dg/f/g/h/klmnop/foo10.js",
+ "a/ch/f/g/h/klmnop/foo10.js",
+ "a/dh/f/g/h/klmnop/foo10.js",
+ "a/ci/f/g/h/klmnop/foo10.js",
+ "a/di/f/g/h/klmnop/foo10.js",
+ "a/cj/f/g/h/klmnop/foo10.js",
+ "a/dj/f/g/h/klmnop/foo10.js",
+ "a/b/i/klmnop/foo10.js",
+ "a/ca/f/g/i/klmnop/foo10.js",
+ "a/e/d/f/g/i/klmnop/foo10.js",
+ "a/da/f/g/i/klmnop/foo10.js",
+ "a/cb/f/g/i/klmnop/foo10.js",
+ "a/db/f/g/i/klmnop/foo10.js",
+ "a/cc/f/g/i/klmnop/foo10.js",
+ "a/dc/f/g/i/klmnop/foo10.js",
+ "a/cd/f/g/i/klmnop/foo10.js",
+ "a/dd/f/g/i/klmnop/foo10.js",
+ "a/ce/f/g/i/klmnop/foo10.js",
+ "a/de/f/g/i/klmnop/foo10.js",
+ "a/cf/f/g/i/klmnop/foo10.js",
+ "a/df/f/g/i/klmnop/foo10.js",
+ "a/cg/f/g/i/klmnop/foo10.js",
+ "a/dg/f/g/i/klmnop/foo10.js",
+ "a/ch/f/g/i/klmnop/foo10.js",
+ "a/dh/f/g/i/klmnop/foo10.js",
+ "a/ci/f/g/i/klmnop/foo10.js",
+ "a/di/f/g/i/klmnop/foo10.js",
+ "a/cj/f/g/i/klmnop/foo10.js",
+ "a/dj/f/g/i/klmnop/foo10.js",
+ "a/b/j/klmnop/foo10.js",
+ "a/ca/f/g/j/klmnop/foo10.js",
+ "a/e/d/f/g/j/klmnop/foo10.js",
+ "a/da/f/g/j/klmnop/foo10.js",
+ "a/cb/f/g/j/klmnop/foo10.js",
+ "a/db/f/g/j/klmnop/foo10.js",
+ "a/cc/f/g/j/klmnop/foo10.js",
+ "a/dc/f/g/j/klmnop/foo10.js",
+ "a/cd/f/g/j/klmnop/foo10.js",
+ "a/dd/f/g/j/klmnop/foo10.js",
+ "a/ce/f/g/j/klmnop/foo10.js",
+ "a/de/f/g/j/klmnop/foo10.js",
+ "a/cf/f/g/j/klmnop/foo10.js",
+ "a/df/f/g/j/klmnop/foo10.js",
+ "a/cg/f/g/j/klmnop/foo10.js",
+ "a/dg/f/g/j/klmnop/foo10.js",
+ "a/ch/f/g/j/klmnop/foo10.js",
+ "a/dh/f/g/j/klmnop/foo10.js",
+ "a/ci/f/g/j/klmnop/foo10.js",
+ "a/di/f/g/j/klmnop/foo10.js",
+ "a/cj/f/g/j/klmnop/foo10.js",
+ "a/dj/f/g/j/klmnop/foo10.js",
+ "a/b/h/klmnop/foo01.md",
+ "a/ca/f/g/h/klmnop/foo01.md",
+ "a/e/d/f/g/h/klmnop/foo01.md",
+ "a/da/f/g/h/klmnop/foo01.md",
+ "a/cb/f/g/h/klmnop/foo01.md",
+ "a/db/f/g/h/klmnop/foo01.md",
+ "a/cc/f/g/h/klmnop/foo01.md",
+ "a/dc/f/g/h/klmnop/foo01.md",
+ "a/cd/f/g/h/klmnop/foo01.md",
+ "a/dd/f/g/h/klmnop/foo01.md",
+ "a/ce/f/g/h/klmnop/foo01.md",
+ "a/de/f/g/h/klmnop/foo01.md",
+ "a/cf/f/g/h/klmnop/foo01.md",
+ "a/df/f/g/h/klmnop/foo01.md",
+ "a/cg/f/g/h/klmnop/foo01.md",
+ "a/dg/f/g/h/klmnop/foo01.md",
+ "a/ch/f/g/h/klmnop/foo01.md",
+ "a/dh/f/g/h/klmnop/foo01.md",
+ "a/ci/f/g/h/klmnop/foo01.md",
+ "a/di/f/g/h/klmnop/foo01.md",
+ "a/cj/f/g/h/klmnop/foo01.md",
+ "a/dj/f/g/h/klmnop/foo01.md",
+ "a/b/i/klmnop/foo01.md",
+ "a/ca/f/g/i/klmnop/foo01.md",
+ "a/e/d/f/g/i/klmnop/foo01.md",
+ "a/da/f/g/i/klmnop/foo01.md",
+ "a/cb/f/g/i/klmnop/foo01.md",
+ "a/db/f/g/i/klmnop/foo01.md",
+ "a/cc/f/g/i/klmnop/foo01.md",
+ "a/dc/f/g/i/klmnop/foo01.md",
+ "a/cd/f/g/i/klmnop/foo01.md",
+ "a/dd/f/g/i/klmnop/foo01.md",
+ "a/ce/f/g/i/klmnop/foo01.md",
+ "a/de/f/g/i/klmnop/foo01.md",
+ "a/cf/f/g/i/klmnop/foo01.md",
+ "a/df/f/g/i/klmnop/foo01.md",
+ "a/cg/f/g/i/klmnop/foo01.md",
+ "a/dg/f/g/i/klmnop/foo01.md",
+ "a/ch/f/g/i/klmnop/foo01.md",
+ "a/dh/f/g/i/klmnop/foo01.md",
+ "a/ci/f/g/i/klmnop/foo01.md",
+ "a/di/f/g/i/klmnop/foo01.md",
+ "a/cj/f/g/i/klmnop/foo01.md",
+ "a/dj/f/g/i/klmnop/foo01.md",
+ "a/b/j/klmnop/foo01.md",
+ "a/ca/f/g/j/klmnop/foo01.md",
+ "a/e/d/f/g/j/klmnop/foo01.md",
+ "a/da/f/g/j/klmnop/foo01.md",
+ "a/cb/f/g/j/klmnop/foo01.md",
+ "a/db/f/g/j/klmnop/foo01.md",
+ "a/cc/f/g/j/klmnop/foo01.md",
+ "a/dc/f/g/j/klmnop/foo01.md",
+ "a/cd/f/g/j/klmnop/foo01.md",
+ "a/dd/f/g/j/klmnop/foo01.md",
+ "a/ce/f/g/j/klmnop/foo01.md",
+ "a/de/f/g/j/klmnop/foo01.md",
+ "a/cf/f/g/j/klmnop/foo01.md",
+ "a/df/f/g/j/klmnop/foo01.md",
+ "a/cg/f/g/j/klmnop/foo01.md",
+ "a/dg/f/g/j/klmnop/foo01.md",
+ "a/ch/f/g/j/klmnop/foo01.md",
+ "a/dh/f/g/j/klmnop/foo01.md",
+ "a/ci/f/g/j/klmnop/foo01.md",
+ "a/di/f/g/j/klmnop/foo01.md",
+ "a/cj/f/g/j/klmnop/foo01.md",
+ "a/dj/f/g/j/klmnop/foo01.md",
+ "a/b/h/klmnop/foo02.md",
+ "a/ca/f/g/h/klmnop/foo02.md",
+ "a/e/d/f/g/h/klmnop/foo02.md",
+ "a/da/f/g/h/klmnop/foo02.md",
+ "a/cb/f/g/h/klmnop/foo02.md",
+ "a/db/f/g/h/klmnop/foo02.md",
+ "a/cc/f/g/h/klmnop/foo02.md",
+ "a/dc/f/g/h/klmnop/foo02.md",
+ "a/cd/f/g/h/klmnop/foo02.md",
+ "a/dd/f/g/h/klmnop/foo02.md",
+ "a/ce/f/g/h/klmnop/foo02.md",
+ "a/de/f/g/h/klmnop/foo02.md",
+ "a/cf/f/g/h/klmnop/foo02.md",
+ "a/df/f/g/h/klmnop/foo02.md",
+ "a/cg/f/g/h/klmnop/foo02.md",
+ "a/dg/f/g/h/klmnop/foo02.md",
+ "a/ch/f/g/h/klmnop/foo02.md",
+ "a/dh/f/g/h/klmnop/foo02.md",
+ "a/ci/f/g/h/klmnop/foo02.md",
+ "a/di/f/g/h/klmnop/foo02.md",
+ "a/cj/f/g/h/klmnop/foo02.md",
+ "a/dj/f/g/h/klmnop/foo02.md",
+ "a/b/i/klmnop/foo02.md",
+ "a/ca/f/g/i/klmnop/foo02.md",
+ "a/e/d/f/g/i/klmnop/foo02.md",
+ "a/da/f/g/i/klmnop/foo02.md",
+ "a/cb/f/g/i/klmnop/foo02.md",
+ "a/db/f/g/i/klmnop/foo02.md",
+ "a/cc/f/g/i/klmnop/foo02.md",
+ "a/dc/f/g/i/klmnop/foo02.md",
+ "a/cd/f/g/i/klmnop/foo02.md",
+ "a/dd/f/g/i/klmnop/foo02.md",
+ "a/ce/f/g/i/klmnop/foo02.md",
+ "a/de/f/g/i/klmnop/foo02.md",
+ "a/cf/f/g/i/klmnop/foo02.md",
+ "a/df/f/g/i/klmnop/foo02.md",
+ "a/cg/f/g/i/klmnop/foo02.md",
+ "a/dg/f/g/i/klmnop/foo02.md",
+ "a/ch/f/g/i/klmnop/foo02.md",
+ "a/dh/f/g/i/klmnop/foo02.md",
+ "a/ci/f/g/i/klmnop/foo02.md",
+ "a/di/f/g/i/klmnop/foo02.md",
+ "a/cj/f/g/i/klmnop/foo02.md",
+ "a/dj/f/g/i/klmnop/foo02.md",
+ "a/b/j/klmnop/foo02.md",
+ "a/ca/f/g/j/klmnop/foo02.md",
+ "a/e/d/f/g/j/klmnop/foo02.md",
+ "a/da/f/g/j/klmnop/foo02.md",
+ "a/cb/f/g/j/klmnop/foo02.md",
+ "a/db/f/g/j/klmnop/foo02.md",
+ "a/cc/f/g/j/klmnop/foo02.md",
+ "a/dc/f/g/j/klmnop/foo02.md",
+ "a/cd/f/g/j/klmnop/foo02.md",
+ "a/dd/f/g/j/klmnop/foo02.md",
+ "a/ce/f/g/j/klmnop/foo02.md",
+ "a/de/f/g/j/klmnop/foo02.md",
+ "a/cf/f/g/j/klmnop/foo02.md",
+ "a/df/f/g/j/klmnop/foo02.md",
+ "a/cg/f/g/j/klmnop/foo02.md",
+ "a/dg/f/g/j/klmnop/foo02.md",
+ "a/ch/f/g/j/klmnop/foo02.md",
+ "a/dh/f/g/j/klmnop/foo02.md",
+ "a/ci/f/g/j/klmnop/foo02.md",
+ "a/di/f/g/j/klmnop/foo02.md",
+ "a/cj/f/g/j/klmnop/foo02.md",
+ "a/dj/f/g/j/klmnop/foo02.md",
+ "a/b/h/klmnop/foo03.md",
+ "a/ca/f/g/h/klmnop/foo03.md",
+ "a/e/d/f/g/h/klmnop/foo03.md",
+ "a/da/f/g/h/klmnop/foo03.md",
+ "a/cb/f/g/h/klmnop/foo03.md",
+ "a/db/f/g/h/klmnop/foo03.md",
+ "a/cc/f/g/h/klmnop/foo03.md",
+ "a/dc/f/g/h/klmnop/foo03.md",
+ "a/cd/f/g/h/klmnop/foo03.md",
+ "a/dd/f/g/h/klmnop/foo03.md",
+ "a/ce/f/g/h/klmnop/foo03.md",
+ "a/de/f/g/h/klmnop/foo03.md",
+ "a/cf/f/g/h/klmnop/foo03.md",
+ "a/df/f/g/h/klmnop/foo03.md",
+ "a/cg/f/g/h/klmnop/foo03.md",
+ "a/dg/f/g/h/klmnop/foo03.md",
+ "a/ch/f/g/h/klmnop/foo03.md",
+ "a/dh/f/g/h/klmnop/foo03.md",
+ "a/ci/f/g/h/klmnop/foo03.md",
+ "a/di/f/g/h/klmnop/foo03.md",
+ "a/cj/f/g/h/klmnop/foo03.md",
+ "a/dj/f/g/h/klmnop/foo03.md",
+ "a/b/i/klmnop/foo03.md",
+ "a/ca/f/g/i/klmnop/foo03.md",
+ "a/e/d/f/g/i/klmnop/foo03.md",
+ "a/da/f/g/i/klmnop/foo03.md",
+ "a/cb/f/g/i/klmnop/foo03.md",
+ "a/db/f/g/i/klmnop/foo03.md",
+ "a/cc/f/g/i/klmnop/foo03.md",
+ "a/dc/f/g/i/klmnop/foo03.md",
+ "a/cd/f/g/i/klmnop/foo03.md",
+ "a/dd/f/g/i/klmnop/foo03.md",
+ "a/ce/f/g/i/klmnop/foo03.md",
+ "a/de/f/g/i/klmnop/foo03.md",
+ "a/cf/f/g/i/klmnop/foo03.md",
+ "a/df/f/g/i/klmnop/foo03.md",
+ "a/cg/f/g/i/klmnop/foo03.md",
+ "a/dg/f/g/i/klmnop/foo03.md",
+ "a/ch/f/g/i/klmnop/foo03.md",
+ "a/dh/f/g/i/klmnop/foo03.md",
+ "a/ci/f/g/i/klmnop/foo03.md",
+ "a/di/f/g/i/klmnop/foo03.md",
+ "a/cj/f/g/i/klmnop/foo03.md",
+ "a/dj/f/g/i/klmnop/foo03.md",
+ "a/b/j/klmnop/foo03.md",
+ "a/ca/f/g/j/klmnop/foo03.md",
+ "a/e/d/f/g/j/klmnop/foo03.md",
+ "a/da/f/g/j/klmnop/foo03.md",
+ "a/cb/f/g/j/klmnop/foo03.md",
+ "a/db/f/g/j/klmnop/foo03.md",
+ "a/cc/f/g/j/klmnop/foo03.md",
+ "a/dc/f/g/j/klmnop/foo03.md",
+ "a/cd/f/g/j/klmnop/foo03.md",
+ "a/dd/f/g/j/klmnop/foo03.md",
+ "a/ce/f/g/j/klmnop/foo03.md",
+ "a/de/f/g/j/klmnop/foo03.md",
+ "a/cf/f/g/j/klmnop/foo03.md",
+ "a/df/f/g/j/klmnop/foo03.md",
+ "a/cg/f/g/j/klmnop/foo03.md",
+ "a/dg/f/g/j/klmnop/foo03.md",
+ "a/ch/f/g/j/klmnop/foo03.md",
+ "a/dh/f/g/j/klmnop/foo03.md",
+ "a/ci/f/g/j/klmnop/foo03.md",
+ "a/di/f/g/j/klmnop/foo03.md",
+ "a/cj/f/g/j/klmnop/foo03.md",
+ "a/dj/f/g/j/klmnop/foo03.md",
+ "a/b/h/klmnop/foo04.md",
+ "a/ca/f/g/h/klmnop/foo04.md",
+ "a/e/d/f/g/h/klmnop/foo04.md",
+ "a/da/f/g/h/klmnop/foo04.md",
+ "a/cb/f/g/h/klmnop/foo04.md",
+ "a/db/f/g/h/klmnop/foo04.md",
+ "a/cc/f/g/h/klmnop/foo04.md",
+ "a/dc/f/g/h/klmnop/foo04.md",
+ "a/cd/f/g/h/klmnop/foo04.md",
+ "a/dd/f/g/h/klmnop/foo04.md",
+ "a/ce/f/g/h/klmnop/foo04.md",
+ "a/de/f/g/h/klmnop/foo04.md",
+ "a/cf/f/g/h/klmnop/foo04.md",
+ "a/df/f/g/h/klmnop/foo04.md",
+ "a/cg/f/g/h/klmnop/foo04.md",
+ "a/dg/f/g/h/klmnop/foo04.md",
+ "a/ch/f/g/h/klmnop/foo04.md",
+ "a/dh/f/g/h/klmnop/foo04.md",
+ "a/ci/f/g/h/klmnop/foo04.md",
+ "a/di/f/g/h/klmnop/foo04.md",
+ "a/cj/f/g/h/klmnop/foo04.md",
+ "a/dj/f/g/h/klmnop/foo04.md",
+ "a/b/i/klmnop/foo04.md",
+ "a/ca/f/g/i/klmnop/foo04.md",
+ "a/e/d/f/g/i/klmnop/foo04.md",
+ "a/da/f/g/i/klmnop/foo04.md",
+ "a/cb/f/g/i/klmnop/foo04.md",
+ "a/db/f/g/i/klmnop/foo04.md",
+ "a/cc/f/g/i/klmnop/foo04.md",
+ "a/dc/f/g/i/klmnop/foo04.md",
+ "a/cd/f/g/i/klmnop/foo04.md",
+ "a/dd/f/g/i/klmnop/foo04.md",
+ "a/ce/f/g/i/klmnop/foo04.md",
+ "a/de/f/g/i/klmnop/foo04.md",
+ "a/cf/f/g/i/klmnop/foo04.md",
+ "a/df/f/g/i/klmnop/foo04.md",
+ "a/cg/f/g/i/klmnop/foo04.md",
+ "a/dg/f/g/i/klmnop/foo04.md",
+ "a/ch/f/g/i/klmnop/foo04.md",
+ "a/dh/f/g/i/klmnop/foo04.md",
+ "a/ci/f/g/i/klmnop/foo04.md",
+ "a/di/f/g/i/klmnop/foo04.md",
+ "a/cj/f/g/i/klmnop/foo04.md",
+ "a/dj/f/g/i/klmnop/foo04.md",
+ "a/b/j/klmnop/foo04.md",
+ "a/ca/f/g/j/klmnop/foo04.md",
+ "a/e/d/f/g/j/klmnop/foo04.md",
+ "a/da/f/g/j/klmnop/foo04.md",
+ "a/cb/f/g/j/klmnop/foo04.md",
+ "a/db/f/g/j/klmnop/foo04.md",
+ "a/cc/f/g/j/klmnop/foo04.md",
+ "a/dc/f/g/j/klmnop/foo04.md",
+ "a/cd/f/g/j/klmnop/foo04.md",
+ "a/dd/f/g/j/klmnop/foo04.md",
+ "a/ce/f/g/j/klmnop/foo04.md",
+ "a/de/f/g/j/klmnop/foo04.md",
+ "a/cf/f/g/j/klmnop/foo04.md",
+ "a/df/f/g/j/klmnop/foo04.md",
+ "a/cg/f/g/j/klmnop/foo04.md",
+ "a/dg/f/g/j/klmnop/foo04.md",
+ "a/ch/f/g/j/klmnop/foo04.md",
+ "a/dh/f/g/j/klmnop/foo04.md",
+ "a/ci/f/g/j/klmnop/foo04.md",
+ "a/di/f/g/j/klmnop/foo04.md",
+ "a/cj/f/g/j/klmnop/foo04.md",
+ "a/dj/f/g/j/klmnop/foo04.md",
+ "a/b/h/klmnop/foo05.md",
+ "a/ca/f/g/h/klmnop/foo05.md",
+ "a/e/d/f/g/h/klmnop/foo05.md",
+ "a/da/f/g/h/klmnop/foo05.md",
+ "a/cb/f/g/h/klmnop/foo05.md",
+ "a/db/f/g/h/klmnop/foo05.md",
+ "a/cc/f/g/h/klmnop/foo05.md",
+ "a/dc/f/g/h/klmnop/foo05.md",
+ "a/cd/f/g/h/klmnop/foo05.md",
+ "a/dd/f/g/h/klmnop/foo05.md",
+ "a/ce/f/g/h/klmnop/foo05.md",
+ "a/de/f/g/h/klmnop/foo05.md",
+ "a/cf/f/g/h/klmnop/foo05.md",
+ "a/df/f/g/h/klmnop/foo05.md",
+ "a/cg/f/g/h/klmnop/foo05.md",
+ "a/dg/f/g/h/klmnop/foo05.md",
+ "a/ch/f/g/h/klmnop/foo05.md",
+ "a/dh/f/g/h/klmnop/foo05.md",
+ "a/ci/f/g/h/klmnop/foo05.md",
+ "a/di/f/g/h/klmnop/foo05.md",
+ "a/cj/f/g/h/klmnop/foo05.md",
+ "a/dj/f/g/h/klmnop/foo05.md",
+ "a/b/i/klmnop/foo05.md",
+ "a/ca/f/g/i/klmnop/foo05.md",
+ "a/e/d/f/g/i/klmnop/foo05.md",
+ "a/da/f/g/i/klmnop/foo05.md",
+ "a/cb/f/g/i/klmnop/foo05.md",
+ "a/db/f/g/i/klmnop/foo05.md",
+ "a/cc/f/g/i/klmnop/foo05.md",
+ "a/dc/f/g/i/klmnop/foo05.md",
+ "a/cd/f/g/i/klmnop/foo05.md",
+ "a/dd/f/g/i/klmnop/foo05.md",
+ "a/ce/f/g/i/klmnop/foo05.md",
+ "a/de/f/g/i/klmnop/foo05.md",
+ "a/cf/f/g/i/klmnop/foo05.md",
+ "a/df/f/g/i/klmnop/foo05.md",
+ "a/cg/f/g/i/klmnop/foo05.md",
+ "a/dg/f/g/i/klmnop/foo05.md",
+ "a/ch/f/g/i/klmnop/foo05.md",
+ "a/dh/f/g/i/klmnop/foo05.md",
+ "a/ci/f/g/i/klmnop/foo05.md",
+ "a/di/f/g/i/klmnop/foo05.md",
+ "a/cj/f/g/i/klmnop/foo05.md",
+ "a/dj/f/g/i/klmnop/foo05.md",
+ "a/b/j/klmnop/foo05.md",
+ "a/ca/f/g/j/klmnop/foo05.md",
+ "a/e/d/f/g/j/klmnop/foo05.md",
+ "a/da/f/g/j/klmnop/foo05.md",
+ "a/cb/f/g/j/klmnop/foo05.md",
+ "a/db/f/g/j/klmnop/foo05.md",
+ "a/cc/f/g/j/klmnop/foo05.md",
+ "a/dc/f/g/j/klmnop/foo05.md",
+ "a/cd/f/g/j/klmnop/foo05.md",
+ "a/dd/f/g/j/klmnop/foo05.md",
+ "a/ce/f/g/j/klmnop/foo05.md",
+ "a/de/f/g/j/klmnop/foo05.md",
+ "a/cf/f/g/j/klmnop/foo05.md",
+ "a/df/f/g/j/klmnop/foo05.md",
+ "a/cg/f/g/j/klmnop/foo05.md",
+ "a/dg/f/g/j/klmnop/foo05.md",
+ "a/ch/f/g/j/klmnop/foo05.md",
+ "a/dh/f/g/j/klmnop/foo05.md",
+ "a/ci/f/g/j/klmnop/foo05.md",
+ "a/di/f/g/j/klmnop/foo05.md",
+ "a/cj/f/g/j/klmnop/foo05.md",
+ "a/dj/f/g/j/klmnop/foo05.md",
+ "a/b/h/klmnop/foo06.md",
+ "a/ca/f/g/h/klmnop/foo06.md",
+ "a/e/d/f/g/h/klmnop/foo06.md",
+ "a/da/f/g/h/klmnop/foo06.md",
+ "a/cb/f/g/h/klmnop/foo06.md",
+ "a/db/f/g/h/klmnop/foo06.md",
+ "a/cc/f/g/h/klmnop/foo06.md",
+ "a/dc/f/g/h/klmnop/foo06.md",
+ "a/cd/f/g/h/klmnop/foo06.md",
+ "a/dd/f/g/h/klmnop/foo06.md",
+ "a/ce/f/g/h/klmnop/foo06.md",
+ "a/de/f/g/h/klmnop/foo06.md",
+ "a/cf/f/g/h/klmnop/foo06.md",
+ "a/df/f/g/h/klmnop/foo06.md",
+ "a/cg/f/g/h/klmnop/foo06.md",
+ "a/dg/f/g/h/klmnop/foo06.md",
+ "a/ch/f/g/h/klmnop/foo06.md",
+ "a/dh/f/g/h/klmnop/foo06.md",
+ "a/ci/f/g/h/klmnop/foo06.md",
+ "a/di/f/g/h/klmnop/foo06.md",
+ "a/cj/f/g/h/klmnop/foo06.md",
+ "a/dj/f/g/h/klmnop/foo06.md",
+ "a/b/i/klmnop/foo06.md",
+ "a/ca/f/g/i/klmnop/foo06.md",
+ "a/e/d/f/g/i/klmnop/foo06.md",
+ "a/da/f/g/i/klmnop/foo06.md",
+ "a/cb/f/g/i/klmnop/foo06.md",
+ "a/db/f/g/i/klmnop/foo06.md",
+ "a/cc/f/g/i/klmnop/foo06.md",
+ "a/dc/f/g/i/klmnop/foo06.md",
+ "a/cd/f/g/i/klmnop/foo06.md",
+ "a/dd/f/g/i/klmnop/foo06.md",
+ "a/ce/f/g/i/klmnop/foo06.md",
+ "a/de/f/g/i/klmnop/foo06.md",
+ "a/cf/f/g/i/klmnop/foo06.md",
+ "a/df/f/g/i/klmnop/foo06.md",
+ "a/cg/f/g/i/klmnop/foo06.md",
+ "a/dg/f/g/i/klmnop/foo06.md",
+ "a/ch/f/g/i/klmnop/foo06.md",
+ "a/dh/f/g/i/klmnop/foo06.md",
+ "a/ci/f/g/i/klmnop/foo06.md",
+ "a/di/f/g/i/klmnop/foo06.md",
+ "a/cj/f/g/i/klmnop/foo06.md",
+ "a/dj/f/g/i/klmnop/foo06.md",
+ "a/b/j/klmnop/foo06.md",
+ "a/ca/f/g/j/klmnop/foo06.md",
+ "a/e/d/f/g/j/klmnop/foo06.md",
+ "a/da/f/g/j/klmnop/foo06.md",
+ "a/cb/f/g/j/klmnop/foo06.md",
+ "a/db/f/g/j/klmnop/foo06.md",
+ "a/cc/f/g/j/klmnop/foo06.md",
+ "a/dc/f/g/j/klmnop/foo06.md",
+ "a/cd/f/g/j/klmnop/foo06.md",
+ "a/dd/f/g/j/klmnop/foo06.md",
+ "a/ce/f/g/j/klmnop/foo06.md",
+ "a/de/f/g/j/klmnop/foo06.md",
+ "a/cf/f/g/j/klmnop/foo06.md",
+ "a/df/f/g/j/klmnop/foo06.md",
+ "a/cg/f/g/j/klmnop/foo06.md",
+ "a/dg/f/g/j/klmnop/foo06.md",
+ "a/ch/f/g/j/klmnop/foo06.md",
+ "a/dh/f/g/j/klmnop/foo06.md",
+ "a/ci/f/g/j/klmnop/foo06.md",
+ "a/di/f/g/j/klmnop/foo06.md",
+ "a/cj/f/g/j/klmnop/foo06.md",
+ "a/dj/f/g/j/klmnop/foo06.md",
+ "a/b/h/klmnop/foo07.md",
+ "a/ca/f/g/h/klmnop/foo07.md",
+ "a/e/d/f/g/h/klmnop/foo07.md",
+ "a/da/f/g/h/klmnop/foo07.md",
+ "a/cb/f/g/h/klmnop/foo07.md",
+ "a/db/f/g/h/klmnop/foo07.md",
+ "a/cc/f/g/h/klmnop/foo07.md",
+ "a/dc/f/g/h/klmnop/foo07.md",
+ "a/cd/f/g/h/klmnop/foo07.md",
+ "a/dd/f/g/h/klmnop/foo07.md",
+ "a/ce/f/g/h/klmnop/foo07.md",
+ "a/de/f/g/h/klmnop/foo07.md",
+ "a/cf/f/g/h/klmnop/foo07.md",
+ "a/df/f/g/h/klmnop/foo07.md",
+ "a/cg/f/g/h/klmnop/foo07.md",
+ "a/dg/f/g/h/klmnop/foo07.md",
+ "a/ch/f/g/h/klmnop/foo07.md",
+ "a/dh/f/g/h/klmnop/foo07.md",
+ "a/ci/f/g/h/klmnop/foo07.md",
+ "a/di/f/g/h/klmnop/foo07.md",
+ "a/cj/f/g/h/klmnop/foo07.md",
+ "a/dj/f/g/h/klmnop/foo07.md",
+ "a/b/i/klmnop/foo07.md",
+ "a/ca/f/g/i/klmnop/foo07.md",
+ "a/e/d/f/g/i/klmnop/foo07.md",
+ "a/da/f/g/i/klmnop/foo07.md",
+ "a/cb/f/g/i/klmnop/foo07.md",
+ "a/db/f/g/i/klmnop/foo07.md",
+ "a/cc/f/g/i/klmnop/foo07.md",
+ "a/dc/f/g/i/klmnop/foo07.md",
+ "a/cd/f/g/i/klmnop/foo07.md",
+ "a/dd/f/g/i/klmnop/foo07.md",
+ "a/ce/f/g/i/klmnop/foo07.md",
+ "a/de/f/g/i/klmnop/foo07.md",
+ "a/cf/f/g/i/klmnop/foo07.md",
+ "a/df/f/g/i/klmnop/foo07.md",
+ "a/cg/f/g/i/klmnop/foo07.md",
+ "a/dg/f/g/i/klmnop/foo07.md",
+ "a/ch/f/g/i/klmnop/foo07.md",
+ "a/dh/f/g/i/klmnop/foo07.md",
+ "a/ci/f/g/i/klmnop/foo07.md",
+ "a/di/f/g/i/klmnop/foo07.md",
+ "a/cj/f/g/i/klmnop/foo07.md",
+ "a/dj/f/g/i/klmnop/foo07.md",
+ "a/b/j/klmnop/foo07.md",
+ "a/ca/f/g/j/klmnop/foo07.md",
+ "a/e/d/f/g/j/klmnop/foo07.md",
+ "a/da/f/g/j/klmnop/foo07.md",
+ "a/cb/f/g/j/klmnop/foo07.md",
+ "a/db/f/g/j/klmnop/foo07.md",
+ "a/cc/f/g/j/klmnop/foo07.md",
+ "a/dc/f/g/j/klmnop/foo07.md",
+ "a/cd/f/g/j/klmnop/foo07.md",
+ "a/dd/f/g/j/klmnop/foo07.md",
+ "a/ce/f/g/j/klmnop/foo07.md",
+ "a/de/f/g/j/klmnop/foo07.md",
+ "a/cf/f/g/j/klmnop/foo07.md",
+ "a/df/f/g/j/klmnop/foo07.md",
+ "a/cg/f/g/j/klmnop/foo07.md",
+ "a/dg/f/g/j/klmnop/foo07.md",
+ "a/ch/f/g/j/klmnop/foo07.md",
+ "a/dh/f/g/j/klmnop/foo07.md",
+ "a/ci/f/g/j/klmnop/foo07.md",
+ "a/di/f/g/j/klmnop/foo07.md",
+ "a/cj/f/g/j/klmnop/foo07.md",
+ "a/dj/f/g/j/klmnop/foo07.md",
+ "a/b/h/klmnop/foo08.md",
+ "a/ca/f/g/h/klmnop/foo08.md",
+ "a/e/d/f/g/h/klmnop/foo08.md",
+ "a/da/f/g/h/klmnop/foo08.md",
+ "a/cb/f/g/h/klmnop/foo08.md",
+ "a/db/f/g/h/klmnop/foo08.md",
+ "a/cc/f/g/h/klmnop/foo08.md",
+ "a/dc/f/g/h/klmnop/foo08.md",
+ "a/cd/f/g/h/klmnop/foo08.md",
+ "a/dd/f/g/h/klmnop/foo08.md",
+ "a/ce/f/g/h/klmnop/foo08.md",
+ "a/de/f/g/h/klmnop/foo08.md",
+ "a/cf/f/g/h/klmnop/foo08.md",
+ "a/df/f/g/h/klmnop/foo08.md",
+ "a/cg/f/g/h/klmnop/foo08.md",
+ "a/dg/f/g/h/klmnop/foo08.md",
+ "a/ch/f/g/h/klmnop/foo08.md",
+ "a/dh/f/g/h/klmnop/foo08.md",
+ "a/ci/f/g/h/klmnop/foo08.md",
+ "a/di/f/g/h/klmnop/foo08.md",
+ "a/cj/f/g/h/klmnop/foo08.md",
+ "a/dj/f/g/h/klmnop/foo08.md",
+ "a/b/i/klmnop/foo08.md",
+ "a/ca/f/g/i/klmnop/foo08.md",
+ "a/e/d/f/g/i/klmnop/foo08.md",
+ "a/da/f/g/i/klmnop/foo08.md",
+ "a/cb/f/g/i/klmnop/foo08.md",
+ "a/db/f/g/i/klmnop/foo08.md",
+ "a/cc/f/g/i/klmnop/foo08.md",
+ "a/dc/f/g/i/klmnop/foo08.md",
+ "a/cd/f/g/i/klmnop/foo08.md",
+ "a/dd/f/g/i/klmnop/foo08.md",
+ "a/ce/f/g/i/klmnop/foo08.md",
+ "a/de/f/g/i/klmnop/foo08.md",
+ "a/cf/f/g/i/klmnop/foo08.md",
+ "a/df/f/g/i/klmnop/foo08.md",
+ "a/cg/f/g/i/klmnop/foo08.md",
+ "a/dg/f/g/i/klmnop/foo08.md",
+ "a/ch/f/g/i/klmnop/foo08.md",
+ "a/dh/f/g/i/klmnop/foo08.md",
+ "a/ci/f/g/i/klmnop/foo08.md",
+ "a/di/f/g/i/klmnop/foo08.md",
+ "a/cj/f/g/i/klmnop/foo08.md",
+ "a/dj/f/g/i/klmnop/foo08.md",
+ "a/b/j/klmnop/foo08.md",
+ "a/ca/f/g/j/klmnop/foo08.md",
+ "a/e/d/f/g/j/klmnop/foo08.md",
+ "a/da/f/g/j/klmnop/foo08.md",
+ "a/cb/f/g/j/klmnop/foo08.md",
+ "a/db/f/g/j/klmnop/foo08.md",
+ "a/cc/f/g/j/klmnop/foo08.md",
+ "a/dc/f/g/j/klmnop/foo08.md",
+ "a/cd/f/g/j/klmnop/foo08.md",
+ "a/dd/f/g/j/klmnop/foo08.md",
+ "a/ce/f/g/j/klmnop/foo08.md",
+ "a/de/f/g/j/klmnop/foo08.md",
+ "a/cf/f/g/j/klmnop/foo08.md",
+ "a/df/f/g/j/klmnop/foo08.md",
+ "a/cg/f/g/j/klmnop/foo08.md",
+ "a/dg/f/g/j/klmnop/foo08.md",
+ "a/ch/f/g/j/klmnop/foo08.md",
+ "a/dh/f/g/j/klmnop/foo08.md",
+ "a/ci/f/g/j/klmnop/foo08.md",
+ "a/di/f/g/j/klmnop/foo08.md",
+ "a/cj/f/g/j/klmnop/foo08.md",
+ "a/dj/f/g/j/klmnop/foo08.md",
+ "a/b/h/klmnop/foo09.md",
+ "a/ca/f/g/h/klmnop/foo09.md",
+ "a/e/d/f/g/h/klmnop/foo09.md",
+ "a/da/f/g/h/klmnop/foo09.md",
+ "a/cb/f/g/h/klmnop/foo09.md",
+ "a/db/f/g/h/klmnop/foo09.md",
+ "a/cc/f/g/h/klmnop/foo09.md",
+ "a/dc/f/g/h/klmnop/foo09.md",
+ "a/cd/f/g/h/klmnop/foo09.md",
+ "a/dd/f/g/h/klmnop/foo09.md",
+ "a/ce/f/g/h/klmnop/foo09.md",
+ "a/de/f/g/h/klmnop/foo09.md",
+ "a/cf/f/g/h/klmnop/foo09.md",
+ "a/df/f/g/h/klmnop/foo09.md",
+ "a/cg/f/g/h/klmnop/foo09.md",
+ "a/dg/f/g/h/klmnop/foo09.md",
+ "a/ch/f/g/h/klmnop/foo09.md",
+ "a/dh/f/g/h/klmnop/foo09.md",
+ "a/ci/f/g/h/klmnop/foo09.md",
+ "a/di/f/g/h/klmnop/foo09.md",
+ "a/cj/f/g/h/klmnop/foo09.md",
+ "a/dj/f/g/h/klmnop/foo09.md",
+ "a/b/i/klmnop/foo09.md",
+ "a/ca/f/g/i/klmnop/foo09.md",
+ "a/e/d/f/g/i/klmnop/foo09.md",
+ "a/da/f/g/i/klmnop/foo09.md",
+ "a/cb/f/g/i/klmnop/foo09.md",
+ "a/db/f/g/i/klmnop/foo09.md",
+ "a/cc/f/g/i/klmnop/foo09.md",
+ "a/dc/f/g/i/klmnop/foo09.md",
+ "a/cd/f/g/i/klmnop/foo09.md",
+ "a/dd/f/g/i/klmnop/foo09.md",
+ "a/ce/f/g/i/klmnop/foo09.md",
+ "a/de/f/g/i/klmnop/foo09.md",
+ "a/cf/f/g/i/klmnop/foo09.md",
+ "a/df/f/g/i/klmnop/foo09.md",
+ "a/cg/f/g/i/klmnop/foo09.md",
+ "a/dg/f/g/i/klmnop/foo09.md",
+ "a/ch/f/g/i/klmnop/foo09.md",
+ "a/dh/f/g/i/klmnop/foo09.md",
+ "a/ci/f/g/i/klmnop/foo09.md",
+ "a/di/f/g/i/klmnop/foo09.md",
+ "a/cj/f/g/i/klmnop/foo09.md",
+ "a/dj/f/g/i/klmnop/foo09.md",
+ "a/b/j/klmnop/foo09.md",
+ "a/ca/f/g/j/klmnop/foo09.md",
+ "a/e/d/f/g/j/klmnop/foo09.md",
+ "a/da/f/g/j/klmnop/foo09.md",
+ "a/cb/f/g/j/klmnop/foo09.md",
+ "a/db/f/g/j/klmnop/foo09.md",
+ "a/cc/f/g/j/klmnop/foo09.md",
+ "a/dc/f/g/j/klmnop/foo09.md",
+ "a/cd/f/g/j/klmnop/foo09.md",
+ "a/dd/f/g/j/klmnop/foo09.md",
+ "a/ce/f/g/j/klmnop/foo09.md",
+ "a/de/f/g/j/klmnop/foo09.md",
+ "a/cf/f/g/j/klmnop/foo09.md",
+ "a/df/f/g/j/klmnop/foo09.md",
+ "a/cg/f/g/j/klmnop/foo09.md",
+ "a/dg/f/g/j/klmnop/foo09.md",
+ "a/ch/f/g/j/klmnop/foo09.md",
+ "a/dh/f/g/j/klmnop/foo09.md",
+ "a/ci/f/g/j/klmnop/foo09.md",
+ "a/di/f/g/j/klmnop/foo09.md",
+ "a/cj/f/g/j/klmnop/foo09.md",
+ "a/dj/f/g/j/klmnop/foo09.md",
+ "a/b/h/klmnop/foo10.md",
+ "a/ca/f/g/h/klmnop/foo10.md",
+ "a/e/d/f/g/h/klmnop/foo10.md",
+ "a/da/f/g/h/klmnop/foo10.md",
+ "a/cb/f/g/h/klmnop/foo10.md",
+ "a/db/f/g/h/klmnop/foo10.md",
+ "a/cc/f/g/h/klmnop/foo10.md",
+ "a/dc/f/g/h/klmnop/foo10.md",
+ "a/cd/f/g/h/klmnop/foo10.md",
+ "a/dd/f/g/h/klmnop/foo10.md",
+ "a/ce/f/g/h/klmnop/foo10.md",
+ "a/de/f/g/h/klmnop/foo10.md",
+ "a/cf/f/g/h/klmnop/foo10.md",
+ "a/df/f/g/h/klmnop/foo10.md",
+ "a/cg/f/g/h/klmnop/foo10.md",
+ "a/dg/f/g/h/klmnop/foo10.md",
+ "a/ch/f/g/h/klmnop/foo10.md",
+ "a/dh/f/g/h/klmnop/foo10.md",
+ "a/ci/f/g/h/klmnop/foo10.md",
+ "a/di/f/g/h/klmnop/foo10.md",
+ "a/cj/f/g/h/klmnop/foo10.md",
+ "a/dj/f/g/h/klmnop/foo10.md",
+ "a/b/i/klmnop/foo10.md",
+ "a/ca/f/g/i/klmnop/foo10.md",
+ "a/e/d/f/g/i/klmnop/foo10.md",
+ "a/da/f/g/i/klmnop/foo10.md",
+ "a/cb/f/g/i/klmnop/foo10.md",
+ "a/db/f/g/i/klmnop/foo10.md",
+ "a/cc/f/g/i/klmnop/foo10.md",
+ "a/dc/f/g/i/klmnop/foo10.md",
+ "a/cd/f/g/i/klmnop/foo10.md",
+ "a/dd/f/g/i/klmnop/foo10.md",
+ "a/ce/f/g/i/klmnop/foo10.md",
+ "a/de/f/g/i/klmnop/foo10.md",
+ "a/cf/f/g/i/klmnop/foo10.md",
+ "a/df/f/g/i/klmnop/foo10.md",
+ "a/cg/f/g/i/klmnop/foo10.md",
+ "a/dg/f/g/i/klmnop/foo10.md",
+ "a/ch/f/g/i/klmnop/foo10.md",
+ "a/dh/f/g/i/klmnop/foo10.md",
+ "a/ci/f/g/i/klmnop/foo10.md",
+ "a/di/f/g/i/klmnop/foo10.md",
+ "a/cj/f/g/i/klmnop/foo10.md",
+ "a/dj/f/g/i/klmnop/foo10.md",
+ "a/b/j/klmnop/foo10.md",
+ "a/ca/f/g/j/klmnop/foo10.md",
+ "a/e/d/f/g/j/klmnop/foo10.md",
+ "a/da/f/g/j/klmnop/foo10.md",
+ "a/cb/f/g/j/klmnop/foo10.md",
+ "a/db/f/g/j/klmnop/foo10.md",
+ "a/cc/f/g/j/klmnop/foo10.md",
+ "a/dc/f/g/j/klmnop/foo10.md",
+ "a/cd/f/g/j/klmnop/foo10.md",
+ "a/dd/f/g/j/klmnop/foo10.md",
+ "a/ce/f/g/j/klmnop/foo10.md",
+ "a/de/f/g/j/klmnop/foo10.md",
+ "a/cf/f/g/j/klmnop/foo10.md",
+ "a/df/f/g/j/klmnop/foo10.md",
+ "a/cg/f/g/j/klmnop/foo10.md",
+ "a/dg/f/g/j/klmnop/foo10.md",
+ "a/ch/f/g/j/klmnop/foo10.md",
+ "a/dh/f/g/j/klmnop/foo10.md",
+ "a/ci/f/g/j/klmnop/foo10.md",
+ "a/di/f/g/j/klmnop/foo10.md",
+ "a/cj/f/g/j/klmnop/foo10.md",
+ "a/dj/f/g/j/klmnop/foo10.md",
+ "a/b/h/klmnop/foo01.txt",
+ "a/ca/f/g/h/klmnop/foo01.txt",
+ "a/e/d/f/g/h/klmnop/foo01.txt",
+ "a/da/f/g/h/klmnop/foo01.txt",
+ "a/cb/f/g/h/klmnop/foo01.txt",
+ "a/db/f/g/h/klmnop/foo01.txt",
+ "a/cc/f/g/h/klmnop/foo01.txt",
+ "a/dc/f/g/h/klmnop/foo01.txt",
+ "a/cd/f/g/h/klmnop/foo01.txt",
+ "a/dd/f/g/h/klmnop/foo01.txt",
+ "a/ce/f/g/h/klmnop/foo01.txt",
+ "a/de/f/g/h/klmnop/foo01.txt",
+ "a/cf/f/g/h/klmnop/foo01.txt",
+ "a/df/f/g/h/klmnop/foo01.txt",
+ "a/cg/f/g/h/klmnop/foo01.txt",
+ "a/dg/f/g/h/klmnop/foo01.txt",
+ "a/ch/f/g/h/klmnop/foo01.txt",
+ "a/dh/f/g/h/klmnop/foo01.txt",
+ "a/ci/f/g/h/klmnop/foo01.txt",
+ "a/di/f/g/h/klmnop/foo01.txt",
+ "a/cj/f/g/h/klmnop/foo01.txt",
+ "a/dj/f/g/h/klmnop/foo01.txt",
+ "a/b/i/klmnop/foo01.txt",
+ "a/ca/f/g/i/klmnop/foo01.txt",
+ "a/e/d/f/g/i/klmnop/foo01.txt",
+ "a/da/f/g/i/klmnop/foo01.txt",
+ "a/cb/f/g/i/klmnop/foo01.txt",
+ "a/db/f/g/i/klmnop/foo01.txt",
+ "a/cc/f/g/i/klmnop/foo01.txt",
+ "a/dc/f/g/i/klmnop/foo01.txt",
+ "a/cd/f/g/i/klmnop/foo01.txt",
+ "a/dd/f/g/i/klmnop/foo01.txt",
+ "a/ce/f/g/i/klmnop/foo01.txt",
+ "a/de/f/g/i/klmnop/foo01.txt",
+ "a/cf/f/g/i/klmnop/foo01.txt",
+ "a/df/f/g/i/klmnop/foo01.txt",
+ "a/cg/f/g/i/klmnop/foo01.txt",
+ "a/dg/f/g/i/klmnop/foo01.txt",
+ "a/ch/f/g/i/klmnop/foo01.txt",
+ "a/dh/f/g/i/klmnop/foo01.txt",
+ "a/ci/f/g/i/klmnop/foo01.txt",
+ "a/di/f/g/i/klmnop/foo01.txt",
+ "a/cj/f/g/i/klmnop/foo01.txt",
+ "a/dj/f/g/i/klmnop/foo01.txt",
+ "a/b/j/klmnop/foo01.txt",
+ "a/ca/f/g/j/klmnop/foo01.txt",
+ "a/e/d/f/g/j/klmnop/foo01.txt",
+ "a/da/f/g/j/klmnop/foo01.txt",
+ "a/cb/f/g/j/klmnop/foo01.txt",
+ "a/db/f/g/j/klmnop/foo01.txt",
+ "a/cc/f/g/j/klmnop/foo01.txt",
+ "a/dc/f/g/j/klmnop/foo01.txt",
+ "a/cd/f/g/j/klmnop/foo01.txt",
+ "a/dd/f/g/j/klmnop/foo01.txt",
+ "a/ce/f/g/j/klmnop/foo01.txt",
+ "a/de/f/g/j/klmnop/foo01.txt",
+ "a/cf/f/g/j/klmnop/foo01.txt",
+ "a/df/f/g/j/klmnop/foo01.txt",
+ "a/cg/f/g/j/klmnop/foo01.txt",
+ "a/dg/f/g/j/klmnop/foo01.txt",
+ "a/ch/f/g/j/klmnop/foo01.txt",
+ "a/dh/f/g/j/klmnop/foo01.txt",
+ "a/ci/f/g/j/klmnop/foo01.txt",
+ "a/di/f/g/j/klmnop/foo01.txt",
+ "a/cj/f/g/j/klmnop/foo01.txt",
+ "a/dj/f/g/j/klmnop/foo01.txt",
+ "a/b/h/klmnop/foo02.txt",
+ "a/ca/f/g/h/klmnop/foo02.txt",
+ "a/e/d/f/g/h/klmnop/foo02.txt",
+ "a/da/f/g/h/klmnop/foo02.txt",
+ "a/cb/f/g/h/klmnop/foo02.txt",
+ "a/db/f/g/h/klmnop/foo02.txt",
+ "a/cc/f/g/h/klmnop/foo02.txt",
+ "a/dc/f/g/h/klmnop/foo02.txt",
+ "a/cd/f/g/h/klmnop/foo02.txt",
+ "a/dd/f/g/h/klmnop/foo02.txt",
+ "a/ce/f/g/h/klmnop/foo02.txt",
+ "a/de/f/g/h/klmnop/foo02.txt",
+ "a/cf/f/g/h/klmnop/foo02.txt",
+ "a/df/f/g/h/klmnop/foo02.txt",
+ "a/cg/f/g/h/klmnop/foo02.txt",
+ "a/dg/f/g/h/klmnop/foo02.txt",
+ "a/ch/f/g/h/klmnop/foo02.txt",
+ "a/dh/f/g/h/klmnop/foo02.txt",
+ "a/ci/f/g/h/klmnop/foo02.txt",
+ "a/di/f/g/h/klmnop/foo02.txt",
+ "a/cj/f/g/h/klmnop/foo02.txt",
+ "a/dj/f/g/h/klmnop/foo02.txt",
+ "a/b/i/klmnop/foo02.txt",
+ "a/ca/f/g/i/klmnop/foo02.txt",
+ "a/e/d/f/g/i/klmnop/foo02.txt",
+ "a/da/f/g/i/klmnop/foo02.txt",
+ "a/cb/f/g/i/klmnop/foo02.txt",
+ "a/db/f/g/i/klmnop/foo02.txt",
+ "a/cc/f/g/i/klmnop/foo02.txt",
+ "a/dc/f/g/i/klmnop/foo02.txt",
+ "a/cd/f/g/i/klmnop/foo02.txt",
+ "a/dd/f/g/i/klmnop/foo02.txt",
+ "a/ce/f/g/i/klmnop/foo02.txt",
+ "a/de/f/g/i/klmnop/foo02.txt",
+ "a/cf/f/g/i/klmnop/foo02.txt",
+ "a/df/f/g/i/klmnop/foo02.txt",
+ "a/cg/f/g/i/klmnop/foo02.txt",
+ "a/dg/f/g/i/klmnop/foo02.txt",
+ "a/ch/f/g/i/klmnop/foo02.txt",
+ "a/dh/f/g/i/klmnop/foo02.txt",
+ "a/ci/f/g/i/klmnop/foo02.txt",
+ "a/di/f/g/i/klmnop/foo02.txt",
+ "a/cj/f/g/i/klmnop/foo02.txt",
+ "a/dj/f/g/i/klmnop/foo02.txt",
+ "a/b/j/klmnop/foo02.txt",
+ "a/ca/f/g/j/klmnop/foo02.txt",
+ "a/e/d/f/g/j/klmnop/foo02.txt",
+ "a/da/f/g/j/klmnop/foo02.txt",
+ "a/cb/f/g/j/klmnop/foo02.txt",
+ "a/db/f/g/j/klmnop/foo02.txt",
+ "a/cc/f/g/j/klmnop/foo02.txt",
+ "a/dc/f/g/j/klmnop/foo02.txt",
+ "a/cd/f/g/j/klmnop/foo02.txt",
+ "a/dd/f/g/j/klmnop/foo02.txt",
+ "a/ce/f/g/j/klmnop/foo02.txt",
+ "a/de/f/g/j/klmnop/foo02.txt",
+ "a/cf/f/g/j/klmnop/foo02.txt",
+ "a/df/f/g/j/klmnop/foo02.txt",
+ "a/cg/f/g/j/klmnop/foo02.txt",
+ "a/dg/f/g/j/klmnop/foo02.txt",
+ "a/ch/f/g/j/klmnop/foo02.txt",
+ "a/dh/f/g/j/klmnop/foo02.txt",
+ "a/ci/f/g/j/klmnop/foo02.txt",
+ "a/di/f/g/j/klmnop/foo02.txt",
+ "a/cj/f/g/j/klmnop/foo02.txt",
+ "a/dj/f/g/j/klmnop/foo02.txt",
+ "a/b/h/klmnop/foo03.txt",
+ "a/ca/f/g/h/klmnop/foo03.txt",
+ "a/e/d/f/g/h/klmnop/foo03.txt",
+ "a/da/f/g/h/klmnop/foo03.txt",
+ "a/cb/f/g/h/klmnop/foo03.txt",
+ "a/db/f/g/h/klmnop/foo03.txt",
+ "a/cc/f/g/h/klmnop/foo03.txt",
+ "a/dc/f/g/h/klmnop/foo03.txt",
+ "a/cd/f/g/h/klmnop/foo03.txt",
+ "a/dd/f/g/h/klmnop/foo03.txt",
+ "a/ce/f/g/h/klmnop/foo03.txt",
+ "a/de/f/g/h/klmnop/foo03.txt",
+ "a/cf/f/g/h/klmnop/foo03.txt",
+ "a/df/f/g/h/klmnop/foo03.txt",
+ "a/cg/f/g/h/klmnop/foo03.txt",
+ "a/dg/f/g/h/klmnop/foo03.txt",
+ "a/ch/f/g/h/klmnop/foo03.txt",
+ "a/dh/f/g/h/klmnop/foo03.txt",
+ "a/ci/f/g/h/klmnop/foo03.txt",
+ "a/di/f/g/h/klmnop/foo03.txt",
+ "a/cj/f/g/h/klmnop/foo03.txt",
+ "a/dj/f/g/h/klmnop/foo03.txt",
+ "a/b/i/klmnop/foo03.txt",
+ "a/ca/f/g/i/klmnop/foo03.txt",
+ "a/e/d/f/g/i/klmnop/foo03.txt",
+ "a/da/f/g/i/klmnop/foo03.txt",
+ "a/cb/f/g/i/klmnop/foo03.txt",
+ "a/db/f/g/i/klmnop/foo03.txt",
+ "a/cc/f/g/i/klmnop/foo03.txt",
+ "a/dc/f/g/i/klmnop/foo03.txt",
+ "a/cd/f/g/i/klmnop/foo03.txt",
+ "a/dd/f/g/i/klmnop/foo03.txt",
+ "a/ce/f/g/i/klmnop/foo03.txt",
+ "a/de/f/g/i/klmnop/foo03.txt",
+ "a/cf/f/g/i/klmnop/foo03.txt",
+ "a/df/f/g/i/klmnop/foo03.txt",
+ "a/cg/f/g/i/klmnop/foo03.txt",
+ "a/dg/f/g/i/klmnop/foo03.txt",
+ "a/ch/f/g/i/klmnop/foo03.txt",
+ "a/dh/f/g/i/klmnop/foo03.txt",
+ "a/ci/f/g/i/klmnop/foo03.txt",
+ "a/di/f/g/i/klmnop/foo03.txt",
+ "a/cj/f/g/i/klmnop/foo03.txt",
+ "a/dj/f/g/i/klmnop/foo03.txt",
+ "a/b/j/klmnop/foo03.txt",
+ "a/ca/f/g/j/klmnop/foo03.txt",
+ "a/e/d/f/g/j/klmnop/foo03.txt",
+ "a/da/f/g/j/klmnop/foo03.txt",
+ "a/cb/f/g/j/klmnop/foo03.txt",
+ "a/db/f/g/j/klmnop/foo03.txt",
+ "a/cc/f/g/j/klmnop/foo03.txt",
+ "a/dc/f/g/j/klmnop/foo03.txt",
+ "a/cd/f/g/j/klmnop/foo03.txt",
+ "a/dd/f/g/j/klmnop/foo03.txt",
+ "a/ce/f/g/j/klmnop/foo03.txt",
+ "a/de/f/g/j/klmnop/foo03.txt",
+ "a/cf/f/g/j/klmnop/foo03.txt",
+ "a/df/f/g/j/klmnop/foo03.txt",
+ "a/cg/f/g/j/klmnop/foo03.txt",
+ "a/dg/f/g/j/klmnop/foo03.txt",
+ "a/ch/f/g/j/klmnop/foo03.txt",
+ "a/dh/f/g/j/klmnop/foo03.txt",
+ "a/ci/f/g/j/klmnop/foo03.txt",
+ "a/di/f/g/j/klmnop/foo03.txt",
+ "a/cj/f/g/j/klmnop/foo03.txt",
+ "a/dj/f/g/j/klmnop/foo03.txt",
+ "a/b/h/klmnop/foo04.txt",
+ "a/ca/f/g/h/klmnop/foo04.txt",
+ "a/e/d/f/g/h/klmnop/foo04.txt",
+ "a/da/f/g/h/klmnop/foo04.txt",
+ "a/cb/f/g/h/klmnop/foo04.txt",
+ "a/db/f/g/h/klmnop/foo04.txt",
+ "a/cc/f/g/h/klmnop/foo04.txt",
+ "a/dc/f/g/h/klmnop/foo04.txt",
+ "a/cd/f/g/h/klmnop/foo04.txt",
+ "a/dd/f/g/h/klmnop/foo04.txt",
+ "a/ce/f/g/h/klmnop/foo04.txt",
+ "a/de/f/g/h/klmnop/foo04.txt",
+ "a/cf/f/g/h/klmnop/foo04.txt",
+ "a/df/f/g/h/klmnop/foo04.txt",
+ "a/cg/f/g/h/klmnop/foo04.txt",
+ "a/dg/f/g/h/klmnop/foo04.txt",
+ "a/ch/f/g/h/klmnop/foo04.txt",
+ "a/dh/f/g/h/klmnop/foo04.txt",
+ "a/ci/f/g/h/klmnop/foo04.txt",
+ "a/di/f/g/h/klmnop/foo04.txt",
+ "a/cj/f/g/h/klmnop/foo04.txt",
+ "a/dj/f/g/h/klmnop/foo04.txt",
+ "a/b/i/klmnop/foo04.txt",
+ "a/ca/f/g/i/klmnop/foo04.txt",
+ "a/e/d/f/g/i/klmnop/foo04.txt",
+ "a/da/f/g/i/klmnop/foo04.txt",
+ "a/cb/f/g/i/klmnop/foo04.txt",
+ "a/db/f/g/i/klmnop/foo04.txt",
+ "a/cc/f/g/i/klmnop/foo04.txt",
+ "a/dc/f/g/i/klmnop/foo04.txt",
+ "a/cd/f/g/i/klmnop/foo04.txt",
+ "a/dd/f/g/i/klmnop/foo04.txt",
+ "a/ce/f/g/i/klmnop/foo04.txt",
+ "a/de/f/g/i/klmnop/foo04.txt",
+ "a/cf/f/g/i/klmnop/foo04.txt",
+ "a/df/f/g/i/klmnop/foo04.txt",
+ "a/cg/f/g/i/klmnop/foo04.txt",
+ "a/dg/f/g/i/klmnop/foo04.txt",
+ "a/ch/f/g/i/klmnop/foo04.txt",
+ "a/dh/f/g/i/klmnop/foo04.txt",
+ "a/ci/f/g/i/klmnop/foo04.txt",
+ "a/di/f/g/i/klmnop/foo04.txt",
+ "a/cj/f/g/i/klmnop/foo04.txt",
+ "a/dj/f/g/i/klmnop/foo04.txt",
+ "a/b/j/klmnop/foo04.txt",
+ "a/ca/f/g/j/klmnop/foo04.txt",
+ "a/e/d/f/g/j/klmnop/foo04.txt",
+ "a/da/f/g/j/klmnop/foo04.txt",
+ "a/cb/f/g/j/klmnop/foo04.txt",
+ "a/db/f/g/j/klmnop/foo04.txt",
+ "a/cc/f/g/j/klmnop/foo04.txt",
+ "a/dc/f/g/j/klmnop/foo04.txt",
+ "a/cd/f/g/j/klmnop/foo04.txt",
+ "a/dd/f/g/j/klmnop/foo04.txt",
+ "a/ce/f/g/j/klmnop/foo04.txt",
+ "a/de/f/g/j/klmnop/foo04.txt",
+ "a/cf/f/g/j/klmnop/foo04.txt",
+ "a/df/f/g/j/klmnop/foo04.txt",
+ "a/cg/f/g/j/klmnop/foo04.txt",
+ "a/dg/f/g/j/klmnop/foo04.txt",
+ "a/ch/f/g/j/klmnop/foo04.txt",
+ "a/dh/f/g/j/klmnop/foo04.txt",
+ "a/ci/f/g/j/klmnop/foo04.txt",
+ "a/di/f/g/j/klmnop/foo04.txt",
+ "a/cj/f/g/j/klmnop/foo04.txt",
+ "a/dj/f/g/j/klmnop/foo04.txt",
+ "a/b/h/klmnop/foo05.txt",
+ "a/ca/f/g/h/klmnop/foo05.txt",
+ "a/e/d/f/g/h/klmnop/foo05.txt",
+ "a/da/f/g/h/klmnop/foo05.txt",
+ "a/cb/f/g/h/klmnop/foo05.txt",
+ "a/db/f/g/h/klmnop/foo05.txt",
+ "a/cc/f/g/h/klmnop/foo05.txt",
+ "a/dc/f/g/h/klmnop/foo05.txt",
+ "a/cd/f/g/h/klmnop/foo05.txt",
+ "a/dd/f/g/h/klmnop/foo05.txt",
+ "a/ce/f/g/h/klmnop/foo05.txt",
+ "a/de/f/g/h/klmnop/foo05.txt",
+ "a/cf/f/g/h/klmnop/foo05.txt",
+ "a/df/f/g/h/klmnop/foo05.txt",
+ "a/cg/f/g/h/klmnop/foo05.txt",
+ "a/dg/f/g/h/klmnop/foo05.txt",
+ "a/ch/f/g/h/klmnop/foo05.txt",
+ "a/dh/f/g/h/klmnop/foo05.txt",
+ "a/ci/f/g/h/klmnop/foo05.txt",
+ "a/di/f/g/h/klmnop/foo05.txt",
+ "a/cj/f/g/h/klmnop/foo05.txt",
+ "a/dj/f/g/h/klmnop/foo05.txt",
+ "a/b/i/klmnop/foo05.txt",
+ "a/ca/f/g/i/klmnop/foo05.txt",
+ "a/e/d/f/g/i/klmnop/foo05.txt",
+ "a/da/f/g/i/klmnop/foo05.txt",
+ "a/cb/f/g/i/klmnop/foo05.txt",
+ "a/db/f/g/i/klmnop/foo05.txt",
+ "a/cc/f/g/i/klmnop/foo05.txt",
+ "a/dc/f/g/i/klmnop/foo05.txt",
+ "a/cd/f/g/i/klmnop/foo05.txt",
+ "a/dd/f/g/i/klmnop/foo05.txt",
+ "a/ce/f/g/i/klmnop/foo05.txt",
+ "a/de/f/g/i/klmnop/foo05.txt",
+ "a/cf/f/g/i/klmnop/foo05.txt",
+ "a/df/f/g/i/klmnop/foo05.txt",
+ "a/cg/f/g/i/klmnop/foo05.txt",
+ "a/dg/f/g/i/klmnop/foo05.txt",
+ "a/ch/f/g/i/klmnop/foo05.txt",
+ "a/dh/f/g/i/klmnop/foo05.txt",
+ "a/ci/f/g/i/klmnop/foo05.txt",
+ "a/di/f/g/i/klmnop/foo05.txt",
+ "a/cj/f/g/i/klmnop/foo05.txt",
+ "a/dj/f/g/i/klmnop/foo05.txt",
+ "a/b/j/klmnop/foo05.txt",
+ "a/ca/f/g/j/klmnop/foo05.txt",
+ "a/e/d/f/g/j/klmnop/foo05.txt",
+ "a/da/f/g/j/klmnop/foo05.txt",
+ "a/cb/f/g/j/klmnop/foo05.txt",
+ "a/db/f/g/j/klmnop/foo05.txt",
+ "a/cc/f/g/j/klmnop/foo05.txt",
+ "a/dc/f/g/j/klmnop/foo05.txt",
+ "a/cd/f/g/j/klmnop/foo05.txt",
+ "a/dd/f/g/j/klmnop/foo05.txt",
+ "a/ce/f/g/j/klmnop/foo05.txt",
+ "a/de/f/g/j/klmnop/foo05.txt",
+ "a/cf/f/g/j/klmnop/foo05.txt",
+ "a/df/f/g/j/klmnop/foo05.txt",
+ "a/cg/f/g/j/klmnop/foo05.txt",
+ "a/dg/f/g/j/klmnop/foo05.txt",
+ "a/ch/f/g/j/klmnop/foo05.txt",
+ "a/dh/f/g/j/klmnop/foo05.txt",
+ "a/ci/f/g/j/klmnop/foo05.txt",
+ "a/di/f/g/j/klmnop/foo05.txt",
+ "a/cj/f/g/j/klmnop/foo05.txt",
+ "a/dj/f/g/j/klmnop/foo05.txt",
+ "a/b/h/klmnop/foo06.txt",
+ "a/ca/f/g/h/klmnop/foo06.txt",
+ "a/e/d/f/g/h/klmnop/foo06.txt",
+ "a/da/f/g/h/klmnop/foo06.txt",
+ "a/cb/f/g/h/klmnop/foo06.txt",
+ "a/db/f/g/h/klmnop/foo06.txt",
+ "a/cc/f/g/h/klmnop/foo06.txt",
+ "a/dc/f/g/h/klmnop/foo06.txt",
+ "a/cd/f/g/h/klmnop/foo06.txt",
+ "a/dd/f/g/h/klmnop/foo06.txt",
+ "a/ce/f/g/h/klmnop/foo06.txt",
+ "a/de/f/g/h/klmnop/foo06.txt",
+ "a/cf/f/g/h/klmnop/foo06.txt",
+ "a/df/f/g/h/klmnop/foo06.txt",
+ "a/cg/f/g/h/klmnop/foo06.txt",
+ "a/dg/f/g/h/klmnop/foo06.txt",
+ "a/ch/f/g/h/klmnop/foo06.txt",
+ "a/dh/f/g/h/klmnop/foo06.txt",
+ "a/ci/f/g/h/klmnop/foo06.txt",
+ "a/di/f/g/h/klmnop/foo06.txt",
+ "a/cj/f/g/h/klmnop/foo06.txt",
+ "a/dj/f/g/h/klmnop/foo06.txt",
+ "a/b/i/klmnop/foo06.txt",
+ "a/ca/f/g/i/klmnop/foo06.txt",
+ "a/e/d/f/g/i/klmnop/foo06.txt",
+ "a/da/f/g/i/klmnop/foo06.txt",
+ "a/cb/f/g/i/klmnop/foo06.txt",
+ "a/db/f/g/i/klmnop/foo06.txt",
+ "a/cc/f/g/i/klmnop/foo06.txt",
+ "a/dc/f/g/i/klmnop/foo06.txt",
+ "a/cd/f/g/i/klmnop/foo06.txt",
+ "a/dd/f/g/i/klmnop/foo06.txt",
+ "a/ce/f/g/i/klmnop/foo06.txt",
+ "a/de/f/g/i/klmnop/foo06.txt",
+ "a/cf/f/g/i/klmnop/foo06.txt",
+ "a/df/f/g/i/klmnop/foo06.txt",
+ "a/cg/f/g/i/klmnop/foo06.txt",
+ "a/dg/f/g/i/klmnop/foo06.txt",
+ "a/ch/f/g/i/klmnop/foo06.txt",
+ "a/dh/f/g/i/klmnop/foo06.txt",
+ "a/ci/f/g/i/klmnop/foo06.txt",
+ "a/di/f/g/i/klmnop/foo06.txt",
+ "a/cj/f/g/i/klmnop/foo06.txt",
+ "a/dj/f/g/i/klmnop/foo06.txt",
+ "a/b/j/klmnop/foo06.txt",
+ "a/ca/f/g/j/klmnop/foo06.txt",
+ "a/e/d/f/g/j/klmnop/foo06.txt",
+ "a/da/f/g/j/klmnop/foo06.txt",
+ "a/cb/f/g/j/klmnop/foo06.txt",
+ "a/db/f/g/j/klmnop/foo06.txt",
+ "a/cc/f/g/j/klmnop/foo06.txt",
+ "a/dc/f/g/j/klmnop/foo06.txt",
+ "a/cd/f/g/j/klmnop/foo06.txt",
+ "a/dd/f/g/j/klmnop/foo06.txt",
+ "a/ce/f/g/j/klmnop/foo06.txt",
+ "a/de/f/g/j/klmnop/foo06.txt",
+ "a/cf/f/g/j/klmnop/foo06.txt",
+ "a/df/f/g/j/klmnop/foo06.txt",
+ "a/cg/f/g/j/klmnop/foo06.txt",
+ "a/dg/f/g/j/klmnop/foo06.txt",
+ "a/ch/f/g/j/klmnop/foo06.txt",
+ "a/dh/f/g/j/klmnop/foo06.txt",
+ "a/ci/f/g/j/klmnop/foo06.txt",
+ "a/di/f/g/j/klmnop/foo06.txt",
+ "a/cj/f/g/j/klmnop/foo06.txt",
+ "a/dj/f/g/j/klmnop/foo06.txt",
+ "a/b/h/klmnop/foo07.txt",
+ "a/ca/f/g/h/klmnop/foo07.txt",
+ "a/e/d/f/g/h/klmnop/foo07.txt",
+ "a/da/f/g/h/klmnop/foo07.txt",
+ "a/cb/f/g/h/klmnop/foo07.txt",
+ "a/db/f/g/h/klmnop/foo07.txt",
+ "a/cc/f/g/h/klmnop/foo07.txt",
+ "a/dc/f/g/h/klmnop/foo07.txt",
+ "a/cd/f/g/h/klmnop/foo07.txt",
+ "a/dd/f/g/h/klmnop/foo07.txt",
+ "a/ce/f/g/h/klmnop/foo07.txt",
+ "a/de/f/g/h/klmnop/foo07.txt",
+ "a/cf/f/g/h/klmnop/foo07.txt",
+ "a/df/f/g/h/klmnop/foo07.txt",
+ "a/cg/f/g/h/klmnop/foo07.txt",
+ "a/dg/f/g/h/klmnop/foo07.txt",
+ "a/ch/f/g/h/klmnop/foo07.txt",
+ "a/dh/f/g/h/klmnop/foo07.txt",
+ "a/ci/f/g/h/klmnop/foo07.txt",
+ "a/di/f/g/h/klmnop/foo07.txt",
+ "a/cj/f/g/h/klmnop/foo07.txt",
+ "a/dj/f/g/h/klmnop/foo07.txt",
+ "a/b/i/klmnop/foo07.txt",
+ "a/ca/f/g/i/klmnop/foo07.txt",
+ "a/e/d/f/g/i/klmnop/foo07.txt",
+ "a/da/f/g/i/klmnop/foo07.txt",
+ "a/cb/f/g/i/klmnop/foo07.txt",
+ "a/db/f/g/i/klmnop/foo07.txt",
+ "a/cc/f/g/i/klmnop/foo07.txt",
+ "a/dc/f/g/i/klmnop/foo07.txt",
+ "a/cd/f/g/i/klmnop/foo07.txt",
+ "a/dd/f/g/i/klmnop/foo07.txt",
+ "a/ce/f/g/i/klmnop/foo07.txt",
+ "a/de/f/g/i/klmnop/foo07.txt",
+ "a/cf/f/g/i/klmnop/foo07.txt",
+ "a/df/f/g/i/klmnop/foo07.txt",
+ "a/cg/f/g/i/klmnop/foo07.txt",
+ "a/dg/f/g/i/klmnop/foo07.txt",
+ "a/ch/f/g/i/klmnop/foo07.txt",
+ "a/dh/f/g/i/klmnop/foo07.txt",
+ "a/ci/f/g/i/klmnop/foo07.txt",
+ "a/di/f/g/i/klmnop/foo07.txt",
+ "a/cj/f/g/i/klmnop/foo07.txt",
+ "a/dj/f/g/i/klmnop/foo07.txt",
+ "a/b/j/klmnop/foo07.txt",
+ "a/ca/f/g/j/klmnop/foo07.txt",
+ "a/e/d/f/g/j/klmnop/foo07.txt",
+ "a/da/f/g/j/klmnop/foo07.txt",
+ "a/cb/f/g/j/klmnop/foo07.txt",
+ "a/db/f/g/j/klmnop/foo07.txt",
+ "a/cc/f/g/j/klmnop/foo07.txt",
+ "a/dc/f/g/j/klmnop/foo07.txt",
+ "a/cd/f/g/j/klmnop/foo07.txt",
+ "a/dd/f/g/j/klmnop/foo07.txt",
+ "a/ce/f/g/j/klmnop/foo07.txt",
+ "a/de/f/g/j/klmnop/foo07.txt",
+ "a/cf/f/g/j/klmnop/foo07.txt",
+ "a/df/f/g/j/klmnop/foo07.txt",
+ "a/cg/f/g/j/klmnop/foo07.txt",
+ "a/dg/f/g/j/klmnop/foo07.txt",
+ "a/ch/f/g/j/klmnop/foo07.txt",
+ "a/dh/f/g/j/klmnop/foo07.txt",
+ "a/ci/f/g/j/klmnop/foo07.txt",
+ "a/di/f/g/j/klmnop/foo07.txt",
+ "a/cj/f/g/j/klmnop/foo07.txt",
+ "a/dj/f/g/j/klmnop/foo07.txt",
+ "a/b/h/klmnop/foo08.txt",
+ "a/ca/f/g/h/klmnop/foo08.txt",
+ "a/e/d/f/g/h/klmnop/foo08.txt",
+ "a/da/f/g/h/klmnop/foo08.txt",
+ "a/cb/f/g/h/klmnop/foo08.txt",
+ "a/db/f/g/h/klmnop/foo08.txt",
+ "a/cc/f/g/h/klmnop/foo08.txt",
+ "a/dc/f/g/h/klmnop/foo08.txt",
+ "a/cd/f/g/h/klmnop/foo08.txt",
+ "a/dd/f/g/h/klmnop/foo08.txt",
+ "a/ce/f/g/h/klmnop/foo08.txt",
+ "a/de/f/g/h/klmnop/foo08.txt",
+ "a/cf/f/g/h/klmnop/foo08.txt",
+ "a/df/f/g/h/klmnop/foo08.txt",
+ "a/cg/f/g/h/klmnop/foo08.txt",
+ "a/dg/f/g/h/klmnop/foo08.txt",
+ "a/ch/f/g/h/klmnop/foo08.txt",
+ "a/dh/f/g/h/klmnop/foo08.txt",
+ "a/ci/f/g/h/klmnop/foo08.txt",
+ "a/di/f/g/h/klmnop/foo08.txt",
+ "a/cj/f/g/h/klmnop/foo08.txt",
+ "a/dj/f/g/h/klmnop/foo08.txt",
+ "a/b/i/klmnop/foo08.txt",
+ "a/ca/f/g/i/klmnop/foo08.txt",
+ "a/e/d/f/g/i/klmnop/foo08.txt",
+ "a/da/f/g/i/klmnop/foo08.txt",
+ "a/cb/f/g/i/klmnop/foo08.txt",
+ "a/db/f/g/i/klmnop/foo08.txt",
+ "a/cc/f/g/i/klmnop/foo08.txt",
+ "a/dc/f/g/i/klmnop/foo08.txt",
+ "a/cd/f/g/i/klmnop/foo08.txt",
+ "a/dd/f/g/i/klmnop/foo08.txt",
+ "a/ce/f/g/i/klmnop/foo08.txt",
+ "a/de/f/g/i/klmnop/foo08.txt",
+ "a/cf/f/g/i/klmnop/foo08.txt",
+ "a/df/f/g/i/klmnop/foo08.txt",
+ "a/cg/f/g/i/klmnop/foo08.txt",
+ "a/dg/f/g/i/klmnop/foo08.txt",
+ "a/ch/f/g/i/klmnop/foo08.txt",
+ "a/dh/f/g/i/klmnop/foo08.txt",
+ "a/ci/f/g/i/klmnop/foo08.txt",
+ "a/di/f/g/i/klmnop/foo08.txt",
+ "a/cj/f/g/i/klmnop/foo08.txt",
+ "a/dj/f/g/i/klmnop/foo08.txt",
+ "a/b/j/klmnop/foo08.txt",
+ "a/ca/f/g/j/klmnop/foo08.txt",
+ "a/e/d/f/g/j/klmnop/foo08.txt",
+ "a/da/f/g/j/klmnop/foo08.txt",
+ "a/cb/f/g/j/klmnop/foo08.txt",
+ "a/db/f/g/j/klmnop/foo08.txt",
+ "a/cc/f/g/j/klmnop/foo08.txt",
+ "a/dc/f/g/j/klmnop/foo08.txt",
+ "a/cd/f/g/j/klmnop/foo08.txt",
+ "a/dd/f/g/j/klmnop/foo08.txt",
+ "a/ce/f/g/j/klmnop/foo08.txt",
+ "a/de/f/g/j/klmnop/foo08.txt",
+ "a/cf/f/g/j/klmnop/foo08.txt",
+ "a/df/f/g/j/klmnop/foo08.txt",
+ "a/cg/f/g/j/klmnop/foo08.txt",
+ "a/dg/f/g/j/klmnop/foo08.txt",
+ "a/ch/f/g/j/klmnop/foo08.txt",
+ "a/dh/f/g/j/klmnop/foo08.txt",
+ "a/ci/f/g/j/klmnop/foo08.txt",
+ "a/di/f/g/j/klmnop/foo08.txt",
+ "a/cj/f/g/j/klmnop/foo08.txt",
+ "a/dj/f/g/j/klmnop/foo08.txt",
+ "a/b/h/klmnop/foo09.txt",
+ "a/ca/f/g/h/klmnop/foo09.txt",
+ "a/e/d/f/g/h/klmnop/foo09.txt",
+ "a/da/f/g/h/klmnop/foo09.txt",
+ "a/cb/f/g/h/klmnop/foo09.txt",
+ "a/db/f/g/h/klmnop/foo09.txt",
+ "a/cc/f/g/h/klmnop/foo09.txt",
+ "a/dc/f/g/h/klmnop/foo09.txt",
+ "a/cd/f/g/h/klmnop/foo09.txt",
+ "a/dd/f/g/h/klmnop/foo09.txt",
+ "a/ce/f/g/h/klmnop/foo09.txt",
+ "a/de/f/g/h/klmnop/foo09.txt",
+ "a/cf/f/g/h/klmnop/foo09.txt",
+ "a/df/f/g/h/klmnop/foo09.txt",
+ "a/cg/f/g/h/klmnop/foo09.txt",
+ "a/dg/f/g/h/klmnop/foo09.txt",
+ "a/ch/f/g/h/klmnop/foo09.txt",
+ "a/dh/f/g/h/klmnop/foo09.txt",
+ "a/ci/f/g/h/klmnop/foo09.txt",
+ "a/di/f/g/h/klmnop/foo09.txt",
+ "a/cj/f/g/h/klmnop/foo09.txt",
+ "a/dj/f/g/h/klmnop/foo09.txt",
+ "a/b/i/klmnop/foo09.txt",
+ "a/ca/f/g/i/klmnop/foo09.txt",
+ "a/e/d/f/g/i/klmnop/foo09.txt",
+ "a/da/f/g/i/klmnop/foo09.txt",
+ "a/cb/f/g/i/klmnop/foo09.txt",
+ "a/db/f/g/i/klmnop/foo09.txt",
+ "a/cc/f/g/i/klmnop/foo09.txt",
+ "a/dc/f/g/i/klmnop/foo09.txt",
+ "a/cd/f/g/i/klmnop/foo09.txt",
+ "a/dd/f/g/i/klmnop/foo09.txt",
+ "a/ce/f/g/i/klmnop/foo09.txt",
+ "a/de/f/g/i/klmnop/foo09.txt",
+ "a/cf/f/g/i/klmnop/foo09.txt",
+ "a/df/f/g/i/klmnop/foo09.txt",
+ "a/cg/f/g/i/klmnop/foo09.txt",
+ "a/dg/f/g/i/klmnop/foo09.txt",
+ "a/ch/f/g/i/klmnop/foo09.txt",
+ "a/dh/f/g/i/klmnop/foo09.txt",
+ "a/ci/f/g/i/klmnop/foo09.txt",
+ "a/di/f/g/i/klmnop/foo09.txt",
+ "a/cj/f/g/i/klmnop/foo09.txt",
+ "a/dj/f/g/i/klmnop/foo09.txt",
+ "a/b/j/klmnop/foo09.txt",
+ "a/ca/f/g/j/klmnop/foo09.txt",
+ "a/e/d/f/g/j/klmnop/foo09.txt",
+ "a/da/f/g/j/klmnop/foo09.txt",
+ "a/cb/f/g/j/klmnop/foo09.txt",
+ "a/db/f/g/j/klmnop/foo09.txt",
+ "a/cc/f/g/j/klmnop/foo09.txt",
+ "a/dc/f/g/j/klmnop/foo09.txt",
+ "a/cd/f/g/j/klmnop/foo09.txt",
+ "a/dd/f/g/j/klmnop/foo09.txt",
+ "a/ce/f/g/j/klmnop/foo09.txt",
+ "a/de/f/g/j/klmnop/foo09.txt",
+ "a/cf/f/g/j/klmnop/foo09.txt",
+ "a/df/f/g/j/klmnop/foo09.txt",
+ "a/cg/f/g/j/klmnop/foo09.txt",
+ "a/dg/f/g/j/klmnop/foo09.txt",
+ "a/ch/f/g/j/klmnop/foo09.txt",
+ "a/dh/f/g/j/klmnop/foo09.txt",
+ "a/ci/f/g/j/klmnop/foo09.txt",
+ "a/di/f/g/j/klmnop/foo09.txt",
+ "a/cj/f/g/j/klmnop/foo09.txt",
+ "a/dj/f/g/j/klmnop/foo09.txt",
+ "a/b/h/klmnop/foo10.txt",
+ "a/ca/f/g/h/klmnop/foo10.txt",
+ "a/e/d/f/g/h/klmnop/foo10.txt",
+ "a/da/f/g/h/klmnop/foo10.txt",
+ "a/cb/f/g/h/klmnop/foo10.txt",
+ "a/db/f/g/h/klmnop/foo10.txt",
+ "a/cc/f/g/h/klmnop/foo10.txt",
+ "a/dc/f/g/h/klmnop/foo10.txt",
+ "a/cd/f/g/h/klmnop/foo10.txt",
+ "a/dd/f/g/h/klmnop/foo10.txt",
+ "a/ce/f/g/h/klmnop/foo10.txt",
+ "a/de/f/g/h/klmnop/foo10.txt",
+ "a/cf/f/g/h/klmnop/foo10.txt",
+ "a/df/f/g/h/klmnop/foo10.txt",
+ "a/cg/f/g/h/klmnop/foo10.txt",
+ "a/dg/f/g/h/klmnop/foo10.txt",
+ "a/ch/f/g/h/klmnop/foo10.txt",
+ "a/dh/f/g/h/klmnop/foo10.txt",
+ "a/ci/f/g/h/klmnop/foo10.txt",
+ "a/di/f/g/h/klmnop/foo10.txt",
+ "a/cj/f/g/h/klmnop/foo10.txt",
+ "a/dj/f/g/h/klmnop/foo10.txt",
+ "a/b/i/klmnop/foo10.txt",
+ "a/ca/f/g/i/klmnop/foo10.txt",
+ "a/e/d/f/g/i/klmnop/foo10.txt",
+ "a/da/f/g/i/klmnop/foo10.txt",
+ "a/cb/f/g/i/klmnop/foo10.txt",
+ "a/db/f/g/i/klmnop/foo10.txt",
+ "a/cc/f/g/i/klmnop/foo10.txt",
+ "a/dc/f/g/i/klmnop/foo10.txt",
+ "a/cd/f/g/i/klmnop/foo10.txt",
+ "a/dd/f/g/i/klmnop/foo10.txt",
+ "a/ce/f/g/i/klmnop/foo10.txt",
+ "a/de/f/g/i/klmnop/foo10.txt",
+ "a/cf/f/g/i/klmnop/foo10.txt",
+ "a/df/f/g/i/klmnop/foo10.txt",
+ "a/cg/f/g/i/klmnop/foo10.txt",
+ "a/dg/f/g/i/klmnop/foo10.txt",
+ "a/ch/f/g/i/klmnop/foo10.txt",
+ "a/dh/f/g/i/klmnop/foo10.txt",
+ "a/ci/f/g/i/klmnop/foo10.txt",
+ "a/di/f/g/i/klmnop/foo10.txt",
+ "a/cj/f/g/i/klmnop/foo10.txt",
+ "a/dj/f/g/i/klmnop/foo10.txt",
+ "a/b/j/klmnop/foo10.txt",
+ "a/ca/f/g/j/klmnop/foo10.txt",
+ "a/e/d/f/g/j/klmnop/foo10.txt",
+ "a/da/f/g/j/klmnop/foo10.txt",
+ "a/cb/f/g/j/klmnop/foo10.txt",
+ "a/db/f/g/j/klmnop/foo10.txt",
+ "a/cc/f/g/j/klmnop/foo10.txt",
+ "a/dc/f/g/j/klmnop/foo10.txt",
+ "a/cd/f/g/j/klmnop/foo10.txt",
+ "a/dd/f/g/j/klmnop/foo10.txt",
+ "a/ce/f/g/j/klmnop/foo10.txt",
+ "a/de/f/g/j/klmnop/foo10.txt",
+ "a/cf/f/g/j/klmnop/foo10.txt",
+ "a/df/f/g/j/klmnop/foo10.txt",
+ "a/cg/f/g/j/klmnop/foo10.txt",
+ "a/dg/f/g/j/klmnop/foo10.txt",
+ "a/ch/f/g/j/klmnop/foo10.txt",
+ "a/dh/f/g/j/klmnop/foo10.txt",
+ "a/ci/f/g/j/klmnop/foo10.txt",
+ "a/di/f/g/j/klmnop/foo10.txt",
+ "a/cj/f/g/j/klmnop/foo10.txt",
+ "a/dj/f/g/j/klmnop/foo10.txt",
+ "a/b/h/klmnop/foo01.hbs",
+ "a/ca/f/g/h/klmnop/foo01.hbs",
+ "a/e/d/f/g/h/klmnop/foo01.hbs",
+ "a/da/f/g/h/klmnop/foo01.hbs",
+ "a/cb/f/g/h/klmnop/foo01.hbs",
+ "a/db/f/g/h/klmnop/foo01.hbs",
+ "a/cc/f/g/h/klmnop/foo01.hbs",
+ "a/dc/f/g/h/klmnop/foo01.hbs",
+ "a/cd/f/g/h/klmnop/foo01.hbs",
+ "a/dd/f/g/h/klmnop/foo01.hbs",
+ "a/ce/f/g/h/klmnop/foo01.hbs",
+ "a/de/f/g/h/klmnop/foo01.hbs",
+ "a/cf/f/g/h/klmnop/foo01.hbs",
+ "a/df/f/g/h/klmnop/foo01.hbs",
+ "a/cg/f/g/h/klmnop/foo01.hbs",
+ "a/dg/f/g/h/klmnop/foo01.hbs",
+ "a/ch/f/g/h/klmnop/foo01.hbs",
+ "a/dh/f/g/h/klmnop/foo01.hbs",
+ "a/ci/f/g/h/klmnop/foo01.hbs",
+ "a/di/f/g/h/klmnop/foo01.hbs",
+ "a/cj/f/g/h/klmnop/foo01.hbs",
+ "a/dj/f/g/h/klmnop/foo01.hbs",
+ "a/b/i/klmnop/foo01.hbs",
+ "a/ca/f/g/i/klmnop/foo01.hbs",
+ "a/e/d/f/g/i/klmnop/foo01.hbs",
+ "a/da/f/g/i/klmnop/foo01.hbs",
+ "a/cb/f/g/i/klmnop/foo01.hbs",
+ "a/db/f/g/i/klmnop/foo01.hbs",
+ "a/cc/f/g/i/klmnop/foo01.hbs",
+ "a/dc/f/g/i/klmnop/foo01.hbs",
+ "a/cd/f/g/i/klmnop/foo01.hbs",
+ "a/dd/f/g/i/klmnop/foo01.hbs",
+ "a/ce/f/g/i/klmnop/foo01.hbs",
+ "a/de/f/g/i/klmnop/foo01.hbs",
+ "a/cf/f/g/i/klmnop/foo01.hbs",
+ "a/df/f/g/i/klmnop/foo01.hbs",
+ "a/cg/f/g/i/klmnop/foo01.hbs",
+ "a/dg/f/g/i/klmnop/foo01.hbs",
+ "a/ch/f/g/i/klmnop/foo01.hbs",
+ "a/dh/f/g/i/klmnop/foo01.hbs",
+ "a/ci/f/g/i/klmnop/foo01.hbs",
+ "a/di/f/g/i/klmnop/foo01.hbs",
+ "a/cj/f/g/i/klmnop/foo01.hbs",
+ "a/dj/f/g/i/klmnop/foo01.hbs",
+ "a/b/j/klmnop/foo01.hbs",
+ "a/ca/f/g/j/klmnop/foo01.hbs",
+ "a/e/d/f/g/j/klmnop/foo01.hbs",
+ "a/da/f/g/j/klmnop/foo01.hbs",
+ "a/cb/f/g/j/klmnop/foo01.hbs",
+ "a/db/f/g/j/klmnop/foo01.hbs",
+ "a/cc/f/g/j/klmnop/foo01.hbs",
+ "a/dc/f/g/j/klmnop/foo01.hbs",
+ "a/cd/f/g/j/klmnop/foo01.hbs",
+ "a/dd/f/g/j/klmnop/foo01.hbs",
+ "a/ce/f/g/j/klmnop/foo01.hbs",
+ "a/de/f/g/j/klmnop/foo01.hbs",
+ "a/cf/f/g/j/klmnop/foo01.hbs",
+ "a/df/f/g/j/klmnop/foo01.hbs",
+ "a/cg/f/g/j/klmnop/foo01.hbs",
+ "a/dg/f/g/j/klmnop/foo01.hbs",
+ "a/ch/f/g/j/klmnop/foo01.hbs",
+ "a/dh/f/g/j/klmnop/foo01.hbs",
+ "a/ci/f/g/j/klmnop/foo01.hbs",
+ "a/di/f/g/j/klmnop/foo01.hbs",
+ "a/cj/f/g/j/klmnop/foo01.hbs",
+ "a/dj/f/g/j/klmnop/foo01.hbs",
+ "a/b/h/klmnop/foo02.hbs",
+ "a/ca/f/g/h/klmnop/foo02.hbs",
+ "a/e/d/f/g/h/klmnop/foo02.hbs",
+ "a/da/f/g/h/klmnop/foo02.hbs",
+ "a/cb/f/g/h/klmnop/foo02.hbs",
+ "a/db/f/g/h/klmnop/foo02.hbs",
+ "a/cc/f/g/h/klmnop/foo02.hbs",
+ "a/dc/f/g/h/klmnop/foo02.hbs",
+ "a/cd/f/g/h/klmnop/foo02.hbs",
+ "a/dd/f/g/h/klmnop/foo02.hbs",
+ "a/ce/f/g/h/klmnop/foo02.hbs",
+ "a/de/f/g/h/klmnop/foo02.hbs",
+ "a/cf/f/g/h/klmnop/foo02.hbs",
+ "a/df/f/g/h/klmnop/foo02.hbs",
+ "a/cg/f/g/h/klmnop/foo02.hbs",
+ "a/dg/f/g/h/klmnop/foo02.hbs",
+ "a/ch/f/g/h/klmnop/foo02.hbs",
+ "a/dh/f/g/h/klmnop/foo02.hbs",
+ "a/ci/f/g/h/klmnop/foo02.hbs",
+ "a/di/f/g/h/klmnop/foo02.hbs",
+ "a/cj/f/g/h/klmnop/foo02.hbs",
+ "a/dj/f/g/h/klmnop/foo02.hbs",
+ "a/b/i/klmnop/foo02.hbs",
+ "a/ca/f/g/i/klmnop/foo02.hbs",
+ "a/e/d/f/g/i/klmnop/foo02.hbs",
+ "a/da/f/g/i/klmnop/foo02.hbs",
+ "a/cb/f/g/i/klmnop/foo02.hbs",
+ "a/db/f/g/i/klmnop/foo02.hbs",
+ "a/cc/f/g/i/klmnop/foo02.hbs",
+ "a/dc/f/g/i/klmnop/foo02.hbs",
+ "a/cd/f/g/i/klmnop/foo02.hbs",
+ "a/dd/f/g/i/klmnop/foo02.hbs",
+ "a/ce/f/g/i/klmnop/foo02.hbs",
+ "a/de/f/g/i/klmnop/foo02.hbs",
+ "a/cf/f/g/i/klmnop/foo02.hbs",
+ "a/df/f/g/i/klmnop/foo02.hbs",
+ "a/cg/f/g/i/klmnop/foo02.hbs",
+ "a/dg/f/g/i/klmnop/foo02.hbs",
+ "a/ch/f/g/i/klmnop/foo02.hbs",
+ "a/dh/f/g/i/klmnop/foo02.hbs",
+ "a/ci/f/g/i/klmnop/foo02.hbs",
+ "a/di/f/g/i/klmnop/foo02.hbs",
+ "a/cj/f/g/i/klmnop/foo02.hbs",
+ "a/dj/f/g/i/klmnop/foo02.hbs",
+ "a/b/j/klmnop/foo02.hbs",
+ "a/ca/f/g/j/klmnop/foo02.hbs",
+ "a/e/d/f/g/j/klmnop/foo02.hbs",
+ "a/da/f/g/j/klmnop/foo02.hbs",
+ "a/cb/f/g/j/klmnop/foo02.hbs",
+ "a/db/f/g/j/klmnop/foo02.hbs",
+ "a/cc/f/g/j/klmnop/foo02.hbs",
+ "a/dc/f/g/j/klmnop/foo02.hbs",
+ "a/cd/f/g/j/klmnop/foo02.hbs",
+ "a/dd/f/g/j/klmnop/foo02.hbs",
+ "a/ce/f/g/j/klmnop/foo02.hbs",
+ "a/de/f/g/j/klmnop/foo02.hbs",
+ "a/cf/f/g/j/klmnop/foo02.hbs",
+ "a/df/f/g/j/klmnop/foo02.hbs",
+ "a/cg/f/g/j/klmnop/foo02.hbs",
+ "a/dg/f/g/j/klmnop/foo02.hbs",
+ "a/ch/f/g/j/klmnop/foo02.hbs",
+ "a/dh/f/g/j/klmnop/foo02.hbs",
+ "a/ci/f/g/j/klmnop/foo02.hbs",
+ "a/di/f/g/j/klmnop/foo02.hbs",
+ "a/cj/f/g/j/klmnop/foo02.hbs",
+ "a/dj/f/g/j/klmnop/foo02.hbs",
+ "a/b/h/klmnop/foo03.hbs",
+ "a/ca/f/g/h/klmnop/foo03.hbs",
+ "a/e/d/f/g/h/klmnop/foo03.hbs",
+ "a/da/f/g/h/klmnop/foo03.hbs",
+ "a/cb/f/g/h/klmnop/foo03.hbs",
+ "a/db/f/g/h/klmnop/foo03.hbs",
+ "a/cc/f/g/h/klmnop/foo03.hbs",
+ "a/dc/f/g/h/klmnop/foo03.hbs",
+ "a/cd/f/g/h/klmnop/foo03.hbs",
+ "a/dd/f/g/h/klmnop/foo03.hbs",
+ "a/ce/f/g/h/klmnop/foo03.hbs",
+ "a/de/f/g/h/klmnop/foo03.hbs",
+ "a/cf/f/g/h/klmnop/foo03.hbs",
+ "a/df/f/g/h/klmnop/foo03.hbs",
+ "a/cg/f/g/h/klmnop/foo03.hbs",
+ "a/dg/f/g/h/klmnop/foo03.hbs",
+ "a/ch/f/g/h/klmnop/foo03.hbs",
+ "a/dh/f/g/h/klmnop/foo03.hbs",
+ "a/ci/f/g/h/klmnop/foo03.hbs",
+ "a/di/f/g/h/klmnop/foo03.hbs",
+ "a/cj/f/g/h/klmnop/foo03.hbs",
+ "a/dj/f/g/h/klmnop/foo03.hbs",
+ "a/b/i/klmnop/foo03.hbs",
+ "a/ca/f/g/i/klmnop/foo03.hbs",
+ "a/e/d/f/g/i/klmnop/foo03.hbs",
+ "a/da/f/g/i/klmnop/foo03.hbs",
+ "a/cb/f/g/i/klmnop/foo03.hbs",
+ "a/db/f/g/i/klmnop/foo03.hbs",
+ "a/cc/f/g/i/klmnop/foo03.hbs",
+ "a/dc/f/g/i/klmnop/foo03.hbs",
+ "a/cd/f/g/i/klmnop/foo03.hbs",
+ "a/dd/f/g/i/klmnop/foo03.hbs",
+ "a/ce/f/g/i/klmnop/foo03.hbs",
+ "a/de/f/g/i/klmnop/foo03.hbs",
+ "a/cf/f/g/i/klmnop/foo03.hbs",
+ "a/df/f/g/i/klmnop/foo03.hbs",
+ "a/cg/f/g/i/klmnop/foo03.hbs",
+ "a/dg/f/g/i/klmnop/foo03.hbs",
+ "a/ch/f/g/i/klmnop/foo03.hbs",
+ "a/dh/f/g/i/klmnop/foo03.hbs",
+ "a/ci/f/g/i/klmnop/foo03.hbs",
+ "a/di/f/g/i/klmnop/foo03.hbs",
+ "a/cj/f/g/i/klmnop/foo03.hbs",
+ "a/dj/f/g/i/klmnop/foo03.hbs",
+ "a/b/j/klmnop/foo03.hbs",
+ "a/ca/f/g/j/klmnop/foo03.hbs",
+ "a/e/d/f/g/j/klmnop/foo03.hbs",
+ "a/da/f/g/j/klmnop/foo03.hbs",
+ "a/cb/f/g/j/klmnop/foo03.hbs",
+ "a/db/f/g/j/klmnop/foo03.hbs",
+ "a/cc/f/g/j/klmnop/foo03.hbs",
+ "a/dc/f/g/j/klmnop/foo03.hbs",
+ "a/cd/f/g/j/klmnop/foo03.hbs",
+ "a/dd/f/g/j/klmnop/foo03.hbs",
+ "a/ce/f/g/j/klmnop/foo03.hbs",
+ "a/de/f/g/j/klmnop/foo03.hbs",
+ "a/cf/f/g/j/klmnop/foo03.hbs",
+ "a/df/f/g/j/klmnop/foo03.hbs",
+ "a/cg/f/g/j/klmnop/foo03.hbs",
+ "a/dg/f/g/j/klmnop/foo03.hbs",
+ "a/ch/f/g/j/klmnop/foo03.hbs",
+ "a/dh/f/g/j/klmnop/foo03.hbs",
+ "a/ci/f/g/j/klmnop/foo03.hbs",
+ "a/di/f/g/j/klmnop/foo03.hbs",
+ "a/cj/f/g/j/klmnop/foo03.hbs",
+ "a/dj/f/g/j/klmnop/foo03.hbs",
+ "a/b/h/klmnop/foo04.hbs",
+ "a/ca/f/g/h/klmnop/foo04.hbs",
+ "a/e/d/f/g/h/klmnop/foo04.hbs",
+ "a/da/f/g/h/klmnop/foo04.hbs",
+ "a/cb/f/g/h/klmnop/foo04.hbs",
+ "a/db/f/g/h/klmnop/foo04.hbs",
+ "a/cc/f/g/h/klmnop/foo04.hbs",
+ "a/dc/f/g/h/klmnop/foo04.hbs",
+ "a/cd/f/g/h/klmnop/foo04.hbs",
+ "a/dd/f/g/h/klmnop/foo04.hbs",
+ "a/ce/f/g/h/klmnop/foo04.hbs",
+ "a/de/f/g/h/klmnop/foo04.hbs",
+ "a/cf/f/g/h/klmnop/foo04.hbs",
+ "a/df/f/g/h/klmnop/foo04.hbs",
+ "a/cg/f/g/h/klmnop/foo04.hbs",
+ "a/dg/f/g/h/klmnop/foo04.hbs",
+ "a/ch/f/g/h/klmnop/foo04.hbs",
+ "a/dh/f/g/h/klmnop/foo04.hbs",
+ "a/ci/f/g/h/klmnop/foo04.hbs",
+ "a/di/f/g/h/klmnop/foo04.hbs",
+ "a/cj/f/g/h/klmnop/foo04.hbs",
+ "a/dj/f/g/h/klmnop/foo04.hbs",
+ "a/b/i/klmnop/foo04.hbs",
+ "a/ca/f/g/i/klmnop/foo04.hbs",
+ "a/e/d/f/g/i/klmnop/foo04.hbs",
+ "a/da/f/g/i/klmnop/foo04.hbs",
+ "a/cb/f/g/i/klmnop/foo04.hbs",
+ "a/db/f/g/i/klmnop/foo04.hbs",
+ "a/cc/f/g/i/klmnop/foo04.hbs",
+ "a/dc/f/g/i/klmnop/foo04.hbs",
+ "a/cd/f/g/i/klmnop/foo04.hbs",
+ "a/dd/f/g/i/klmnop/foo04.hbs",
+ "a/ce/f/g/i/klmnop/foo04.hbs",
+ "a/de/f/g/i/klmnop/foo04.hbs",
+ "a/cf/f/g/i/klmnop/foo04.hbs",
+ "a/df/f/g/i/klmnop/foo04.hbs",
+ "a/cg/f/g/i/klmnop/foo04.hbs",
+ "a/dg/f/g/i/klmnop/foo04.hbs",
+ "a/ch/f/g/i/klmnop/foo04.hbs",
+ "a/dh/f/g/i/klmnop/foo04.hbs",
+ "a/ci/f/g/i/klmnop/foo04.hbs",
+ "a/di/f/g/i/klmnop/foo04.hbs",
+ "a/cj/f/g/i/klmnop/foo04.hbs",
+ "a/dj/f/g/i/klmnop/foo04.hbs",
+ "a/b/j/klmnop/foo04.hbs",
+ "a/ca/f/g/j/klmnop/foo04.hbs",
+ "a/e/d/f/g/j/klmnop/foo04.hbs",
+ "a/da/f/g/j/klmnop/foo04.hbs",
+ "a/cb/f/g/j/klmnop/foo04.hbs",
+ "a/db/f/g/j/klmnop/foo04.hbs",
+ "a/cc/f/g/j/klmnop/foo04.hbs",
+ "a/dc/f/g/j/klmnop/foo04.hbs",
+ "a/cd/f/g/j/klmnop/foo04.hbs",
+ "a/dd/f/g/j/klmnop/foo04.hbs",
+ "a/ce/f/g/j/klmnop/foo04.hbs",
+ "a/de/f/g/j/klmnop/foo04.hbs",
+ "a/cf/f/g/j/klmnop/foo04.hbs",
+ "a/df/f/g/j/klmnop/foo04.hbs",
+ "a/cg/f/g/j/klmnop/foo04.hbs",
+ "a/dg/f/g/j/klmnop/foo04.hbs",
+ "a/ch/f/g/j/klmnop/foo04.hbs",
+ "a/dh/f/g/j/klmnop/foo04.hbs",
+ "a/ci/f/g/j/klmnop/foo04.hbs",
+ "a/di/f/g/j/klmnop/foo04.hbs",
+ "a/cj/f/g/j/klmnop/foo04.hbs",
+ "a/dj/f/g/j/klmnop/foo04.hbs",
+ "a/b/h/klmnop/foo05.hbs",
+ "a/ca/f/g/h/klmnop/foo05.hbs",
+ "a/e/d/f/g/h/klmnop/foo05.hbs",
+ "a/da/f/g/h/klmnop/foo05.hbs",
+ "a/cb/f/g/h/klmnop/foo05.hbs",
+ "a/db/f/g/h/klmnop/foo05.hbs",
+ "a/cc/f/g/h/klmnop/foo05.hbs",
+ "a/dc/f/g/h/klmnop/foo05.hbs",
+ "a/cd/f/g/h/klmnop/foo05.hbs",
+ "a/dd/f/g/h/klmnop/foo05.hbs",
+ "a/ce/f/g/h/klmnop/foo05.hbs",
+ "a/de/f/g/h/klmnop/foo05.hbs",
+ "a/cf/f/g/h/klmnop/foo05.hbs",
+ "a/df/f/g/h/klmnop/foo05.hbs",
+ "a/cg/f/g/h/klmnop/foo05.hbs",
+ "a/dg/f/g/h/klmnop/foo05.hbs",
+ "a/ch/f/g/h/klmnop/foo05.hbs",
+ "a/dh/f/g/h/klmnop/foo05.hbs",
+ "a/ci/f/g/h/klmnop/foo05.hbs",
+ "a/di/f/g/h/klmnop/foo05.hbs",
+ "a/cj/f/g/h/klmnop/foo05.hbs",
+ "a/dj/f/g/h/klmnop/foo05.hbs",
+ "a/b/i/klmnop/foo05.hbs",
+ "a/ca/f/g/i/klmnop/foo05.hbs",
+ "a/e/d/f/g/i/klmnop/foo05.hbs",
+ "a/da/f/g/i/klmnop/foo05.hbs",
+ "a/cb/f/g/i/klmnop/foo05.hbs",
+ "a/db/f/g/i/klmnop/foo05.hbs",
+ "a/cc/f/g/i/klmnop/foo05.hbs",
+ "a/dc/f/g/i/klmnop/foo05.hbs",
+ "a/cd/f/g/i/klmnop/foo05.hbs",
+ "a/dd/f/g/i/klmnop/foo05.hbs",
+ "a/ce/f/g/i/klmnop/foo05.hbs",
+ "a/de/f/g/i/klmnop/foo05.hbs",
+ "a/cf/f/g/i/klmnop/foo05.hbs",
+ "a/df/f/g/i/klmnop/foo05.hbs",
+ "a/cg/f/g/i/klmnop/foo05.hbs",
+ "a/dg/f/g/i/klmnop/foo05.hbs",
+ "a/ch/f/g/i/klmnop/foo05.hbs",
+ "a/dh/f/g/i/klmnop/foo05.hbs",
+ "a/ci/f/g/i/klmnop/foo05.hbs",
+ "a/di/f/g/i/klmnop/foo05.hbs",
+ "a/cj/f/g/i/klmnop/foo05.hbs",
+ "a/dj/f/g/i/klmnop/foo05.hbs",
+ "a/b/j/klmnop/foo05.hbs",
+ "a/ca/f/g/j/klmnop/foo05.hbs",
+ "a/e/d/f/g/j/klmnop/foo05.hbs",
+ "a/da/f/g/j/klmnop/foo05.hbs",
+ "a/cb/f/g/j/klmnop/foo05.hbs",
+ "a/db/f/g/j/klmnop/foo05.hbs",
+ "a/cc/f/g/j/klmnop/foo05.hbs",
+ "a/dc/f/g/j/klmnop/foo05.hbs",
+ "a/cd/f/g/j/klmnop/foo05.hbs",
+ "a/dd/f/g/j/klmnop/foo05.hbs",
+ "a/ce/f/g/j/klmnop/foo05.hbs",
+ "a/de/f/g/j/klmnop/foo05.hbs",
+ "a/cf/f/g/j/klmnop/foo05.hbs",
+ "a/df/f/g/j/klmnop/foo05.hbs",
+ "a/cg/f/g/j/klmnop/foo05.hbs",
+ "a/dg/f/g/j/klmnop/foo05.hbs",
+ "a/ch/f/g/j/klmnop/foo05.hbs",
+ "a/dh/f/g/j/klmnop/foo05.hbs",
+ "a/ci/f/g/j/klmnop/foo05.hbs",
+ "a/di/f/g/j/klmnop/foo05.hbs",
+ "a/cj/f/g/j/klmnop/foo05.hbs",
+ "a/dj/f/g/j/klmnop/foo05.hbs",
+ "a/b/h/klmnop/foo06.hbs",
+ "a/ca/f/g/h/klmnop/foo06.hbs",
+ "a/e/d/f/g/h/klmnop/foo06.hbs",
+ "a/da/f/g/h/klmnop/foo06.hbs",
+ "a/cb/f/g/h/klmnop/foo06.hbs",
+ "a/db/f/g/h/klmnop/foo06.hbs",
+ "a/cc/f/g/h/klmnop/foo06.hbs",
+ "a/dc/f/g/h/klmnop/foo06.hbs",
+ "a/cd/f/g/h/klmnop/foo06.hbs",
+ "a/dd/f/g/h/klmnop/foo06.hbs",
+ "a/ce/f/g/h/klmnop/foo06.hbs",
+ "a/de/f/g/h/klmnop/foo06.hbs",
+ "a/cf/f/g/h/klmnop/foo06.hbs",
+ "a/df/f/g/h/klmnop/foo06.hbs",
+ "a/cg/f/g/h/klmnop/foo06.hbs",
+ "a/dg/f/g/h/klmnop/foo06.hbs",
+ "a/ch/f/g/h/klmnop/foo06.hbs",
+ "a/dh/f/g/h/klmnop/foo06.hbs",
+ "a/ci/f/g/h/klmnop/foo06.hbs",
+ "a/di/f/g/h/klmnop/foo06.hbs",
+ "a/cj/f/g/h/klmnop/foo06.hbs",
+ "a/dj/f/g/h/klmnop/foo06.hbs",
+ "a/b/i/klmnop/foo06.hbs",
+ "a/ca/f/g/i/klmnop/foo06.hbs",
+ "a/e/d/f/g/i/klmnop/foo06.hbs",
+ "a/da/f/g/i/klmnop/foo06.hbs",
+ "a/cb/f/g/i/klmnop/foo06.hbs",
+ "a/db/f/g/i/klmnop/foo06.hbs",
+ "a/cc/f/g/i/klmnop/foo06.hbs",
+ "a/dc/f/g/i/klmnop/foo06.hbs",
+ "a/cd/f/g/i/klmnop/foo06.hbs",
+ "a/dd/f/g/i/klmnop/foo06.hbs",
+ "a/ce/f/g/i/klmnop/foo06.hbs",
+ "a/de/f/g/i/klmnop/foo06.hbs",
+ "a/cf/f/g/i/klmnop/foo06.hbs",
+ "a/df/f/g/i/klmnop/foo06.hbs",
+ "a/cg/f/g/i/klmnop/foo06.hbs",
+ "a/dg/f/g/i/klmnop/foo06.hbs",
+ "a/ch/f/g/i/klmnop/foo06.hbs",
+ "a/dh/f/g/i/klmnop/foo06.hbs",
+ "a/ci/f/g/i/klmnop/foo06.hbs",
+ "a/di/f/g/i/klmnop/foo06.hbs",
+ "a/cj/f/g/i/klmnop/foo06.hbs",
+ "a/dj/f/g/i/klmnop/foo06.hbs",
+ "a/b/j/klmnop/foo06.hbs",
+ "a/ca/f/g/j/klmnop/foo06.hbs",
+ "a/e/d/f/g/j/klmnop/foo06.hbs",
+ "a/da/f/g/j/klmnop/foo06.hbs",
+ "a/cb/f/g/j/klmnop/foo06.hbs",
+ "a/db/f/g/j/klmnop/foo06.hbs",
+ "a/cc/f/g/j/klmnop/foo06.hbs",
+ "a/dc/f/g/j/klmnop/foo06.hbs",
+ "a/cd/f/g/j/klmnop/foo06.hbs",
+ "a/dd/f/g/j/klmnop/foo06.hbs",
+ "a/ce/f/g/j/klmnop/foo06.hbs",
+ "a/de/f/g/j/klmnop/foo06.hbs",
+ "a/cf/f/g/j/klmnop/foo06.hbs",
+ "a/df/f/g/j/klmnop/foo06.hbs",
+ "a/cg/f/g/j/klmnop/foo06.hbs",
+ "a/dg/f/g/j/klmnop/foo06.hbs",
+ "a/ch/f/g/j/klmnop/foo06.hbs",
+ "a/dh/f/g/j/klmnop/foo06.hbs",
+ "a/ci/f/g/j/klmnop/foo06.hbs",
+ "a/di/f/g/j/klmnop/foo06.hbs",
+ "a/cj/f/g/j/klmnop/foo06.hbs",
+ "a/dj/f/g/j/klmnop/foo06.hbs",
+ "a/b/h/klmnop/foo07.hbs",
+ "a/ca/f/g/h/klmnop/foo07.hbs",
+ "a/e/d/f/g/h/klmnop/foo07.hbs",
+ "a/da/f/g/h/klmnop/foo07.hbs",
+ "a/cb/f/g/h/klmnop/foo07.hbs",
+ "a/db/f/g/h/klmnop/foo07.hbs",
+ "a/cc/f/g/h/klmnop/foo07.hbs",
+ "a/dc/f/g/h/klmnop/foo07.hbs",
+ "a/cd/f/g/h/klmnop/foo07.hbs",
+ "a/dd/f/g/h/klmnop/foo07.hbs",
+ "a/ce/f/g/h/klmnop/foo07.hbs",
+ "a/de/f/g/h/klmnop/foo07.hbs",
+ "a/cf/f/g/h/klmnop/foo07.hbs",
+ "a/df/f/g/h/klmnop/foo07.hbs",
+ "a/cg/f/g/h/klmnop/foo07.hbs",
+ "a/dg/f/g/h/klmnop/foo07.hbs",
+ "a/ch/f/g/h/klmnop/foo07.hbs",
+ "a/dh/f/g/h/klmnop/foo07.hbs",
+ "a/ci/f/g/h/klmnop/foo07.hbs",
+ "a/di/f/g/h/klmnop/foo07.hbs",
+ "a/cj/f/g/h/klmnop/foo07.hbs",
+ "a/dj/f/g/h/klmnop/foo07.hbs",
+ "a/b/i/klmnop/foo07.hbs",
+ "a/ca/f/g/i/klmnop/foo07.hbs",
+ "a/e/d/f/g/i/klmnop/foo07.hbs",
+ "a/da/f/g/i/klmnop/foo07.hbs",
+ "a/cb/f/g/i/klmnop/foo07.hbs",
+ "a/db/f/g/i/klmnop/foo07.hbs",
+ "a/cc/f/g/i/klmnop/foo07.hbs",
+ "a/dc/f/g/i/klmnop/foo07.hbs",
+ "a/cd/f/g/i/klmnop/foo07.hbs",
+ "a/dd/f/g/i/klmnop/foo07.hbs",
+ "a/ce/f/g/i/klmnop/foo07.hbs",
+ "a/de/f/g/i/klmnop/foo07.hbs",
+ "a/cf/f/g/i/klmnop/foo07.hbs",
+ "a/df/f/g/i/klmnop/foo07.hbs",
+ "a/cg/f/g/i/klmnop/foo07.hbs",
+ "a/dg/f/g/i/klmnop/foo07.hbs",
+ "a/ch/f/g/i/klmnop/foo07.hbs",
+ "a/dh/f/g/i/klmnop/foo07.hbs",
+ "a/ci/f/g/i/klmnop/foo07.hbs",
+ "a/di/f/g/i/klmnop/foo07.hbs",
+ "a/cj/f/g/i/klmnop/foo07.hbs",
+ "a/dj/f/g/i/klmnop/foo07.hbs",
+ "a/b/j/klmnop/foo07.hbs",
+ "a/ca/f/g/j/klmnop/foo07.hbs",
+ "a/e/d/f/g/j/klmnop/foo07.hbs",
+ "a/da/f/g/j/klmnop/foo07.hbs",
+ "a/cb/f/g/j/klmnop/foo07.hbs",
+ "a/db/f/g/j/klmnop/foo07.hbs",
+ "a/cc/f/g/j/klmnop/foo07.hbs",
+ "a/dc/f/g/j/klmnop/foo07.hbs",
+ "a/cd/f/g/j/klmnop/foo07.hbs",
+ "a/dd/f/g/j/klmnop/foo07.hbs",
+ "a/ce/f/g/j/klmnop/foo07.hbs",
+ "a/de/f/g/j/klmnop/foo07.hbs",
+ "a/cf/f/g/j/klmnop/foo07.hbs",
+ "a/df/f/g/j/klmnop/foo07.hbs",
+ "a/cg/f/g/j/klmnop/foo07.hbs",
+ "a/dg/f/g/j/klmnop/foo07.hbs",
+ "a/ch/f/g/j/klmnop/foo07.hbs",
+ "a/dh/f/g/j/klmnop/foo07.hbs",
+ "a/ci/f/g/j/klmnop/foo07.hbs",
+ "a/di/f/g/j/klmnop/foo07.hbs",
+ "a/cj/f/g/j/klmnop/foo07.hbs",
+ "a/dj/f/g/j/klmnop/foo07.hbs",
+ "a/b/h/klmnop/foo08.hbs",
+ "a/ca/f/g/h/klmnop/foo08.hbs",
+ "a/e/d/f/g/h/klmnop/foo08.hbs",
+ "a/da/f/g/h/klmnop/foo08.hbs",
+ "a/cb/f/g/h/klmnop/foo08.hbs",
+ "a/db/f/g/h/klmnop/foo08.hbs",
+ "a/cc/f/g/h/klmnop/foo08.hbs",
+ "a/dc/f/g/h/klmnop/foo08.hbs",
+ "a/cd/f/g/h/klmnop/foo08.hbs",
+ "a/dd/f/g/h/klmnop/foo08.hbs",
+ "a/ce/f/g/h/klmnop/foo08.hbs",
+ "a/de/f/g/h/klmnop/foo08.hbs",
+ "a/cf/f/g/h/klmnop/foo08.hbs",
+ "a/df/f/g/h/klmnop/foo08.hbs",
+ "a/cg/f/g/h/klmnop/foo08.hbs",
+ "a/dg/f/g/h/klmnop/foo08.hbs",
+ "a/ch/f/g/h/klmnop/foo08.hbs",
+ "a/dh/f/g/h/klmnop/foo08.hbs",
+ "a/ci/f/g/h/klmnop/foo08.hbs",
+ "a/di/f/g/h/klmnop/foo08.hbs",
+ "a/cj/f/g/h/klmnop/foo08.hbs",
+ "a/dj/f/g/h/klmnop/foo08.hbs",
+ "a/b/i/klmnop/foo08.hbs",
+ "a/ca/f/g/i/klmnop/foo08.hbs",
+ "a/e/d/f/g/i/klmnop/foo08.hbs",
+ "a/da/f/g/i/klmnop/foo08.hbs",
+ "a/cb/f/g/i/klmnop/foo08.hbs",
+ "a/db/f/g/i/klmnop/foo08.hbs",
+ "a/cc/f/g/i/klmnop/foo08.hbs",
+ "a/dc/f/g/i/klmnop/foo08.hbs",
+ "a/cd/f/g/i/klmnop/foo08.hbs",
+ "a/dd/f/g/i/klmnop/foo08.hbs",
+ "a/ce/f/g/i/klmnop/foo08.hbs",
+ "a/de/f/g/i/klmnop/foo08.hbs",
+ "a/cf/f/g/i/klmnop/foo08.hbs",
+ "a/df/f/g/i/klmnop/foo08.hbs",
+ "a/cg/f/g/i/klmnop/foo08.hbs",
+ "a/dg/f/g/i/klmnop/foo08.hbs",
+ "a/ch/f/g/i/klmnop/foo08.hbs",
+ "a/dh/f/g/i/klmnop/foo08.hbs",
+ "a/ci/f/g/i/klmnop/foo08.hbs",
+ "a/di/f/g/i/klmnop/foo08.hbs",
+ "a/cj/f/g/i/klmnop/foo08.hbs",
+ "a/dj/f/g/i/klmnop/foo08.hbs",
+ "a/b/j/klmnop/foo08.hbs",
+ "a/ca/f/g/j/klmnop/foo08.hbs",
+ "a/e/d/f/g/j/klmnop/foo08.hbs",
+ "a/da/f/g/j/klmnop/foo08.hbs",
+ "a/cb/f/g/j/klmnop/foo08.hbs",
+ "a/db/f/g/j/klmnop/foo08.hbs",
+ "a/cc/f/g/j/klmnop/foo08.hbs",
+ "a/dc/f/g/j/klmnop/foo08.hbs",
+ "a/cd/f/g/j/klmnop/foo08.hbs",
+ "a/dd/f/g/j/klmnop/foo08.hbs",
+ "a/ce/f/g/j/klmnop/foo08.hbs",
+ "a/de/f/g/j/klmnop/foo08.hbs",
+ "a/cf/f/g/j/klmnop/foo08.hbs",
+ "a/df/f/g/j/klmnop/foo08.hbs",
+ "a/cg/f/g/j/klmnop/foo08.hbs",
+ "a/dg/f/g/j/klmnop/foo08.hbs",
+ "a/ch/f/g/j/klmnop/foo08.hbs",
+ "a/dh/f/g/j/klmnop/foo08.hbs",
+ "a/ci/f/g/j/klmnop/foo08.hbs",
+ "a/di/f/g/j/klmnop/foo08.hbs",
+ "a/cj/f/g/j/klmnop/foo08.hbs",
+ "a/dj/f/g/j/klmnop/foo08.hbs",
+ "a/b/h/klmnop/foo09.hbs",
+ "a/ca/f/g/h/klmnop/foo09.hbs",
+ "a/e/d/f/g/h/klmnop/foo09.hbs",
+ "a/da/f/g/h/klmnop/foo09.hbs",
+ "a/cb/f/g/h/klmnop/foo09.hbs",
+ "a/db/f/g/h/klmnop/foo09.hbs",
+ "a/cc/f/g/h/klmnop/foo09.hbs",
+ "a/dc/f/g/h/klmnop/foo09.hbs",
+ "a/cd/f/g/h/klmnop/foo09.hbs",
+ "a/dd/f/g/h/klmnop/foo09.hbs",
+ "a/ce/f/g/h/klmnop/foo09.hbs",
+ "a/de/f/g/h/klmnop/foo09.hbs",
+ "a/cf/f/g/h/klmnop/foo09.hbs",
+ "a/df/f/g/h/klmnop/foo09.hbs",
+ "a/cg/f/g/h/klmnop/foo09.hbs",
+ "a/dg/f/g/h/klmnop/foo09.hbs",
+ "a/ch/f/g/h/klmnop/foo09.hbs",
+ "a/dh/f/g/h/klmnop/foo09.hbs",
+ "a/ci/f/g/h/klmnop/foo09.hbs",
+ "a/di/f/g/h/klmnop/foo09.hbs",
+ "a/cj/f/g/h/klmnop/foo09.hbs",
+ "a/dj/f/g/h/klmnop/foo09.hbs",
+ "a/b/i/klmnop/foo09.hbs",
+ "a/ca/f/g/i/klmnop/foo09.hbs",
+ "a/e/d/f/g/i/klmnop/foo09.hbs",
+ "a/da/f/g/i/klmnop/foo09.hbs",
+ "a/cb/f/g/i/klmnop/foo09.hbs",
+ "a/db/f/g/i/klmnop/foo09.hbs",
+ "a/cc/f/g/i/klmnop/foo09.hbs",
+ "a/dc/f/g/i/klmnop/foo09.hbs",
+ "a/cd/f/g/i/klmnop/foo09.hbs",
+ "a/dd/f/g/i/klmnop/foo09.hbs",
+ "a/ce/f/g/i/klmnop/foo09.hbs",
+ "a/de/f/g/i/klmnop/foo09.hbs",
+ "a/cf/f/g/i/klmnop/foo09.hbs",
+ "a/df/f/g/i/klmnop/foo09.hbs",
+ "a/cg/f/g/i/klmnop/foo09.hbs",
+ "a/dg/f/g/i/klmnop/foo09.hbs",
+ "a/ch/f/g/i/klmnop/foo09.hbs",
+ "a/dh/f/g/i/klmnop/foo09.hbs",
+ "a/ci/f/g/i/klmnop/foo09.hbs",
+ "a/di/f/g/i/klmnop/foo09.hbs",
+ "a/cj/f/g/i/klmnop/foo09.hbs",
+ "a/dj/f/g/i/klmnop/foo09.hbs",
+ "a/b/j/klmnop/foo09.hbs",
+ "a/ca/f/g/j/klmnop/foo09.hbs",
+ "a/e/d/f/g/j/klmnop/foo09.hbs",
+ "a/da/f/g/j/klmnop/foo09.hbs",
+ "a/cb/f/g/j/klmnop/foo09.hbs",
+ "a/db/f/g/j/klmnop/foo09.hbs",
+ "a/cc/f/g/j/klmnop/foo09.hbs",
+ "a/dc/f/g/j/klmnop/foo09.hbs",
+ "a/cd/f/g/j/klmnop/foo09.hbs",
+ "a/dd/f/g/j/klmnop/foo09.hbs",
+ "a/ce/f/g/j/klmnop/foo09.hbs",
+ "a/de/f/g/j/klmnop/foo09.hbs",
+ "a/cf/f/g/j/klmnop/foo09.hbs",
+ "a/df/f/g/j/klmnop/foo09.hbs",
+ "a/cg/f/g/j/klmnop/foo09.hbs",
+ "a/dg/f/g/j/klmnop/foo09.hbs",
+ "a/ch/f/g/j/klmnop/foo09.hbs",
+ "a/dh/f/g/j/klmnop/foo09.hbs",
+ "a/ci/f/g/j/klmnop/foo09.hbs",
+ "a/di/f/g/j/klmnop/foo09.hbs",
+ "a/cj/f/g/j/klmnop/foo09.hbs",
+ "a/dj/f/g/j/klmnop/foo09.hbs",
+ "a/b/h/klmnop/foo10.hbs",
+ "a/ca/f/g/h/klmnop/foo10.hbs",
+ "a/e/d/f/g/h/klmnop/foo10.hbs",
+ "a/da/f/g/h/klmnop/foo10.hbs",
+ "a/cb/f/g/h/klmnop/foo10.hbs",
+ "a/db/f/g/h/klmnop/foo10.hbs",
+ "a/cc/f/g/h/klmnop/foo10.hbs",
+ "a/dc/f/g/h/klmnop/foo10.hbs",
+ "a/cd/f/g/h/klmnop/foo10.hbs",
+ "a/dd/f/g/h/klmnop/foo10.hbs",
+ "a/ce/f/g/h/klmnop/foo10.hbs",
+ "a/de/f/g/h/klmnop/foo10.hbs",
+ "a/cf/f/g/h/klmnop/foo10.hbs",
+ "a/df/f/g/h/klmnop/foo10.hbs",
+ "a/cg/f/g/h/klmnop/foo10.hbs",
+ "a/dg/f/g/h/klmnop/foo10.hbs",
+ "a/ch/f/g/h/klmnop/foo10.hbs",
+ "a/dh/f/g/h/klmnop/foo10.hbs",
+ "a/ci/f/g/h/klmnop/foo10.hbs",
+ "a/di/f/g/h/klmnop/foo10.hbs",
+ "a/cj/f/g/h/klmnop/foo10.hbs",
+ "a/dj/f/g/h/klmnop/foo10.hbs",
+ "a/b/i/klmnop/foo10.hbs",
+ "a/ca/f/g/i/klmnop/foo10.hbs",
+ "a/e/d/f/g/i/klmnop/foo10.hbs",
+ "a/da/f/g/i/klmnop/foo10.hbs",
+ "a/cb/f/g/i/klmnop/foo10.hbs",
+ "a/db/f/g/i/klmnop/foo10.hbs",
+ "a/cc/f/g/i/klmnop/foo10.hbs",
+ "a/dc/f/g/i/klmnop/foo10.hbs",
+ "a/cd/f/g/i/klmnop/foo10.hbs",
+ "a/dd/f/g/i/klmnop/foo10.hbs",
+ "a/ce/f/g/i/klmnop/foo10.hbs",
+ "a/de/f/g/i/klmnop/foo10.hbs",
+ "a/cf/f/g/i/klmnop/foo10.hbs",
+ "a/df/f/g/i/klmnop/foo10.hbs",
+ "a/cg/f/g/i/klmnop/foo10.hbs",
+ "a/dg/f/g/i/klmnop/foo10.hbs",
+ "a/ch/f/g/i/klmnop/foo10.hbs",
+ "a/dh/f/g/i/klmnop/foo10.hbs",
+ "a/ci/f/g/i/klmnop/foo10.hbs",
+ "a/di/f/g/i/klmnop/foo10.hbs",
+ "a/cj/f/g/i/klmnop/foo10.hbs",
+ "a/dj/f/g/i/klmnop/foo10.hbs",
+ "a/b/j/klmnop/foo10.hbs",
+ "a/ca/f/g/j/klmnop/foo10.hbs",
+ "a/e/d/f/g/j/klmnop/foo10.hbs",
+ "a/da/f/g/j/klmnop/foo10.hbs",
+ "a/cb/f/g/j/klmnop/foo10.hbs",
+ "a/db/f/g/j/klmnop/foo10.hbs",
+ "a/cc/f/g/j/klmnop/foo10.hbs",
+ "a/dc/f/g/j/klmnop/foo10.hbs",
+ "a/cd/f/g/j/klmnop/foo10.hbs",
+ "a/dd/f/g/j/klmnop/foo10.hbs",
+ "a/ce/f/g/j/klmnop/foo10.hbs",
+ "a/de/f/g/j/klmnop/foo10.hbs",
+ "a/cf/f/g/j/klmnop/foo10.hbs",
+ "a/df/f/g/j/klmnop/foo10.hbs",
+ "a/cg/f/g/j/klmnop/foo10.hbs",
+ "a/dg/f/g/j/klmnop/foo10.hbs",
+ "a/ch/f/g/j/klmnop/foo10.hbs",
+ "a/dh/f/g/j/klmnop/foo10.hbs",
+ "a/ci/f/g/j/klmnop/foo10.hbs",
+ "a/di/f/g/j/klmnop/foo10.hbs",
+ "a/cj/f/g/j/klmnop/foo10.hbs",
+ "a/dj/f/g/j/klmnop/foo10.hbs"
+ ],
+ [
+ "a/ce/f/g/i/klmnop/foo09.hbs",
+ "a/de/f/g/i/klmnop/foo09.hbs",
+ "a/cf/f/g/i/klmnop/foo09.hbs",
+ "a/df/f/g/i/klmnop/foo09.hbs",
+ "a/cg/f/g/i/klmnop/foo09.hbs",
+ "a/dg/f/g/i/klmnop/foo09.hbs",
+ "a/ch/f/g/i/klmnop/foo09.hbs",
+ "a/dh/f/g/i/klmnop/foo09.hbs",
+ "a/ci/f/g/i/klmnop/foo09.hbs",
+ "a/di/f/g/i/klmnop/foo09.hbs",
+ "a/cj/f/g/i/klmnop/foo09.hbs",
+ "a/dj/f/g/i/klmnop/foo09.hbs",
+ "a/b/j/klmnop/foo09.hbs",
+ "a/ca/f/g/j/klmnop/foo09.hbs",
+ "a/e/d/f/g/j/klmnop/foo09.hbs",
+ "a/da/f/g/j/klmnop/foo09.hbs",
+ "a/cb/f/g/j/klmnop/foo09.hbs",
+ "a/db/f/g/j/klmnop/foo09.hbs",
+ "a/cc/f/g/j/klmnop/foo09.hbs",
+ "a/dc/f/g/j/klmnop/foo09.hbs",
+ "a/cd/f/g/j/klmnop/foo09.hbs",
+ "a/dd/f/g/j/klmnop/foo09.hbs",
+ "a/ce/f/g/j/klmnop/foo09.hbs",
+ "a/de/f/g/j/klmnop/foo09.hbs",
+ "a/cf/f/g/j/klmnop/foo09.hbs",
+ "a/df/f/g/j/klmnop/foo09.hbs",
+ "a/cg/f/g/j/klmnop/foo09.hbs",
+ "a/dg/f/g/j/klmnop/foo09.hbs",
+ "a/ch/f/g/j/klmnop/foo09.hbs",
+ "a/dh/f/g/j/klmnop/foo09.hbs",
+ "a/ci/f/g/j/klmnop/foo09.hbs",
+ "a/di/f/g/j/klmnop/foo09.hbs",
+ "a/cj/f/g/j/klmnop/foo09.hbs",
+ "a/dj/f/g/j/klmnop/foo09.hbs",
+ "a/b/h/klmnop/foo10.hbs",
+ "a/ca/f/g/h/klmnop/foo10.hbs",
+ "a/e/d/f/g/h/klmnop/foo10.hbs",
+ "a/da/f/g/h/klmnop/foo10.hbs",
+ "a/cb/f/g/h/klmnop/foo10.hbs",
+ "a/db/f/g/h/klmnop/foo10.hbs",
+ "a/cc/f/g/h/klmnop/foo10.hbs",
+ "a/dc/f/g/h/klmnop/foo10.hbs",
+ "a/cd/f/g/h/klmnop/foo10.hbs",
+ "a/dd/f/g/h/klmnop/foo10.hbs",
+ "a/ce/f/g/h/klmnop/foo10.hbs",
+ "a/de/f/g/h/klmnop/foo10.hbs",
+ "a/cf/f/g/h/klmnop/foo10.hbs",
+ "a/df/f/g/h/klmnop/foo10.hbs",
+ "a/cg/f/g/h/klmnop/foo10.hbs",
+ "a/dg/f/g/h/klmnop/foo10.hbs",
+ "a/ch/f/g/h/klmnop/foo10.hbs",
+ "a/dh/f/g/h/klmnop/foo10.hbs",
+ "a/ci/f/g/h/klmnop/foo10.hbs",
+ "a/di/f/g/h/klmnop/foo10.hbs",
+ "a/cj/f/g/h/klmnop/foo10.hbs",
+ "a/dj/f/g/h/klmnop/foo10.hbs",
+ "a/b/i/klmnop/foo10.hbs",
+ "a/ca/f/g/i/klmnop/foo10.hbs",
+ "a/e/d/f/g/i/klmnop/foo10.hbs",
+ "a/da/f/g/i/klmnop/foo10.hbs",
+ "a/cb/f/g/i/klmnop/foo10.hbs",
+ "a/db/f/g/i/klmnop/foo10.hbs",
+ "a/cc/f/g/i/klmnop/foo10.hbs",
+ "a/dc/f/g/i/klmnop/foo10.hbs",
+ "a/cd/f/g/i/klmnop/foo10.hbs",
+ "a/dd/f/g/i/klmnop/foo10.hbs",
+ "a/ce/f/g/i/klmnop/foo10.hbs",
+ "a/de/f/g/i/klmnop/foo10.hbs",
+ "a/cf/f/g/i/klmnop/foo10.hbs",
+ "a/df/f/g/i/klmnop/foo10.hbs",
+ "a/cg/f/g/i/klmnop/foo10.hbs",
+ "a/dg/f/g/i/klmnop/foo10.hbs",
+ "a/ch/f/g/i/klmnop/foo10.hbs",
+ "a/dh/f/g/i/klmnop/foo10.hbs",
+ "a/ci/f/g/i/klmnop/foo10.hbs",
+ "a/di/f/g/i/klmnop/foo10.hbs",
+ "a/cj/f/g/i/klmnop/foo10.hbs",
+ "a/dj/f/g/i/klmnop/foo10.hbs",
+ "a/b/j/klmnop/foo10.hbs",
+ "a/ca/f/g/j/klmnop/foo10.hbs",
+ "a/e/d/f/g/j/klmnop/foo10.hbs",
+ "a/da/f/g/j/klmnop/foo10.hbs",
+ "a/cb/f/g/j/klmnop/foo10.hbs",
+ "a/db/f/g/j/klmnop/foo10.hbs",
+ "a/cc/f/g/j/klmnop/foo10.hbs",
+ "a/dc/f/g/j/klmnop/foo10.hbs",
+ "a/cd/f/g/j/klmnop/foo10.hbs",
+ "a/dd/f/g/j/klmnop/foo10.hbs",
+ "a/ce/f/g/j/klmnop/foo10.hbs",
+ "a/de/f/g/j/klmnop/foo10.hbs",
+ "a/cf/f/g/j/klmnop/foo10.hbs",
+ "a/df/f/g/j/klmnop/foo10.hbs",
+ "a/cg/f/g/j/klmnop/foo10.hbs",
+ "a/dg/f/g/j/klmnop/foo10.hbs",
+ "a/ch/f/g/j/klmnop/foo10.hbs"
+ ],
+ [
+ "a/cj/f/g/i/klmnop/foo08.js",
+ "a/dj/f/g/i/klmnop/foo08.js",
+ "a/b/j/klmnop/foo08.js",
+ "a/ca/f/g/j/klmnop/foo08.js",
+ "a/e/d/f/g/j/klmnop/foo08.js",
+ "a/da/f/g/j/klmnop/foo08.js",
+ "a/cb/f/g/j/klmnop/foo08.js",
+ "a/db/f/g/j/klmnop/foo08.js",
+ "a/cc/f/g/j/klmnop/foo08.js",
+ "a/dc/f/g/j/klmnop/foo08.js",
+ "a/cd/f/g/j/klmnop/foo08.js",
+ "a/dd/f/g/j/klmnop/foo08.js",
+ "a/ce/f/g/j/klmnop/foo08.js",
+ "a/de/f/g/j/klmnop/foo08.js",
+ "a/cf/f/g/j/klmnop/foo08.js",
+ "a/df/f/g/j/klmnop/foo08.js",
+ "a/cg/f/g/j/klmnop/foo08.js",
+ ]
+];
diff --git a/benchmark/fixtures/med-short.js b/benchmark/fixtures/med-short.js
new file mode 100644
index 0000000..877ffee
--- /dev/null
+++ b/benchmark/fixtures/med-short.js
@@ -0,0 +1 @@
+module.exports = [['a', 'b', 'c', 'd'], ['a', 'b'], ['d']];
diff --git a/benchmark/last.md b/benchmark/last.md
index 472d19b..802163f 100644
--- a/benchmark/last.md
+++ b/benchmark/last.md
@@ -1,11 +1,33 @@
+Benchmarking: (4 of 4)
+ · long-dupes
+ · long
+ · med
+ · short
+
+# benchmark/fixtures/long-dupes.js (100804 bytes)
+ arr-diff-3.0.0 x 822 ops/sec ±0.67% (86 runs sampled)
+ arr-diff-4.0.0 x 2,141 ops/sec ±0.42% (89 runs sampled)
+ array-differ x 708 ops/sec ±0.70% (89 runs sampled)
+
+ fastest is arr-diff-4.0.0
+
# benchmark/fixtures/long.js (94529 bytes)
- current x 1,246 ops/sec ±0.98% (85 runs sampled)
- array-differ x 993 ops/sec ±1.35% (87 runs sampled)
+ arr-diff-3.0.0 x 882 ops/sec ±0.60% (87 runs sampled)
+ arr-diff-4.0.0 x 2,329 ops/sec ±0.97% (83 runs sampled)
+ array-differ x 769 ops/sec ±0.61% (90 runs sampled)
+
+ fastest is arr-diff-4.0.0
# benchmark/fixtures/med.js (708 bytes)
- current x 583,612 ops/sec ±1.24% (87 runs sampled)
- array-differ x 464,480 ops/sec ±1.42% (85 runs sampled)
+ arr-diff-3.0.0 x 856,150 ops/sec ±0.42% (89 runs sampled)
+ arr-diff-4.0.0 x 4,665,249 ops/sec ±1.06% (89 runs sampled)
+ array-differ x 653,888 ops/sec ±1.02% (86 runs sampled)
+
+ fastest is arr-diff-4.0.0
# benchmark/fixtures/short.js (60 bytes)
- current x 788,823 ops/sec ±0.95% (89 runs sampled)
- array-differ x 521,483 ops/sec ±1.65% (86 runs sampled)
\ No newline at end of file
+ arr-diff-3.0.0 x 3,078,467 ops/sec ±0.77% (93 runs sampled)
+ arr-diff-4.0.0 x 9,213,296 ops/sec ±0.65% (89 runs sampled)
+ array-differ x 1,337,051 ops/sec ±0.91% (92 runs sampled)
+
+ fastest is arr-diff-4.0.0
\ No newline at end of file
diff --git a/bower.json b/bower.json
index 8750c54..7049d5e 100644
--- a/bower.json
+++ b/bower.json
@@ -10,18 +10,14 @@
"main": [
"index.js"
],
- "dependencies": {
- "arr-flatten": "^1.0.1"
- },
"devDependencies": {
"ansi-bold": "^0.1.1",
+ "arr-flatten": "^1.0.1",
"array-differ": "^1.0.0",
- "array-slice": "^0.2.3",
"benchmarked": "^0.2.4",
"gulp-format-md": "^0.1.9",
"minimist": "^1.2.0",
- "mocha": "^2.4.5",
- "should": "^8.3.1"
+ "mocha": "^2.4.5"
},
"keywords": [
"arr",
@@ -31,5 +27,26 @@
"diff",
"differ",
"difference"
+ ],
+ "version": "4.0.0",
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/arr-diff/issues"
+ },
+ "files": [
+ "index.js"
+ ],
+ "ignore": [
+ "actual",
+ "bower_components",
+ "fixtures",
+ "node_modules",
+ "temp",
+ "test",
+ "test.js",
+ "tmp"
+ ],
+ "contributors": [
+ "Jon Schlinkert <jon.schlinkert at sellside.com> (http://twitter.com/jonschlinkert)",
+ "Paul Miller <paul+gh at paulmillr.com> (paulmillr.com)"
]
}
\ No newline at end of file
diff --git a/index.js b/index.js
index 1c99a79..90f2807 100644
--- a/index.js
+++ b/index.js
@@ -1,28 +1,47 @@
/*!
* arr-diff <https://github.com/jonschlinkert/arr-diff>
*
- * Copyright (c) 2014-2016, Jon Schlinkert.
- * Licensed under the MIT License
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
*/
'use strict';
-var flatten = require('arr-flatten');
-var slice = [].slice;
-
-module.exports = function(arr, arrays) {
- arrays = flatten(slice.call(arguments, 1));
- var len = arrays.length;
- for (var i = 0; i < len; i++) {
- remove(arr, arrays[i]);
+module.exports = function diff(arr/*, arrays*/) {
+ var len = arguments.length;
+ var idx = 0;
+ while (++idx < len) {
+ arr = diffArray(arr, arguments[idx]);
}
return arr;
};
-function remove(arr, ele) {
- var idx = arr.indexOf(ele);
- while (idx !== -1) {
- arr.splice(idx, 1);
- idx = arr.indexOf(ele);
+function diffArray(one, two) {
+ if (!Array.isArray(two)) {
+ return one.slice();
+ }
+
+ var tlen = two.length
+ var olen = one.length;
+ var idx = -1;
+ var arr = [];
+
+ while (++idx < olen) {
+ var ele = one[idx];
+
+ var hasEle = false;
+ for (var i = 0; i < tlen; i++) {
+ var val = two[i];
+
+ if (ele === val) {
+ hasEle = true;
+ break;
+ }
+ }
+
+ if (hasEle === false) {
+ arr.push(ele);
+ }
}
+ return arr;
}
diff --git a/package.json b/package.json
index 295710e..c106813 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,13 @@
{
"name": "arr-diff",
"description": "Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.",
- "version": "3.0.0",
+ "version": "4.0.0",
"homepage": "https://github.com/jonschlinkert/arr-diff",
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
+ "contributors": [
+ "Jon Schlinkert <jon.schlinkert at sellside.com> (http://twitter.com/jonschlinkert)",
+ "Paul Miller <paul+gh at paulmillr.com> (paulmillr.com)"
+ ],
"repository": "jonschlinkert/arr-diff",
"bugs": {
"url": "https://github.com/jonschlinkert/arr-diff/issues"
@@ -19,11 +23,10 @@
"scripts": {
"test": "mocha"
},
- "dependencies": {
- "arr-flatten": "^1.0.1"
- },
+ "dependencies": {},
"devDependencies": {
"ansi-bold": "^0.1.1",
+ "arr-flatten": "^1.0.1",
"array-differ": "^1.0.0",
"benchmarked": "^0.2.4",
"gulp-format-md": "^0.1.9",
@@ -40,13 +43,6 @@
"difference"
],
"verb": {
- "related": {
- "list": [
- "arr-flatten",
- "array-filter",
- "array-intersection"
- ]
- },
"toc": false,
"layout": "default",
"tasks": [
@@ -55,12 +51,19 @@
"plugins": [
"gulp-format-md"
],
- "lint": {
- "reflinks": true
+ "related": {
+ "list": [
+ "arr-flatten",
+ "array-filter",
+ "array-intersection"
+ ]
},
"reflinks": [
- "verb",
- "array-differ"
- ]
+ "array-differ",
+ "verb"
+ ],
+ "lint": {
+ "reflinks": true
+ }
}
}
diff --git a/test.js b/test.js
index f0e6e04..ae88b87 100644
--- a/test.js
+++ b/test.js
@@ -10,10 +10,18 @@ describe('diff', function() {
assert.deepEqual(diff(['x', 'b', 'c', 'e', 'y'], ['b', 'x', 'e']), ['c', 'y']);
assert.deepEqual(diff(['x', 'x'], ['a', 'b', 'c']), ['x', 'x']);
assert.deepEqual(diff(['x'], ['a', 'b', 'c']), ['x']);
+ assert.deepEqual(diff(['x', 'b', 'b', 'b', 'c', 'e', 'y'], ['x', 'e']), ['b', 'b', 'b', 'c', 'y']);
});
- it('should include duplicates:', function() {
- assert.deepEqual(diff(['x', 'b', 'b', 'b', 'c', 'e', 'y'], ['x', 'e']), ['b', 'b', 'b', 'c', 'y']);
+ it('should remove all occurences of an element:', function() {
+ assert.deepEqual(diff(['a', 'b', 'b', 'b', 'b'], ['b']), ['a']);
+ });
+
+ it('should not modify the input array:', function() {
+ var arr = ['x', 'b', 'b', 'b', 'c', 'e', 'y'];
+ var init = arr.slice();
+ diff(arr, ['x', 'e']);
+ assert.deepEqual(arr, init);;
});
it('should diff elements from multiple arrays:', function() {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-arr-diff.git
More information about the Pkg-javascript-commits
mailing list