From 172ba7555dccd9727790ff9ba9ea8d28665d8057 Mon Sep 17 00:00:00 2001 From: yuanchao <653069653@qq.com> Date: Fri, 13 Nov 2015 16:39:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=9A=84=E4=B8=BB=E9=A2=98,=E5=8F=8B?= =?UTF-8?q?=E6=83=85=E9=93=BE=E6=8E=A5=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Components/EndaPage.php | 135 + app/Http/Controllers/AboutController.php | 62 - app/Http/Controllers/ArticleController.php | 65 +- app/Http/Controllers/CategoryController.php | 103 +- app/Http/Controllers/SearchController.php | 17 +- .../Controllers/backend/LinksController.php | 125 + .../backend/NavigationController.php | 40 +- app/Http/Requests/LinksRequest.php | 23 + app/Http/Requests/NavigationForm.php | 1 - app/Http/routes.php | 1 + app/Model/Article.php | 2 +- app/Model/Links.php | 30 + app/Model/Navigation.php | 75 +- composer.json | 2 +- config/app.php | 2 +- config/path.php | 1 + ...015_11_12_145600_edit_navigation_table.php | 33 + .../2015_11_13_023030_create_links_table.php | 35 + {app/helpers => helpers}/functions.php | 18 +- node_modules/.bin/gulp | 1 + node_modules/gulp/CHANGELOG.md | 233 + node_modules/gulp/LICENSE | 22 + node_modules/gulp/README.md | 105 + node_modules/gulp/bin/gulp.js | 212 + node_modules/gulp/completion/README.md | 20 + node_modules/gulp/completion/bash | 27 + node_modules/gulp/completion/fish | 10 + node_modules/gulp/completion/powershell | 61 + node_modules/gulp/completion/zsh | 25 + node_modules/gulp/index.js | 63 + node_modules/gulp/lib/completion.js | 22 + node_modules/gulp/lib/taskTree.js | 14 + node_modules/gulp/node_modules/.bin/semver | 1 + .../gulp/node_modules/archy/.travis.yml | 4 + node_modules/gulp/node_modules/archy/LICENSE | 18 + .../gulp/node_modules/archy/examples/beep.js | 24 + .../node_modules/archy/examples/multi_line.js | 25 + node_modules/gulp/node_modules/archy/index.js | 35 + .../gulp/node_modules/archy/package.json | 80 + .../gulp/node_modules/archy/readme.markdown | 88 + .../gulp/node_modules/archy/test/beep.js | 40 + .../node_modules/archy/test/multi_line.js | 45 + .../node_modules/archy/test/non_unicode.js | 40 + node_modules/gulp/node_modules/chalk/index.js | 116 + node_modules/gulp/node_modules/chalk/license | 21 + .../chalk/node_modules/ansi-styles/index.js | 65 + .../chalk/node_modules/ansi-styles/license | 21 + .../node_modules/ansi-styles/package.json | 80 + .../chalk/node_modules/ansi-styles/readme.md | 86 + .../escape-string-regexp/index.js | 11 + .../node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 70 + .../escape-string-regexp/readme.md | 27 + .../chalk/node_modules/has-ansi/index.js | 4 + .../chalk/node_modules/has-ansi/license | 21 + .../has-ansi/node_modules/ansi-regex/index.js | 4 + .../has-ansi/node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 86 + .../node_modules/ansi-regex/readme.md | 31 + .../chalk/node_modules/has-ansi/package.json | 85 + .../chalk/node_modules/has-ansi/readme.md | 36 + .../chalk/node_modules/strip-ansi/index.js | 6 + .../chalk/node_modules/strip-ansi/license | 21 + .../node_modules/ansi-regex/index.js | 4 + .../node_modules/ansi-regex/license | 21 + .../node_modules/ansi-regex/package.json | 86 + .../node_modules/ansi-regex/readme.md | 31 + .../node_modules/strip-ansi/package.json | 85 + .../chalk/node_modules/strip-ansi/readme.md | 33 + .../node_modules/supports-color/index.js | 50 + .../chalk/node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 79 + .../node_modules/supports-color/readme.md | 36 + .../gulp/node_modules/chalk/package.json | 103 + .../gulp/node_modules/chalk/readme.md | 213 + .../gulp/node_modules/deprecated/.npmignore | 6 + .../gulp/node_modules/deprecated/.travis.yml | 6 + .../gulp/node_modules/deprecated/LICENSE | 20 + .../gulp/node_modules/deprecated/README.md | 51 + .../gulp/node_modules/deprecated/index.js | 39 + .../gulp/node_modules/deprecated/package.json | 63 + .../node_modules/deprecated/test/field.js | 44 + .../node_modules/deprecated/test/method.js | 32 + .../gulp/node_modules/gulp-util/LICENSE | 20 + .../gulp/node_modules/gulp-util/README.md | 146 + .../gulp/node_modules/gulp-util/index.js | 18 + .../node_modules/gulp-util/lib/PluginError.js | 130 + .../gulp/node_modules/gulp-util/lib/buffer.js | 15 + .../node_modules/gulp-util/lib/combine.js | 11 + .../gulp/node_modules/gulp-util/lib/env.js | 4 + .../node_modules/gulp-util/lib/isBuffer.js | 7 + .../gulp/node_modules/gulp-util/lib/isNull.js | 3 + .../node_modules/gulp-util/lib/isStream.js | 5 + .../gulp/node_modules/gulp-util/lib/log.js | 14 + .../gulp/node_modules/gulp-util/lib/noop.js | 5 + .../node_modules/gulp-util/lib/template.js | 23 + .../gulp-util/node_modules/.bin/dateformat | 1 + .../node_modules/array-differ/index.js | 7 + .../node_modules/array-differ/package.json | 61 + .../node_modules/array-differ/readme.md | 41 + .../node_modules/array-uniq/index.js | 60 + .../node_modules/array-uniq/package.json | 66 + .../node_modules/array-uniq/readme.md | 30 + .../gulp-util/node_modules/beeper/index.js | 61 + .../gulp-util/node_modules/beeper/license | 21 + .../node_modules/beeper/package.json | 67 + .../gulp-util/node_modules/beeper/readme.md | 55 + .../node_modules/dateformat/.npmignore | 57 + .../node_modules/dateformat/.travis.yml | 4 + .../gulp-util/node_modules/dateformat/LICENSE | 20 + .../node_modules/dateformat/Readme.md | 82 + .../node_modules/dateformat/bin/cli.js | 75 + .../node_modules/dateformat/lib/dateformat.js | 224 + .../node_modules/get-stdin/index.js | 52 + .../dateformat/node_modules/get-stdin/license | 21 + .../node_modules/get-stdin/package.json | 70 + .../node_modules/get-stdin/readme.md | 55 + .../dateformat/node_modules/meow/index.js | 74 + .../dateformat/node_modules/meow/license | 21 + .../meow/node_modules/camelcase-keys/index.js | 9 + .../node_modules/camelcase/index.js | 27 + .../node_modules/camelcase/license | 21 + .../node_modules/camelcase/package.json | 67 + .../node_modules/camelcase/readme.md | 56 + .../node_modules/map-obj/index.js | 13 + .../node_modules/map-obj/license | 21 + .../node_modules/map-obj/package.json | 66 + .../node_modules/map-obj/readme.md | 29 + .../node_modules/camelcase-keys/package.json | 81 + .../node_modules/camelcase-keys/readme.md | 32 + .../meow/node_modules/loud-rejection/index.js | 46 + .../meow/node_modules/loud-rejection/license | 21 + .../node_modules/signal-exit/.npmignore | 4 + .../node_modules/signal-exit/.travis.yml | 7 + .../node_modules/signal-exit/LICENSE.txt | 14 + .../node_modules/signal-exit/README.md | 38 + .../node_modules/signal-exit/index.js | 148 + .../node_modules/signal-exit/package.json | 60 + .../node_modules/signal-exit/signals.js | 47 + .../signal-exit/test/all-integration-test.js | 94 + .../signal-exit/test/fixtures/awaiter.js | 35 + .../test/fixtures/change-code-expect.json | 800 ++ .../signal-exit/test/fixtures/change-code.js | 96 + .../test/fixtures/end-of-execution.js | 5 + .../signal-exit/test/fixtures/exit-last.js | 14 + .../signal-exit/test/fixtures/exit.js | 7 + .../signal-exit/test/fixtures/exiter.js | 45 + .../signal-exit/test/fixtures/load-unload.js | 7 + .../test/fixtures/multiple-load.js | 52 + .../signal-exit/test/fixtures/parent.js | 51 + .../signal-exit/test/fixtures/sigint.js | 11 + .../signal-exit/test/fixtures/sigkill.js | 19 + .../test/fixtures/signal-default.js | 99 + .../signal-exit/test/fixtures/signal-last.js | 17 + .../test/fixtures/signal-listener.js | 23 + .../signal-exit/test/fixtures/sigpipe.js | 8 + .../signal-exit/test/fixtures/sigterm.js | 9 + .../signal-exit/test/fixtures/unwrap.js | 37 + .../signal-exit/test/multi-exit.js | 58 + .../signal-exit/test/signal-exit-test.js | 108 + .../node_modules/loud-rejection/package.json | 92 + .../node_modules/loud-rejection/readme.md | 44 + .../normalize-package-data/.npmignore | 1 + .../normalize-package-data/.travis.yml | 3 + .../normalize-package-data/AUTHORS | 4 + .../normalize-package-data/LICENSE | 30 + .../normalize-package-data/README.md | 107 + .../lib/extract_description.js | 14 + .../normalize-package-data/lib/fixer.js | 418 + .../lib/make_warning.js | 23 + .../normalize-package-data/lib/normalize.js | 39 + .../normalize-package-data/lib/safe_format.js | 9 + .../normalize-package-data/lib/typos.json | 25 + .../lib/warning_messages.json | 31 + .../node_modules/hosted-git-info/.npmignore | 3 + .../node_modules/hosted-git-info/.travis.yml | 5 + .../node_modules/hosted-git-info/LICENSE | 13 + .../node_modules/hosted-git-info/README.md | 99 + .../hosted-git-info/git-host-info.js | 64 + .../node_modules/hosted-git-info/git-host.js | 96 + .../node_modules/hosted-git-info/index.js | 103 + .../node_modules/hosted-git-info/package.json | 59 + .../hosted-git-info/test/basic.js | 15 + .../bitbucket-https-with-embedded-auth.js | 27 + .../hosted-git-info/test/bitbucket.js | 23 + .../node_modules/hosted-git-info/test/gist.js | 41 + .../hosted-git-info/test/github.js | 40 + .../hosted-git-info/test/gitlab.js | 23 + .../test/https-with-inline-auth.js | 39 + .../test/lib/standard-tests.js | 27 + .../node_modules/is-builtin-module/index.js | 10 + .../node_modules/is-builtin-module/license | 21 + .../builtin-modules/builtin-modules.json | 35 + .../node_modules/builtin-modules/index.js | 10 + .../node_modules/builtin-modules/license | 21 + .../node_modules/builtin-modules/package.json | 69 + .../node_modules/builtin-modules/readme.md | 41 + .../node_modules/builtin-modules/static.js | 2 + .../is-builtin-module/package.json | 72 + .../node_modules/is-builtin-module/readme.md | 33 + .../validate-npm-package-license/LICENSE | 174 + .../validate-npm-package-license/README.md | 113 + .../validate-npm-package-license/index.js | 84 + .../node_modules/spdx-correct/LICENSE | 57 + .../node_modules/spdx-correct/README.md | 10 + .../node_modules/spdx-correct/index.js | 237 + .../node_modules/spdx-license-ids/LICENSE | 24 + .../node_modules/spdx-license-ids/README.md | 55 + .../spdx-license-ids/package.json | 76 + .../spdx-license-ids/spdx-license-ids.json | 308 + .../node_modules/spdx-correct/package.json | 64 + .../spdx-expression-parse/README.md | 44 + .../spdx-expression-parse/index.js | 4 + .../node_modules/spdx-exceptions/README.md | 1 + .../node_modules/spdx-exceptions/index.json | 24 + .../node_modules/spdx-exceptions/package.json | 47 + .../node_modules/spdx-license-ids/LICENSE | 24 + .../node_modules/spdx-license-ids/README.md | 55 + .../spdx-license-ids/package.json | 76 + .../spdx-license-ids/spdx-license-ids.json | 308 + .../spdx-expression-parse/package.json | 66 + .../spdx-expression-parse/parser.generated.js | 1 + .../validate-npm-package-license/package.json | 62 + .../normalize-package-data/package.json | 85 + .../normalize-package-data/test/basic.js | 34 + .../test/consistency.js | 36 + .../test/dependencies.js | 44 + .../test/fixtures/async.json | 36 + .../test/fixtures/badscripts.json | 5 + .../test/fixtures/bcrypt.json | 56 + .../test/fixtures/coffee-script.json | 35 + .../test/fixtures/http-server.json | 53 + .../test/fixtures/movefile.json | 21 + .../test/fixtures/no-description.json | 4 + .../test/fixtures/node-module_exist.json | 26 + .../test/fixtures/npm.json | 135 + .../test/fixtures/read-package-json.json | 28 + .../test/fixtures/request.json | 39 + .../test/fixtures/underscore.json | 17 + .../test/github-urls.js | 44 + .../test/mixedcase-names.js | 32 + .../normalize-package-data/test/normalize.js | 246 + .../normalize-package-data/test/normalize.js~ | 253 + .../normalize-package-data/test/scoped.js | 59 + .../normalize-package-data/test/scripts.js | 24 + .../normalize-package-data/test/strict.js | 54 + .../normalize-package-data/test/typo.js | 133 + .../meow/node_modules/object-assign/index.js | 39 + .../meow/node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 78 + .../meow/node_modules/object-assign/readme.md | 51 + .../meow/node_modules/read-pkg-up/index.js | 31 + .../meow/node_modules/read-pkg-up/license | 21 + .../read-pkg-up/node_modules/find-up/index.js | 53 + .../read-pkg-up/node_modules/find-up/license | 21 + .../find-up/node_modules/path-exists/index.js | 24 + .../find-up/node_modules/path-exists/license | 21 + .../node_modules/path-exists/package.json | 69 + .../node_modules/path-exists/readme.md | 45 + .../node_modules/pinkie-promise/index.js | 3 + .../node_modules/pinkie-promise/license | 21 + .../node_modules/pinkie/index.js | 276 + .../node_modules/pinkie/license | 21 + .../node_modules/pinkie/package.json | 60 + .../node_modules/pinkie/readme.md | 75 + .../node_modules/pinkie-promise/package.json | 63 + .../node_modules/pinkie-promise/readme.md | 26 + .../node_modules/find-up/package.json | 79 + .../node_modules/find-up/readme.md | 71 + .../node_modules/read-pkg/index.js | 48 + .../read-pkg-up/node_modules/read-pkg/license | 21 + .../node_modules/load-json-file/index.js | 21 + .../node_modules/load-json-file/license | 21 + .../node_modules/graceful-fs/LICENSE | 15 + .../node_modules/graceful-fs/README.md | 36 + .../node_modules/graceful-fs/fs.js | 21 + .../node_modules/graceful-fs/graceful-fs.js | 251 + .../graceful-fs/legacy-streams.js | 118 + .../node_modules/graceful-fs/package.json | 73 + .../node_modules/graceful-fs/polyfills.js | 252 + .../node_modules/parse-json/index.js | 35 + .../node_modules/parse-json/license | 21 + .../parse-json/node_modules/error-ex/LICENSE | 21 + .../node_modules/error-ex/README.md | 144 + .../parse-json/node_modules/error-ex/index.js | 115 + .../node_modules/is-arrayish/.editorconfig | 18 + .../node_modules/is-arrayish/.istanbul.yml | 4 + .../node_modules/is-arrayish/.npmignore | 5 + .../node_modules/is-arrayish/.travis.yml | 17 + .../error-ex/node_modules/is-arrayish/LICENSE | 21 + .../node_modules/is-arrayish/README.md | 16 + .../node_modules/is-arrayish/index.js | 10 + .../node_modules/is-arrayish/package.json | 63 + .../node_modules/error-ex/package.json | 75 + .../node_modules/parse-json/package.json | 75 + .../node_modules/parse-json/readme.md | 83 + .../node_modules/parse-json/vendor/parse.js | 752 ++ .../node_modules/parse-json/vendor/unicode.js | 71 + .../load-json-file/node_modules/pify/index.js | 68 + .../load-json-file/node_modules/pify/license | 21 + .../node_modules/pify/package.json | 77 + .../node_modules/pify/readme.md | 119 + .../node_modules/pinkie-promise/index.js | 3 + .../node_modules/pinkie-promise/license | 21 + .../node_modules/pinkie/index.js | 276 + .../node_modules/pinkie/license | 21 + .../node_modules/pinkie/package.json | 60 + .../node_modules/pinkie/readme.md | 75 + .../node_modules/pinkie-promise/package.json | 63 + .../node_modules/pinkie-promise/readme.md | 26 + .../node_modules/strip-bom/index.js | 17 + .../node_modules/strip-bom/license | 21 + .../strip-bom/node_modules/is-utf8/README.md | 12 + .../strip-bom/node_modules/is-utf8/ansi.txt | 7 + .../strip-bom/node_modules/is-utf8/is-utf8.js | 76 + .../node_modules/is-utf8/package.json | 46 + .../strip-bom/node_modules/is-utf8/test.js | 7 + .../strip-bom/node_modules/is-utf8/utf8.txt | 7 + .../node_modules/strip-bom/package.json | 72 + .../node_modules/strip-bom/readme.md | 39 + .../node_modules/load-json-file/package.json | 70 + .../node_modules/load-json-file/readme.md | 45 + .../read-pkg/node_modules/path-type/index.js | 29 + .../read-pkg/node_modules/path-type/license | 21 + .../node_modules/graceful-fs/LICENSE | 15 + .../node_modules/graceful-fs/README.md | 36 + .../path-type/node_modules/graceful-fs/fs.js | 21 + .../node_modules/graceful-fs/graceful-fs.js | 251 + .../graceful-fs/legacy-streams.js | 118 + .../node_modules/graceful-fs/package.json | 73 + .../node_modules/graceful-fs/polyfills.js | 252 + .../path-type/node_modules/pify/index.js | 68 + .../path-type/node_modules/pify/license | 21 + .../path-type/node_modules/pify/package.json | 77 + .../path-type/node_modules/pify/readme.md | 119 + .../node_modules/pinkie-promise/index.js | 3 + .../node_modules/pinkie-promise/license | 21 + .../node_modules/pinkie/index.js | 276 + .../node_modules/pinkie/license | 21 + .../node_modules/pinkie/package.json | 60 + .../node_modules/pinkie/readme.md | 75 + .../node_modules/pinkie-promise/package.json | 63 + .../node_modules/pinkie-promise/readme.md | 26 + .../node_modules/path-type/package.json | 76 + .../read-pkg/node_modules/path-type/readme.md | 42 + .../node_modules/read-pkg/package.json | 71 + .../node_modules/read-pkg/readme.md | 79 + .../node_modules/read-pkg-up/package.json | 88 + .../meow/node_modules/read-pkg-up/readme.md | 79 + .../meow/node_modules/redent/index.js | 7 + .../meow/node_modules/redent/license | 21 + .../redent/node_modules/.bin/strip-indent | 1 + .../node_modules/indent-string/index.js | 20 + .../redent/node_modules/indent-string/license | 21 + .../node_modules/repeating/index.js | 24 + .../node_modules/repeating/license | 21 + .../repeating/node_modules/is-finite/index.js | 6 + .../repeating/node_modules/is-finite/license | 21 + .../node_modules/number-is-nan/index.js | 4 + .../node_modules/number-is-nan/license | 21 + .../node_modules/number-is-nan/package.json | 67 + .../node_modules/number-is-nan/readme.md | 30 + .../node_modules/is-finite/package.json | 68 + .../node_modules/is-finite/readme.md | 30 + .../node_modules/repeating/package.json | 65 + .../node_modules/repeating/readme.md | 30 + .../node_modules/indent-string/package.json | 65 + .../node_modules/indent-string/readme.md | 58 + .../redent/node_modules/strip-indent/cli.js | 49 + .../redent/node_modules/strip-indent/index.js | 16 + .../redent/node_modules/strip-indent/license | 21 + .../node_modules/get-stdin/index.js | 49 + .../node_modules/get-stdin/package.json | 64 + .../node_modules/get-stdin/readme.md | 44 + .../node_modules/strip-indent/package.json | 75 + .../node_modules/strip-indent/readme.md | 61 + .../meow/node_modules/redent/package.json | 72 + .../meow/node_modules/redent/readme.md | 48 + .../meow/node_modules/trim-newlines/index.js | 13 + .../meow/node_modules/trim-newlines/license | 21 + .../node_modules/trim-newlines/package.json | 71 + .../meow/node_modules/trim-newlines/readme.md | 46 + .../dateformat/node_modules/meow/package.json | 84 + .../dateformat/node_modules/meow/readme.md | 157 + .../node_modules/dateformat/package.json | 76 + .../dateformat/test/test_dayofweek.js | 15 + .../dateformat/test/test_formats.js | 76 + .../dateformat/test/test_isoutcdatetime.js | 11 + .../test/weekofyear/test_weekofyear.js | 4 + .../test/weekofyear/test_weekofyear.sh | 27 + .../gulp-util/node_modules/fancy-log/LICENSE | 23 + .../node_modules/fancy-log/README.md | 35 + .../gulp-util/node_modules/fancy-log/index.js | 27 + .../node_modules/fancy-log/package.json | 73 + .../node_modules/gulplog/CHANGELOG.md | 10 + .../gulp-util/node_modules/gulplog/LICENSE | 22 + .../gulp-util/node_modules/gulplog/README.md | 79 + .../gulp-util/node_modules/gulplog/index.js | 7 + .../gulplog/node_modules/glogg/LICENSE | 22 + .../gulplog/node_modules/glogg/README.md | 92 + .../gulplog/node_modules/glogg/index.js | 34 + .../glogg/node_modules/sparkles/LICENSE | 22 + .../glogg/node_modules/sparkles/README.md | 41 + .../glogg/node_modules/sparkles/index.js | 45 + .../glogg/node_modules/sparkles/package.json | 70 + .../gulplog/node_modules/glogg/package.json | 71 + .../node_modules/gulplog/package.json | 67 + .../node_modules/has-gulplog/LICENSE | 22 + .../node_modules/has-gulplog/README.md | 2 + .../node_modules/has-gulplog/index.js | 9 + .../has-gulplog/node_modules/sparkles/LICENSE | 22 + .../node_modules/sparkles/README.md | 41 + .../node_modules/sparkles/index.js | 45 + .../node_modules/sparkles/package.json | 69 + .../node_modules/has-gulplog/package.json | 64 + .../node_modules/lodash._reescape/LICENSE.txt | 22 + .../node_modules/lodash._reescape/README.md | 20 + .../node_modules/lodash._reescape/index.js | 13 + .../lodash._reescape/package.json | 72 + .../lodash._reevaluate/LICENSE.txt | 22 + .../node_modules/lodash._reevaluate/README.md | 20 + .../node_modules/lodash._reevaluate/index.js | 13 + .../lodash._reevaluate/package.json | 72 + .../lodash._reinterpolate/LICENSE.txt | 22 + .../lodash._reinterpolate/README.md | 20 + .../lodash._reinterpolate/index.js | 13 + .../lodash._reinterpolate/package.json | 84 + .../node_modules/lodash.template/LICENSE | 22 + .../node_modules/lodash.template/README.md | 20 + .../node_modules/lodash.template/index.js | 389 + .../node_modules/lodash._basecopy/LICENSE.txt | 22 + .../node_modules/lodash._basecopy/README.md | 20 + .../node_modules/lodash._basecopy/index.js | 32 + .../lodash._basecopy/package.json | 88 + .../node_modules/lodash._basetostring/LICENSE | 22 + .../lodash._basetostring/README.md | 20 + .../lodash._basetostring/index.js | 22 + .../lodash._basetostring/package.json | 87 + .../lodash._basevalues/LICENSE.txt | 22 + .../node_modules/lodash._basevalues/README.md | 20 + .../node_modules/lodash._basevalues/index.js | 31 + .../lodash._basevalues/package.json | 72 + .../lodash._isiterateecall/LICENSE.txt | 22 + .../lodash._isiterateecall/README.md | 20 + .../lodash._isiterateecall/index.js | 132 + .../lodash._isiterateecall/package.json | 88 + .../node_modules/lodash.escape/LICENSE.txt | 22 + .../node_modules/lodash.escape/README.md | 20 + .../node_modules/lodash.escape/index.js | 76 + .../node_modules/lodash.escape/package.json | 93 + .../node_modules/lodash.keys/LICENSE | 22 + .../node_modules/lodash.keys/README.md | 20 + .../node_modules/lodash.keys/index.js | 236 + .../node_modules/lodash._getnative/LICENSE | 22 + .../node_modules/lodash._getnative/README.md | 20 + .../node_modules/lodash._getnative/index.js | 137 + .../lodash._getnative/package.json | 84 + .../node_modules/lodash.isarguments/LICENSE | 22 + .../node_modules/lodash.isarguments/README.md | 20 + .../node_modules/lodash.isarguments/index.js | 106 + .../lodash.isarguments/package.json | 93 + .../node_modules/lodash.isarray/LICENSE | 22 + .../node_modules/lodash.isarray/README.md | 20 + .../node_modules/lodash.isarray/index.js | 180 + .../node_modules/lodash.isarray/package.json | 93 + .../node_modules/lodash.keys/package.json | 98 + .../node_modules/lodash.restparam/LICENSE.txt | 22 + .../node_modules/lodash.restparam/README.md | 20 + .../node_modules/lodash.restparam/index.js | 67 + .../lodash.restparam/package.json | 94 + .../lodash.templatesettings/LICENSE.txt | 22 + .../lodash.templatesettings/README.md | 20 + .../lodash.templatesettings/index.js | 77 + .../lodash.templatesettings/package.json | 98 + .../node_modules/lodash.template/package.json | 104 + .../node_modules/multipipe/.npmignore | 1 + .../node_modules/multipipe/.travis.yml | 3 + .../node_modules/multipipe/History.md | 25 + .../gulp-util/node_modules/multipipe/Makefile | 10 + .../node_modules/multipipe/Readme.md | 102 + .../gulp-util/node_modules/multipipe/index.js | 72 + .../node_modules/duplexer2/.npmignore | 1 + .../node_modules/duplexer2/.travis.yml | 3 + .../node_modules/duplexer2/LICENSE.md | 26 + .../node_modules/duplexer2/README.md | 129 + .../node_modules/duplexer2/example.js | 49 + .../multipipe/node_modules/duplexer2/index.js | 62 + .../node_modules/readable-stream/.npmignore | 5 + .../node_modules/readable-stream/LICENSE | 18 + .../node_modules/readable-stream/README.md | 15 + .../node_modules/readable-stream/duplex.js | 1 + .../node_modules/readable-stream/float.patch | 923 ++ .../readable-stream/lib/_stream_duplex.js | 89 + .../lib/_stream_passthrough.js | 46 + .../readable-stream/lib/_stream_readable.js | 951 ++ .../readable-stream/lib/_stream_transform.js | 209 + .../readable-stream/lib/_stream_writable.js | 477 + .../node_modules/core-util-is/README.md | 3 + .../node_modules/core-util-is/float.patch | 604 ++ .../node_modules/core-util-is/lib/util.js | 107 + .../node_modules/core-util-is/package.json | 54 + .../node_modules/core-util-is/util.js | 106 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 51 + .../node_modules/inherits/test.js | 25 + .../node_modules/isarray/README.md | 54 + .../node_modules/isarray/build/build.js | 209 + .../node_modules/isarray/component.json | 19 + .../node_modules/isarray/index.js | 3 + .../node_modules/isarray/package.json | 54 + .../node_modules/string_decoder/.npmignore | 2 + .../node_modules/string_decoder/LICENSE | 20 + .../node_modules/string_decoder/README.md | 7 + .../node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 54 + .../node_modules/readable-stream/package.json | 70 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 7 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../node_modules/duplexer2/package.json | 57 + .../node_modules/duplexer2/test/tests.js | 161 + .../node_modules/multipipe/package.json | 46 + .../node_modules/multipipe/test/multipipe.js | 141 + .../node_modules/object-assign/index.js | 39 + .../node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 68 + .../node_modules/object-assign/readme.md | 51 + .../node_modules/replace-ext/.npmignore | 6 + .../node_modules/replace-ext/.travis.yml | 8 + .../node_modules/replace-ext/LICENSE | 20 + .../node_modules/replace-ext/README.md | 44 + .../node_modules/replace-ext/index.js | 9 + .../node_modules/replace-ext/package.json | 63 + .../node_modules/replace-ext/test/main.js | 51 + .../node_modules/through2/.npmignore | 3 + .../gulp-util/node_modules/through2/LICENSE | 39 + .../gulp-util/node_modules/through2/README.md | 132 + .../node_modules/readable-stream/.npmignore | 5 + .../node_modules/readable-stream/.travis.yml | 50 + .../node_modules/readable-stream/.zuul.yml | 1 + .../node_modules/readable-stream/LICENSE | 18 + .../node_modules/readable-stream/README.md | 36 + .../readable-stream/doc/stream.markdown | 1696 +++ .../doc/wg-meetings/2015-01-30.md | 60 + .../node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 82 + .../lib/_stream_passthrough.js | 27 + .../readable-stream/lib/_stream_readable.js | 973 ++ .../readable-stream/lib/_stream_transform.js | 197 + .../readable-stream/lib/_stream_writable.js | 527 + .../node_modules/core-util-is/README.md | 3 + .../node_modules/core-util-is/float.patch | 604 ++ .../node_modules/core-util-is/lib/util.js | 107 + .../node_modules/core-util-is/package.json | 54 + .../node_modules/core-util-is/util.js | 106 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 51 + .../node_modules/inherits/test.js | 25 + .../node_modules/isarray/README.md | 54 + .../node_modules/isarray/build/build.js | 209 + .../node_modules/isarray/component.json | 19 + .../node_modules/isarray/index.js | 3 + .../node_modules/isarray/package.json | 54 + .../process-nextick-args/.travis.yml | 7 + .../process-nextick-args/index.js | 13 + .../process-nextick-args/license.md | 19 + .../process-nextick-args/package.json | 45 + .../process-nextick-args/readme.md | 18 + .../node_modules/process-nextick-args/test.js | 24 + .../node_modules/string_decoder/.npmignore | 2 + .../node_modules/string_decoder/LICENSE | 20 + .../node_modules/string_decoder/README.md | 7 + .../node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 54 + .../node_modules/util-deprecate/History.md | 16 + .../node_modules/util-deprecate/LICENSE | 24 + .../node_modules/util-deprecate/README.md | 53 + .../node_modules/util-deprecate/browser.js | 67 + .../node_modules/util-deprecate/node.js | 6 + .../node_modules/util-deprecate/package.json | 53 + .../node_modules/readable-stream/package.json | 76 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 12 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../through2/node_modules/xtend/.jshintrc | 30 + .../through2/node_modules/xtend/.npmignore | 1 + .../through2/node_modules/xtend/LICENCE | 19 + .../through2/node_modules/xtend/Makefile | 4 + .../through2/node_modules/xtend/README.md | 32 + .../through2/node_modules/xtend/immutable.js | 19 + .../through2/node_modules/xtend/mutable.js | 17 + .../through2/node_modules/xtend/package.json | 83 + .../through2/node_modules/xtend/test.js | 83 + .../node_modules/through2/package.json | 67 + .../node_modules/through2/through2.js | 96 + .../gulp-util/node_modules/vinyl/LICENSE | 20 + .../gulp-util/node_modules/vinyl/README.md | 195 + .../gulp-util/node_modules/vinyl/index.js | 213 + .../node_modules/vinyl/lib/cloneBuffer.js | 7 + .../node_modules/vinyl/lib/inspectStream.js | 11 + .../node_modules/vinyl/lib/isBuffer.js | 1 + .../node_modules/vinyl/lib/isNull.js | 3 + .../node_modules/vinyl/lib/isStream.js | 5 + .../vinyl/node_modules/clone-stats/LICENSE.md | 21 + .../vinyl/node_modules/clone-stats/README.md | 17 + .../vinyl/node_modules/clone-stats/index.js | 13 + .../node_modules/clone-stats/package.json | 57 + .../vinyl/node_modules/clone-stats/test.js | 36 + .../vinyl/node_modules/clone/.npmignore | 1 + .../vinyl/node_modules/clone/.travis.yml | 3 + .../vinyl/node_modules/clone/LICENSE | 18 + .../vinyl/node_modules/clone/README.md | 126 + .../vinyl/node_modules/clone/clone.js | 160 + .../vinyl/node_modules/clone/package.json | 133 + .../node_modules/clone/test-apart-ctx.html | 22 + .../vinyl/node_modules/clone/test.html | 148 + .../vinyl/node_modules/clone/test.js | 372 + .../gulp-util/node_modules/vinyl/package.json | 74 + .../gulp/node_modules/gulp-util/package.json | 89 + .../gulp/node_modules/interpret/CHANGELOG | 98 + .../gulp/node_modules/interpret/LICENSE | 22 + .../gulp/node_modules/interpret/README.md | 92 + .../gulp/node_modules/interpret/index.js | 105 + .../gulp/node_modules/interpret/package.json | 79 + .../gulp/node_modules/liftoff/.jscsrc | 60 + .../gulp/node_modules/liftoff/.jshintrc | 11 + .../gulp/node_modules/liftoff/.npmignore | 2 + .../gulp/node_modules/liftoff/.travis.yml | 9 + .../gulp/node_modules/liftoff/CHANGELOG | 119 + .../gulp/node_modules/liftoff/LICENSE | 22 + .../gulp/node_modules/liftoff/README.md | 304 + .../gulp/node_modules/liftoff/UPGRADING.md | 28 + .../gulp/node_modules/liftoff/appveyor.yml | 26 + .../gulp/node_modules/liftoff/index.js | 204 + .../liftoff/lib/build_config_name.js | 17 + .../node_modules/liftoff/lib/file_search.js | 14 + .../node_modules/liftoff/lib/find_config.js | 25 + .../gulp/node_modules/liftoff/lib/find_cwd.js | 18 + .../node_modules/liftoff/lib/parse_options.js | 35 + .../liftoff/lib/silent_require.js | 5 + .../liftoff/node_modules/extend/.jscs.json | 68 + .../liftoff/node_modules/extend/.npmignore | 1 + .../liftoff/node_modules/extend/.travis.yml | 36 + .../liftoff/node_modules/extend/CHANGELOG.md | 61 + .../liftoff/node_modules/extend/LICENSE | 23 + .../liftoff/node_modules/extend/README.md | 62 + .../node_modules/extend/component.json | 32 + .../liftoff/node_modules/extend/index.js | 89 + .../liftoff/node_modules/extend/package.json | 70 + .../node_modules/findup-sync/.npmignore | 4 + .../node_modules/findup-sync/LICENSE-MIT | 22 + .../node_modules/findup-sync/README.md | 48 + .../findup-sync/lib/findup-sync.js | 49 + .../findup-sync/node_modules/glob/LICENSE | 15 + .../findup-sync/node_modules/glob/README.md | 377 + .../findup-sync/node_modules/glob/common.js | 245 + .../findup-sync/node_modules/glob/glob.js | 752 ++ .../glob/node_modules/inflight/.eslintrc | 17 + .../glob/node_modules/inflight/LICENSE | 15 + .../glob/node_modules/inflight/README.md | 37 + .../glob/node_modules/inflight/inflight.js | 44 + .../inflight/node_modules/wrappy/LICENSE | 15 + .../inflight/node_modules/wrappy/README.md | 36 + .../inflight/node_modules/wrappy/package.json | 52 + .../node_modules/wrappy/test/basic.js | 51 + .../inflight/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/inflight/package.json | 61 + .../glob/node_modules/inflight/test.js | 97 + .../glob/node_modules/inherits/LICENSE | 16 + .../glob/node_modules/inherits/README.md | 42 + .../glob/node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../glob/node_modules/inherits/package.json | 51 + .../glob/node_modules/inherits/test.js | 25 + .../glob/node_modules/minimatch/LICENSE | 15 + .../glob/node_modules/minimatch/README.md | 216 + .../glob/node_modules/minimatch/minimatch.js | 912 ++ .../node_modules/brace-expansion/.npmignore | 3 + .../node_modules/brace-expansion/README.md | 122 + .../node_modules/brace-expansion/example.js | 8 + .../node_modules/brace-expansion/index.js | 191 + .../node_modules/balanced-match/.npmignore | 2 + .../node_modules/balanced-match/.travis.yml | 3 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/Makefile | 6 + .../node_modules/balanced-match/README.md | 80 + .../node_modules/balanced-match/example.js | 5 + .../node_modules/balanced-match/index.js | 38 + .../node_modules/balanced-match/package.json | 72 + .../balanced-match/test/balanced.js | 56 + .../node_modules/concat-map/.travis.yml | 4 + .../node_modules/concat-map/LICENSE | 18 + .../node_modules/concat-map/README.markdown | 62 + .../node_modules/concat-map/example/map.js | 6 + .../node_modules/concat-map/index.js | 13 + .../node_modules/concat-map/package.json | 82 + .../node_modules/concat-map/test/map.js | 39 + .../node_modules/brace-expansion/package.json | 75 + .../glob/node_modules/minimatch/package.json | 60 + .../glob/node_modules/once/LICENSE | 15 + .../glob/node_modules/once/README.md | 51 + .../once/node_modules/wrappy/LICENSE | 15 + .../once/node_modules/wrappy/README.md | 36 + .../once/node_modules/wrappy/package.json | 52 + .../once/node_modules/wrappy/test/basic.js | 51 + .../once/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/once/once.js | 21 + .../glob/node_modules/once/package.json | 60 + .../glob/node_modules/once/test/once.js | 23 + .../node_modules/path-is-absolute/index.js | 20 + .../node_modules/path-is-absolute/license | 21 + .../path-is-absolute/package.json | 70 + .../node_modules/path-is-absolute/readme.md | 51 + .../node_modules/glob/package.json | 73 + .../findup-sync/node_modules/glob/sync.js | 460 + .../node_modules/findup-sync/package.json | 69 + .../node_modules/flagged-respawn/.npmignore | 1 + .../node_modules/flagged-respawn/.travis.yml | 9 + .../node_modules/flagged-respawn/LICENSE | 22 + .../node_modules/flagged-respawn/README.md | 57 + .../node_modules/flagged-respawn/index.js | 18 + .../flagged-respawn/lib/reorder.js | 16 + .../flagged-respawn/lib/respawn.js | 15 + .../node_modules/flagged-respawn/package.json | 62 + .../flagged-respawn/test/bin/exit_code.js | 13 + .../flagged-respawn/test/bin/respawner.js | 17 + .../flagged-respawn/test/bin/signal.js | 16 + .../flagged-respawn/test/index.js | 93 + .../liftoff/node_modules/rechoir/.npmignore | 1 + .../liftoff/node_modules/rechoir/.travis.yml | 24 + .../liftoff/node_modules/rechoir/CHANGELOG | 38 + .../liftoff/node_modules/rechoir/LICENSE | 22 + .../liftoff/node_modules/rechoir/README.md | 42 + .../liftoff/node_modules/rechoir/index.js | 59 + .../node_modules/rechoir/lib/extension.js | 11 + .../node_modules/rechoir/lib/normalize.js | 15 + .../node_modules/rechoir/lib/register.js | 15 + .../liftoff/node_modules/rechoir/package.json | 114 + .../liftoff/node_modules/resolve/.travis.yml | 4 + .../liftoff/node_modules/resolve/LICENSE | 18 + .../node_modules/resolve/example/async.js | 5 + .../node_modules/resolve/example/sync.js | 3 + .../liftoff/node_modules/resolve/index.js | 5 + .../liftoff/node_modules/resolve/lib/async.js | 192 + .../node_modules/resolve/lib/caller.js | 8 + .../liftoff/node_modules/resolve/lib/core.js | 4 + .../node_modules/resolve/lib/core.json | 38 + .../resolve/lib/node-modules-paths.js | 36 + .../liftoff/node_modules/resolve/lib/sync.js | 81 + .../liftoff/node_modules/resolve/package.json | 56 + .../node_modules/resolve/readme.markdown | 148 + .../liftoff/node_modules/resolve/test/core.js | 12 + .../node_modules/resolve/test/dotdot.js | 29 + .../resolve/test/dotdot/abc/index.js | 2 + .../node_modules/resolve/test/dotdot/index.js | 1 + .../resolve/test/faulty_basedir.js | 17 + .../node_modules/resolve/test/filter.js | 18 + .../node_modules/resolve/test/filter_sync.js | 15 + .../liftoff/node_modules/resolve/test/mock.js | 142 + .../node_modules/resolve/test/mock_sync.js | 68 + .../node_modules/resolve/test/module_dir.js | 56 + .../test/module_dir/xmodules/aaa/index.js | 1 + .../test/module_dir/ymodules/aaa/index.js | 1 + .../test/module_dir/zmodules/bbb/main.js | 1 + .../test/module_dir/zmodules/bbb/package.json | 3 + .../node_modules/resolve/test/node_path.js | 48 + .../resolve/test/node_path/x/aaa/index.js | 1 + .../resolve/test/node_path/x/ccc/index.js | 1 + .../resolve/test/node_path/y/bbb/index.js | 1 + .../resolve/test/node_path/y/ccc/index.js | 1 + .../node_modules/resolve/test/nonstring.js | 9 + .../node_modules/resolve/test/pathfilter.js | 35 + .../resolve/test/pathfilter/deep_ref/main.js | 0 .../deep_ref/node_modules/deep/alt.js | 0 .../deep_ref/node_modules/deep/deeper/ref.js | 0 .../deep_ref/node_modules/deep/package.json | 4 + .../deep_ref/node_modules/deep/ref.js | 0 .../node_modules/resolve/test/precedence.js | 23 + .../resolve/test/precedence/aaa.js | 1 + .../resolve/test/precedence/aaa/index.js | 1 + .../resolve/test/precedence/aaa/main.js | 1 + .../resolve/test/precedence/bbb.js | 1 + .../resolve/test/precedence/bbb/main.js | 1 + .../node_modules/resolve/test/resolver.js | 281 + .../resolver/bar/node_modules/foo/index.js | 1 + .../resolve/test/resolver/baz/doom.js | 0 .../resolve/test/resolver/baz/package.json | 3 + .../resolve/test/resolver/baz/quux.js | 1 + .../biz/node_modules/garply/lib/index.js | 1 + .../biz/node_modules/garply/package.json | 3 + .../resolver/biz/node_modules/grux/index.js | 1 + .../resolver/biz/node_modules/tiv/index.js | 1 + .../resolve/test/resolver/cup.coffee | 1 + .../node_modules/resolve/test/resolver/foo.js | 1 + .../test/resolver/incorrect_main/index.js | 2 + .../test/resolver/incorrect_main/package.json | 3 + .../resolve/test/resolver/mug.coffee | 0 .../node_modules/resolve/test/resolver/mug.js | 0 .../test/resolver/other_path/lib/other-lib.js | 0 .../resolve/test/resolver/other_path/root.js | 0 .../punycode/node_modules/punycode/index.js | 0 .../resolve/test/resolver/quux/foo/index.js | 1 + .../test/resolver/without_basedir/main.js | 6 + .../without_basedir/node_modules/mymodule.js | 1 + .../resolve/test/resolver_sync.js | 180 + .../node_modules/resolve/test/subdirs.js | 13 + .../test/subdirs/node_modules/a/b/c/x.json | 1 + .../test/subdirs/node_modules/a/package.json | 1 + .../gulp/node_modules/liftoff/package.json | 70 + .../gulp/node_modules/minimist/.travis.yml | 8 + .../gulp/node_modules/minimist/LICENSE | 18 + .../node_modules/minimist/example/parse.js | 2 + .../gulp/node_modules/minimist/index.js | 236 + .../gulp/node_modules/minimist/package.json | 71 + .../node_modules/minimist/readme.markdown | 91 + .../node_modules/minimist/test/all_bool.js | 32 + .../gulp/node_modules/minimist/test/bool.js | 166 + .../gulp/node_modules/minimist/test/dash.js | 31 + .../minimist/test/default_bool.js | 35 + .../gulp/node_modules/minimist/test/dotted.js | 22 + .../node_modules/minimist/test/kv_short.js | 16 + .../gulp/node_modules/minimist/test/long.js | 31 + .../gulp/node_modules/minimist/test/num.js | 36 + .../gulp/node_modules/minimist/test/parse.js | 197 + .../minimist/test/parse_modified.js | 9 + .../gulp/node_modules/minimist/test/short.js | 67 + .../node_modules/minimist/test/stop_early.js | 15 + .../node_modules/minimist/test/unknown.js | 102 + .../node_modules/minimist/test/whitespace.js | 8 + .../gulp/node_modules/orchestrator/.npmignore | 10 + .../gulp/node_modules/orchestrator/LICENSE | 20 + .../gulp/node_modules/orchestrator/README.md | 286 + .../gulp/node_modules/orchestrator/index.js | 304 + .../node_modules/orchestrator/lib/runTask.js | 66 + .../node_modules/end-of-stream/.npmignore | 1 + .../node_modules/end-of-stream/README.md | 47 + .../node_modules/end-of-stream/index.js | 61 + .../end-of-stream/node_modules/once/LICENSE | 15 + .../end-of-stream/node_modules/once/README.md | 51 + .../once/node_modules/wrappy/LICENSE | 15 + .../once/node_modules/wrappy/README.md | 36 + .../once/node_modules/wrappy/package.json | 52 + .../once/node_modules/wrappy/test/basic.js | 51 + .../once/node_modules/wrappy/wrappy.js | 33 + .../end-of-stream/node_modules/once/once.js | 21 + .../node_modules/once/package.json | 60 + .../node_modules/once/test/once.js | 23 + .../node_modules/end-of-stream/package.json | 55 + .../node_modules/end-of-stream/test.js | 59 + .../node_modules/sequencify/.npmignore | 9 + .../node_modules/sequencify/.travis.yml | 6 + .../node_modules/sequencify/LICENSE | 20 + .../node_modules/sequencify/README.md | 68 + .../node_modules/sequencify/index.js | 46 + .../node_modules/sequencify/package.json | 62 + .../node_modules/stream-consume/.npmignore | 1 + .../node_modules/stream-consume/README.md | 53 + .../node_modules/stream-consume/index.js | 14 + .../node_modules/stream-consume/package.json | 48 + .../node_modules/stream-consume/test/tests.js | 180 + .../node_modules/orchestrator/package.json | 81 + .../node_modules/pretty-hrtime/.jshintignore | 1 + .../node_modules/pretty-hrtime/.npmignore | 10 + .../gulp/node_modules/pretty-hrtime/LICENSE | 20 + .../gulp/node_modules/pretty-hrtime/README.md | 57 + .../gulp/node_modules/pretty-hrtime/index.js | 73 + .../node_modules/pretty-hrtime/package.json | 56 + .../gulp/node_modules/semver/.npmignore | 4 + .../gulp/node_modules/semver/.travis.yml | 5 + node_modules/gulp/node_modules/semver/LICENSE | 15 + .../gulp/node_modules/semver/Makefile | 24 + .../gulp/node_modules/semver/README.md | 303 + .../gulp/node_modules/semver/bin/semver | 133 + .../gulp/node_modules/semver/foot.js.txt | 6 + .../gulp/node_modules/semver/head.js.txt | 2 + .../gulp/node_modules/semver/package.json | 55 + .../node_modules/semver/semver.browser.js | 1201 +++ .../node_modules/semver/semver.browser.js.gz | Bin 0 -> 7992 bytes .../gulp/node_modules/semver/semver.js | 1205 +++ .../gulp/node_modules/semver/semver.min.js | 1 + .../gulp/node_modules/semver/semver.min.js.gz | Bin 0 -> 3790 bytes .../gulp/node_modules/semver/test/amd.js | 15 + .../node_modules/semver/test/big-numbers.js | 31 + .../gulp/node_modules/semver/test/clean.js | 29 + .../gulp/node_modules/semver/test/gtr.js | 173 + .../gulp/node_modules/semver/test/index.js | 685 ++ .../gulp/node_modules/semver/test/ltr.js | 181 + .../semver/test/major-minor-patch.js | 72 + .../node_modules/semver/test/no-module.js | 19 + .../gulp/node_modules/tildify/index.js | 9 + .../gulp/node_modules/tildify/license | 21 + .../tildify/node_modules/os-homedir/index.js | 24 + .../tildify/node_modules/os-homedir/license | 21 + .../node_modules/os-homedir/package.json | 70 + .../tildify/node_modules/os-homedir/readme.md | 33 + .../gulp/node_modules/tildify/package.json | 67 + .../gulp/node_modules/tildify/readme.md | 30 + .../gulp/node_modules/v8flags/.npmignore | 4 + .../gulp/node_modules/v8flags/LICENSE | 22 + .../gulp/node_modules/v8flags/README.md | 46 + .../gulp/node_modules/v8flags/index.js | 122 + .../v8flags/node_modules/.bin/user-home | 1 + .../v8flags/node_modules/user-home/cli.js | 26 + .../v8flags/node_modules/user-home/index.js | 15 + .../v8flags/node_modules/user-home/license | 21 + .../node_modules/user-home/package.json | 69 + .../v8flags/node_modules/user-home/readme.md | 42 + .../gulp/node_modules/v8flags/package.json | 68 + .../gulp/node_modules/vinyl-fs/LICENSE | 20 + .../gulp/node_modules/vinyl-fs/README.md | 93 + .../gulp/node_modules/vinyl-fs/index.js | 7 + .../node_modules/vinyl-fs/lib/dest/index.js | 61 + .../vinyl-fs/lib/dest/writeContents/index.js | 59 + .../lib/dest/writeContents/writeBuffer.js | 13 + .../lib/dest/writeContents/writeDir.js | 9 + .../lib/dest/writeContents/writeStream.js | 22 + .../lib/src/getContents/bufferFile.js | 16 + .../vinyl-fs/lib/src/getContents/index.js | 26 + .../vinyl-fs/lib/src/getContents/readDir.js | 8 + .../lib/src/getContents/streamFile.js | 13 + .../node_modules/vinyl-fs/lib/src/getStats.js | 19 + .../node_modules/vinyl-fs/lib/src/index.js | 61 + .../vinyl-fs/node_modules/.bin/mkdirp | 1 + .../vinyl-fs/node_modules/.bin/strip-bom | 1 + .../vinyl-fs/node_modules/defaults/.npmignore | 1 + .../vinyl-fs/node_modules/defaults/LICENSE | 21 + .../vinyl-fs/node_modules/defaults/README.md | 43 + .../vinyl-fs/node_modules/defaults/index.js | 13 + .../defaults/node_modules/clone/.npmignore | 1 + .../defaults/node_modules/clone/.travis.yml | 3 + .../defaults/node_modules/clone/LICENSE | 18 + .../defaults/node_modules/clone/README.md | 126 + .../defaults/node_modules/clone/clone.js | 160 + .../defaults/node_modules/clone/package.json | 133 + .../node_modules/clone/test-apart-ctx.html | 22 + .../defaults/node_modules/clone/test.html | 148 + .../defaults/node_modules/clone/test.js | 372 + .../node_modules/defaults/package.json | 54 + .../vinyl-fs/node_modules/defaults/test.js | 34 + .../vinyl-fs/node_modules/glob-stream/LICENSE | 20 + .../node_modules/glob-stream/README.md | 67 + .../node_modules/glob-stream/index.js | 117 + .../glob-stream/node_modules/glob/LICENSE | 15 + .../glob-stream/node_modules/glob/README.md | 369 + .../glob-stream/node_modules/glob/common.js | 237 + .../glob-stream/node_modules/glob/glob.js | 740 ++ .../glob/node_modules/inflight/.eslintrc | 17 + .../glob/node_modules/inflight/LICENSE | 15 + .../glob/node_modules/inflight/README.md | 37 + .../glob/node_modules/inflight/inflight.js | 44 + .../inflight/node_modules/wrappy/LICENSE | 15 + .../inflight/node_modules/wrappy/README.md | 36 + .../inflight/node_modules/wrappy/package.json | 52 + .../node_modules/wrappy/test/basic.js | 51 + .../inflight/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/inflight/package.json | 61 + .../glob/node_modules/inflight/test.js | 97 + .../glob/node_modules/inherits/LICENSE | 16 + .../glob/node_modules/inherits/README.md | 42 + .../glob/node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../glob/node_modules/inherits/package.json | 51 + .../glob/node_modules/inherits/test.js | 25 + .../glob/node_modules/once/LICENSE | 15 + .../glob/node_modules/once/README.md | 51 + .../once/node_modules/wrappy/LICENSE | 15 + .../once/node_modules/wrappy/README.md | 36 + .../once/node_modules/wrappy/package.json | 52 + .../once/node_modules/wrappy/test/basic.js | 51 + .../once/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/once/once.js | 21 + .../glob/node_modules/once/package.json | 60 + .../glob/node_modules/once/test/once.js | 23 + .../node_modules/glob/package.json | 72 + .../glob-stream/node_modules/glob/sync.js | 457 + .../node_modules/glob2base/LICENSE | 20 + .../node_modules/glob2base/README.md | 51 + .../node_modules/glob2base/index.js | 59 + .../node_modules/find-index/README.md | 33 + .../node_modules/find-index/index.js | 26 + .../glob2base/node_modules/find-index/last.js | 26 + .../node_modules/find-index/package.json | 52 + .../node_modules/glob2base/package.json | 73 + .../node_modules/minimatch/LICENSE | 15 + .../node_modules/minimatch/README.md | 216 + .../node_modules/minimatch/browser.js | 1159 +++ .../node_modules/minimatch/minimatch.js | 912 ++ .../node_modules/brace-expansion/.npmignore | 3 + .../node_modules/brace-expansion/README.md | 122 + .../node_modules/brace-expansion/example.js | 8 + .../node_modules/brace-expansion/index.js | 191 + .../node_modules/balanced-match/.npmignore | 2 + .../node_modules/balanced-match/.travis.yml | 3 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/Makefile | 6 + .../node_modules/balanced-match/README.md | 80 + .../node_modules/balanced-match/example.js | 5 + .../node_modules/balanced-match/index.js | 38 + .../node_modules/balanced-match/package.json | 72 + .../balanced-match/test/balanced.js | 56 + .../node_modules/concat-map/.travis.yml | 4 + .../node_modules/concat-map/LICENSE | 18 + .../node_modules/concat-map/README.markdown | 62 + .../node_modules/concat-map/example/map.js | 6 + .../node_modules/concat-map/index.js | 13 + .../node_modules/concat-map/package.json | 82 + .../node_modules/concat-map/test/map.js | 39 + .../node_modules/brace-expansion/package.json | 75 + .../node_modules/minimatch/package.json | 63 + .../ordered-read-streams/.npmignore | 16 + .../ordered-read-streams/.travis.yml | 4 + .../node_modules/ordered-read-streams/LICENSE | 20 + .../ordered-read-streams/README.md | 65 + .../ordered-read-streams/index.js | 87 + .../ordered-read-streams/package.json | 51 + .../ordered-read-streams/test/main.js | 160 + .../node_modules/unique-stream/.npmignore | 3 + .../node_modules/unique-stream/.travis.yml | 3 + .../node_modules/unique-stream/LICENSE | 20 + .../node_modules/unique-stream/README.md | 89 + .../node_modules/unique-stream/index.js | 54 + .../node_modules/unique-stream/package.json | 55 + .../node_modules/unique-stream/test/index.js | 109 + .../node_modules/glob-stream/package.json | 76 + .../node_modules/glob-watcher/.npmignore | 6 + .../node_modules/glob-watcher/.travis.yml | 6 + .../node_modules/glob-watcher/LICENSE | 20 + .../node_modules/glob-watcher/README.md | 53 + .../node_modules/glob-watcher/index.js | 39 + .../node_modules/gaze/LICENSE-MIT | 22 + .../glob-watcher/node_modules/gaze/README.md | 181 + .../node_modules/gaze/lib/gaze.js | 439 + .../node_modules/gaze/lib/helper.js | 67 + .../gaze/node_modules/globule/.jshintrc | 15 + .../gaze/node_modules/globule/.npmignore | 1 + .../gaze/node_modules/globule/.travis.yml | 6 + .../gaze/node_modules/globule/Gruntfile.js | 48 + .../gaze/node_modules/globule/LICENSE-MIT | 22 + .../gaze/node_modules/globule/README.md | 117 + .../gaze/node_modules/globule/lib/globule.js | 172 + .../globule/node_modules/glob/.npmignore | 2 + .../globule/node_modules/glob/.travis.yml | 3 + .../globule/node_modules/glob/LICENSE | 27 + .../globule/node_modules/glob/README.md | 233 + .../globule/node_modules/glob/examples/g.js | 9 + .../node_modules/glob/examples/usr-local.js | 9 + .../globule/node_modules/glob/glob.js | 643 ++ .../glob/node_modules/graceful-fs/.npmignore | 1 + .../glob/node_modules/graceful-fs/LICENSE | 27 + .../glob/node_modules/graceful-fs/README.md | 33 + .../node_modules/graceful-fs/graceful-fs.js | 442 + .../node_modules/graceful-fs/package.json | 65 + .../node_modules/graceful-fs/test/open.js | 46 + .../node_modules/graceful-fs/test/ulimit.js | 158 + .../glob/node_modules/inherits/LICENSE | 16 + .../glob/node_modules/inherits/README.md | 51 + .../glob/node_modules/inherits/inherits.js | 29 + .../glob/node_modules/inherits/package.json | 48 + .../globule/node_modules/glob/package.json | 57 + .../node_modules/glob/test/00-setup.js | 176 + .../node_modules/glob/test/bash-comparison.js | 63 + .../node_modules/glob/test/bash-results.json | 348 + .../node_modules/glob/test/cwd-test.js | 55 + .../globule/node_modules/glob/test/mark.js | 74 + .../node_modules/glob/test/nocase-nomagic.js | 113 + .../node_modules/glob/test/pause-resume.js | 73 + .../node_modules/glob/test/root-nomount.js | 39 + .../globule/node_modules/glob/test/root.js | 46 + .../node_modules/glob/test/zz-cleanup.js | 11 + .../globule/node_modules/lodash/LICENSE.txt | 22 + .../globule/node_modules/lodash/README.md | 128 + .../node_modules/lodash/dist/lodash.compat.js | 5152 +++++++++ .../lodash/dist/lodash.compat.min.js | 42 + .../node_modules/lodash/dist/lodash.js | 4983 +++++++++ .../node_modules/lodash/dist/lodash.min.js | 41 + .../lodash/dist/lodash.underscore.js | 4307 ++++++++ .../lodash/dist/lodash.underscore.min.js | 34 + .../globule/node_modules/lodash/package.json | 97 + .../globule/node_modules/minimatch/.npmignore | 1 + .../globule/node_modules/minimatch/LICENSE | 23 + .../globule/node_modules/minimatch/README.md | 218 + .../node_modules/minimatch/minimatch.js | 1055 ++ .../node_modules/lru-cache/.npmignore | 1 + .../node_modules/lru-cache/.travis.yml | 8 + .../node_modules/lru-cache/CONTRIBUTORS | 14 + .../minimatch/node_modules/lru-cache/LICENSE | 15 + .../node_modules/lru-cache/README.md | 119 + .../node_modules/lru-cache/lib/lru-cache.js | 318 + .../node_modules/lru-cache/package.json | 58 + .../node_modules/lru-cache/test/basic.js | 396 + .../node_modules/lru-cache/test/foreach.js | 120 + .../lru-cache/test/memory-leak.js | 51 + .../node_modules/lru-cache/test/serialize.js | 216 + .../minimatch/node_modules/sigmund/LICENSE | 15 + .../minimatch/node_modules/sigmund/README.md | 53 + .../minimatch/node_modules/sigmund/bench.js | 283 + .../node_modules/sigmund/package.json | 60 + .../minimatch/node_modules/sigmund/sigmund.js | 39 + .../node_modules/sigmund/test/basic.js | 24 + .../node_modules/minimatch/package.json | 57 + .../node_modules/minimatch/test/basic.js | 399 + .../minimatch/test/brace-expand.js | 33 + .../node_modules/minimatch/test/caching.js | 14 + .../node_modules/minimatch/test/defaults.js | 274 + .../test/extglob-ending-with-state-char.js | 8 + .../gaze/node_modules/globule/package.json | 74 + .../globule/test/fixtures/expand/README.md | 0 .../globule/test/fixtures/expand/css/baz.css | 0 .../globule/test/fixtures/expand/css/qux.css | 0 .../test/fixtures/expand/deep/deep.txt | 0 .../fixtures/expand/deep/deeper/deeper.txt | 0 .../expand/deep/deeper/deepest/deepest.txt | 0 .../globule/test/fixtures/expand/js/bar.js | 0 .../globule/test/fixtures/expand/js/foo.js | 0 .../node_modules/globule/test/globule_test.js | 486 + .../node_modules/gaze/package.json | 117 + .../node_modules/glob-watcher/package.json | 66 + .../glob-watcher/test/fixtures/test.coffee | 1 + .../node_modules/glob-watcher/test/main.js | 87 + .../node_modules/graceful-fs/.npmignore | 1 + .../vinyl-fs/node_modules/graceful-fs/LICENSE | 15 + .../node_modules/graceful-fs/README.md | 36 + .../vinyl-fs/node_modules/graceful-fs/fs.js | 11 + .../node_modules/graceful-fs/graceful-fs.js | 158 + .../node_modules/graceful-fs/package.json | 72 + .../node_modules/graceful-fs/polyfills.js | 255 + .../node_modules/graceful-fs/test/max-open.js | 69 + .../node_modules/graceful-fs/test/open.js | 39 + .../graceful-fs/test/readdir-sort.js | 20 + .../graceful-fs/test/write-then-read.js | 47 + .../vinyl-fs/node_modules/mkdirp/.travis.yml | 8 + .../vinyl-fs/node_modules/mkdirp/LICENSE | 21 + .../vinyl-fs/node_modules/mkdirp/bin/cmd.js | 33 + .../node_modules/mkdirp/bin/usage.txt | 12 + .../node_modules/mkdirp/examples/pow.js | 6 + .../vinyl-fs/node_modules/mkdirp/index.js | 98 + .../mkdirp/node_modules/minimist/.travis.yml | 4 + .../mkdirp/node_modules/minimist/LICENSE | 18 + .../node_modules/minimist/example/parse.js | 2 + .../mkdirp/node_modules/minimist/index.js | 187 + .../mkdirp/node_modules/minimist/package.json | 67 + .../node_modules/minimist/readme.markdown | 73 + .../mkdirp/node_modules/minimist/test/dash.js | 24 + .../minimist/test/default_bool.js | 20 + .../node_modules/minimist/test/dotted.js | 16 + .../mkdirp/node_modules/minimist/test/long.js | 31 + .../node_modules/minimist/test/parse.js | 318 + .../minimist/test/parse_modified.js | 9 + .../node_modules/minimist/test/short.js | 67 + .../node_modules/minimist/test/whitespace.js | 8 + .../vinyl-fs/node_modules/mkdirp/package.json | 60 + .../node_modules/mkdirp/readme.markdown | 100 + .../node_modules/mkdirp/test/chmod.js | 41 + .../node_modules/mkdirp/test/clobber.js | 38 + .../node_modules/mkdirp/test/mkdirp.js | 28 + .../node_modules/mkdirp/test/opts_fs.js | 29 + .../node_modules/mkdirp/test/opts_fs_sync.js | 27 + .../vinyl-fs/node_modules/mkdirp/test/perm.js | 32 + .../node_modules/mkdirp/test/perm_sync.js | 36 + .../vinyl-fs/node_modules/mkdirp/test/race.js | 37 + .../vinyl-fs/node_modules/mkdirp/test/rel.js | 32 + .../node_modules/mkdirp/test/return.js | 25 + .../node_modules/mkdirp/test/return_sync.js | 24 + .../vinyl-fs/node_modules/mkdirp/test/root.js | 19 + .../vinyl-fs/node_modules/mkdirp/test/sync.js | 32 + .../node_modules/mkdirp/test/umask.js | 28 + .../node_modules/mkdirp/test/umask_sync.js | 32 + .../vinyl-fs/node_modules/strip-bom/cli.js | 42 + .../vinyl-fs/node_modules/strip-bom/index.js | 24 + .../node_modules/first-chunk-stream/index.js | 93 + .../first-chunk-stream/package.json | 65 + .../node_modules/first-chunk-stream/readme.md | 62 + .../strip-bom/node_modules/is-utf8/README.md | 12 + .../strip-bom/node_modules/is-utf8/ansi.txt | 7 + .../strip-bom/node_modules/is-utf8/is-utf8.js | 76 + .../node_modules/is-utf8/package.json | 46 + .../strip-bom/node_modules/is-utf8/test.js | 7 + .../strip-bom/node_modules/is-utf8/utf8.txt | 7 + .../node_modules/strip-bom/package.json | 80 + .../vinyl-fs/node_modules/strip-bom/readme.md | 59 + .../vinyl-fs/node_modules/through2/.npmignore | 3 + .../vinyl-fs/node_modules/through2/LICENSE | 39 + .../vinyl-fs/node_modules/through2/README.md | 132 + .../node_modules/readable-stream/.npmignore | 5 + .../node_modules/readable-stream/LICENSE | 18 + .../node_modules/readable-stream/README.md | 15 + .../node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 89 + .../lib/_stream_passthrough.js | 46 + .../readable-stream/lib/_stream_readable.js | 982 ++ .../readable-stream/lib/_stream_transform.js | 210 + .../readable-stream/lib/_stream_writable.js | 386 + .../node_modules/core-util-is/README.md | 3 + .../node_modules/core-util-is/float.patch | 604 ++ .../node_modules/core-util-is/lib/util.js | 107 + .../node_modules/core-util-is/package.json | 54 + .../node_modules/core-util-is/util.js | 106 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 51 + .../node_modules/inherits/test.js | 25 + .../node_modules/isarray/README.md | 54 + .../node_modules/isarray/build/build.js | 209 + .../node_modules/isarray/component.json | 19 + .../node_modules/isarray/index.js | 3 + .../node_modules/isarray/package.json | 54 + .../node_modules/string_decoder/.npmignore | 2 + .../node_modules/string_decoder/LICENSE | 20 + .../node_modules/string_decoder/README.md | 7 + .../node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 54 + .../node_modules/readable-stream/package.json | 70 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 8 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../through2/node_modules/xtend/.jshintrc | 30 + .../through2/node_modules/xtend/.npmignore | 1 + .../through2/node_modules/xtend/LICENCE | 19 + .../through2/node_modules/xtend/Makefile | 4 + .../through2/node_modules/xtend/README.md | 32 + .../through2/node_modules/xtend/immutable.js | 19 + .../through2/node_modules/xtend/mutable.js | 17 + .../through2/node_modules/xtend/package.json | 83 + .../through2/node_modules/xtend/test.js | 83 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../vinyl-fs/node_modules/vinyl/LICENSE | 20 + .../vinyl-fs/node_modules/vinyl/README.md | 127 + .../vinyl-fs/node_modules/vinyl/index.js | 175 + .../node_modules/vinyl/lib/cloneBuffer.js | 7 + .../node_modules/vinyl/lib/inspectStream.js | 11 + .../node_modules/vinyl/lib/isBuffer.js | 7 + .../vinyl-fs/node_modules/vinyl/lib/isNull.js | 3 + .../node_modules/vinyl/lib/isStream.js | 5 + .../vinyl/node_modules/clone-stats/LICENSE.md | 21 + .../vinyl/node_modules/clone-stats/README.md | 17 + .../vinyl/node_modules/clone-stats/index.js | 13 + .../node_modules/clone-stats/package.json | 57 + .../vinyl/node_modules/clone-stats/test.js | 36 + .../vinyl/node_modules/clone/.npmignore | 1 + .../vinyl/node_modules/clone/.travis.yml | 5 + .../vinyl/node_modules/clone/LICENSE | 18 + .../vinyl/node_modules/clone/README.md | 126 + .../vinyl/node_modules/clone/clone.js | 144 + .../vinyl/node_modules/clone/package.json | 127 + .../vinyl/node_modules/clone/test.js | 289 + .../vinyl-fs/node_modules/vinyl/package.json | 75 + .../gulp/node_modules/vinyl-fs/package.json | 83 + node_modules/gulp/package.json | 105 + node_modules/laravel-elixir/.npmignore | 4 + node_modules/laravel-elixir/Config.js | 454 + node_modules/laravel-elixir/GulpPaths.js | 149 + node_modules/laravel-elixir/Logger.js | 74 + node_modules/laravel-elixir/Notification.js | 86 + node_modules/laravel-elixir/Task.js | 126 + .../elixir-test-app/copy/bar/bar.txt | 1 + .../elixir-test-app/copy/foo/foo.txt | 1 + .../resources/assets/coffee/module.coffee | 1 + .../resources/assets/css/one.css | 3 + .../resources/assets/css/two.css | 3 + .../resources/assets/sass/another.scss | 3 + .../resources/assets/sass/app.scss | 3 + .../elixir-test-app/test/GulpPaths.js | 66 + .../elixir-test-app/test/coffee.js | 51 + .../elixir-test-app/test/copy.js | 59 + .../elixir-test-app/test/sass.js | 61 + .../elixir-test-app/test/styles.js | 64 + node_modules/laravel-elixir/icons/fail.png | Bin 0 -> 4070 bytes node_modules/laravel-elixir/icons/laravel.png | Bin 0 -> 3714 bytes node_modules/laravel-elixir/icons/pass.png | Bin 0 -> 2859 bytes node_modules/laravel-elixir/index.js | 114 + .../node_modules/babelify/.npmignore | 2 + .../node_modules/babelify/LICENSE | 22 + .../node_modules/babelify/README.md | 178 + .../node_modules/babelify/index.js | 66 + .../node_modules/babelify/package.json | 56 + .../node_modules/babelify/polyfill.js | 1 + .../node_modules/browser-sync/CHANGELOG.md | 356 + .../node_modules/browser-sync/LICENSE | 202 + .../node_modules/browser-sync/README.md | 141 + .../browser-sync/bin/browser-sync.js | 92 + .../node_modules/browser-sync/index.js | 358 + .../node_modules/browser-sync/lib/args.js | 77 + .../browser-sync/lib/async-tasks.js | 76 + .../node_modules/browser-sync/lib/async.js | 402 + .../browser-sync/lib/browser-sync.js | 744 ++ .../browser-sync/lib/cli/cli-info.js | 59 + .../browser-sync/lib/cli/cli-options.js | 313 + .../browser-sync/lib/cli/cli-template.js | 15 + .../browser-sync/lib/cli/cli-utils.js | 31 + .../browser-sync/lib/cli/command.init.js | 15 + .../browser-sync/lib/cli/command.recipe.js | 60 + .../browser-sync/lib/cli/command.reload.js | 40 + .../browser-sync/lib/cli/command.start.js | 21 + .../browser-sync/lib/cli/help.txt | 33 + .../browser-sync/lib/cli/opts.init.json | 1 + .../browser-sync/lib/cli/opts.recipe.json | 3 + .../browser-sync/lib/cli/opts.reload.json | 5 + .../browser-sync/lib/cli/opts.start.json | 31 + .../node_modules/browser-sync/lib/config.js | 30 + .../browser-sync/lib/connect-utils.js | 168 + .../browser-sync/lib/default-config.js | 473 + .../browser-sync/lib/file-utils.js | 60 + .../browser-sync/lib/file-watcher.js | 84 + .../node_modules/browser-sync/lib/hooks.js | 96 + .../browser-sync/lib/http-protocol.js | 69 + .../browser-sync/lib/internal-events.js | 85 + .../node_modules/browser-sync/lib/logger.js | 287 + .../node_modules/browser-sync/lib/options.js | 243 + .../browser-sync/lib/public/exit.js | 17 + .../browser-sync/lib/public/init.js | 32 + .../browser-sync/lib/public/notify.js | 18 + .../browser-sync/lib/public/pause.js | 12 + .../browser-sync/lib/public/public-utils.js | 64 + .../browser-sync/lib/public/reload.js | 72 + .../browser-sync/lib/public/resume.js | 12 + .../browser-sync/lib/public/socket.io.js | 3 + .../browser-sync/lib/public/stream.js | 98 + .../lib/server/certs/browsersync.pfx | Bin 0 -> 1573 bytes .../browser-sync/lib/server/certs/gen.sh | 6 + .../browser-sync/lib/server/certs/server.crt | 13 + .../browser-sync/lib/server/certs/server.csr | 11 + .../browser-sync/lib/server/certs/server.key | 15 + .../browser-sync/lib/server/index.js | 62 + .../browser-sync/lib/server/proxy-server.js | 114 + .../browser-sync/lib/server/snippet-server.js | 20 + .../browser-sync/lib/server/static-server.js | 66 + .../browser-sync/lib/server/utils.js | 116 + .../node_modules/browser-sync/lib/snippet.js | 102 + .../node_modules/browser-sync/lib/sockets.js | 100 + .../browser-sync/lib/templates/connector.tmpl | 6 + .../lib/templates/script-tags.tmpl | 3 + .../node_modules/browser-sync/lib/tunnel.js | 29 + .../node_modules/browser-sync/lib/utils.js | 271 + .../node_modules/browser-sync/package.json | 120 + .../node_modules/browserify/.travis.yml | 8 + .../node_modules/browserify/LICENSE | 63 + .../node_modules/browserify/bin/advanced.txt | 100 + .../node_modules/browserify/bin/args.js | 266 + .../node_modules/browserify/bin/cmd.js | 74 + .../node_modules/browserify/bin/usage.txt | 34 + .../browserify/changelog.markdown | 1106 ++ .../browserify/example/api/browser/bar.js | 1 + .../browserify/example/api/browser/foo.js | 5 + .../browserify/example/api/browser/main.js | 2 + .../browserify/example/api/build.js | 4 + .../example/multiple_bundles/beep.js | 2 + .../example/multiple_bundles/boop.js | 2 + .../example/multiple_bundles/build.sh | 4 + .../example/multiple_bundles/robot.js | 1 + .../example/multiple_bundles/static/beep.html | 2 + .../example/multiple_bundles/static/boop.html | 2 + .../browserify/example/source_maps/build.js | 13 + .../browserify/example/source_maps/build.sh | 4 + .../browserify/example/source_maps/index.html | 11 + .../example/source_maps/js/build/.npmignore | 1 + .../example/source_maps/js/build/bundle.js | 28 + .../browserify/example/source_maps/js/foo.js | 7 + .../browserify/example/source_maps/js/main.js | 4 + .../example/source_maps/js/wunder/bar.js | 8 + .../node_modules/browserify/index.js | 802 ++ .../node_modules/browserify/lib/_empty.js | 0 .../node_modules/browserify/lib/builtins.js | 38 + .../node_modules/browserify/package.json | 156 + .../node_modules/browserify/readme.markdown | 783 ++ .../node_modules/browserify/test/args.js | 72 + .../node_modules/browserify/test/array.js | 74 + .../node_modules/browserify/test/array/one.js | 1 + .../browserify/test/array/three.js | 1 + .../node_modules/browserify/test/array/two.js | 1 + .../node_modules/browserify/test/backbone.js | 23 + .../node_modules/browserify/test/bare.js | 70 + .../node_modules/browserify/test/bare/main.js | 7 + .../browserify/test/bare_shebang.js | 37 + .../node_modules/browserify/test/bin.js | 31 + .../node_modules/browserify/test/bin_entry.js | 31 + .../browserify/test/bin_tr_error.js | 23 + .../browserify/test/bin_tr_error/main.js | 1 + .../browserify/test/bin_tr_error/tr.js | 12 + .../node_modules/browserify/test/bom.js | 19 + .../node_modules/browserify/test/bom/hello.js | 1 + .../browserify/test/browser_field_file.js | 13 + .../test/browser_field_file/package.json | 5 + .../browserify/test/browser_field_file/wow.js | 1 + .../node_modules/browserify/test/buffer.js | 142 + .../browserify/test/bundle-bundle-external.js | 31 + .../test/bundle-bundle-external/bar.js | 2 + .../test/bundle-bundle-external/baz.js | 3 + .../test/bundle-bundle-external/foo.js | 5 + .../browserify/test/bundle-stream.js | 18 + .../node_modules/browserify/test/bundle.js | 33 + .../browserify/test/bundle_external.js | 26 + .../browserify/test/bundle_external/boop.js | 4 + .../browserify/test/bundle_external/main.js | 4 + .../browserify/test/bundle_external/robot.js | 1 + .../browserify/test/bundle_external_global.js | 24 + .../browserify/test/bundle_sourcemap.js | 32 + .../node_modules/browserify/test/catch.js | 22 + .../browserify/test/catch/main.js | 1 + .../node_modules/browserify/test/circular.js | 34 + .../browserify/test/circular/a.js | 3 + .../browserify/test/circular/b.js | 1 + .../browserify/test/circular/main.js | 1 + .../browserify/test/coffee_bin.js | 36 + .../browserify/test/coffee_bin/main.coffee | 2 + .../browserify/test/coffee_bin/x.coffee | 1 + .../node_modules/browserify/test/coffeeify.js | 19 + .../browserify/test/coffeeify/main.coffee | 2 + .../node_modules/browserify/test/comment.js | 16 + .../browserify/test/comment/main.js | 2 + .../node_modules/browserify/test/constants.js | 18 + .../node_modules/browserify/test/crypto.js | 39 + .../node_modules/browserify/test/crypto_ig.js | 39 + .../node_modules/browserify/test/cycle.js | 13 + .../browserify/test/cycle/README.md | 16 + .../browserify/test/cycle/entry.js | 15 + .../browserify/test/cycle/mod1/a.js | 1 + .../browserify/test/cycle/mod1/b.js | 1 + .../browserify/test/cycle/mod2/a.js | 1 + .../browserify/test/cycle/mod2/b.js | 1 + .../browserify/test/debug_standalone.js | 64 + .../browserify/test/debug_standalone/x.js | 1 + .../browserify/test/dedupe-deps.js | 43 + .../browserify/test/dedupe-nomap.js | 64 + .../node_modules/browserify/test/delay.js | 24 + .../browserify/test/delay/diverted.js | 1 + .../browserify/test/delay/main.js | 1 + .../node_modules/browserify/test/dep.js | 25 + .../node_modules/browserify/test/dollar.js | 17 + .../browserify/test/dollar/dollar/index.js | 7 + .../browserify/test/double_buffer.js | 14 + .../browserify/test/double_buffer/explicit.js | 1 + .../browserify/test/double_buffer/implicit.js | 1 + .../browserify/test/double_buffer/main.js | 4 + .../browserify/test/double_bundle.js | 24 + .../browserify/test/double_bundle_error.js | 17 + .../test/double_bundle_error/main.js | 1 + .../test/double_bundle_error/needs_three.js | 1 + .../test/double_bundle_error/one.js | 1 + .../test/double_bundle_error/package.json | 5 + .../test/double_bundle_error/three.js | 3 + .../test/double_bundle_error/two.js | 1 + .../browserify/test/double_bundle_json.js | 37 + .../browserify/test/double_bundle_json/a.json | 1 + .../browserify/test/double_bundle_json/b.json | 1 + .../test/double_bundle_json/index.js | 5 + .../browserify/test/double_bundle_parallel.js | 33 + .../test/double_bundle_parallel_cache.js | 35 + .../browserify/test/dup/foo-dup.js | 4 + .../node_modules/browserify/test/dup/foo.js | 4 + .../node_modules/browserify/test/dup/index.js | 5 + .../node_modules/browserify/test/entry.js | 42 + .../browserify/test/entry/main.js | 1 + .../browserify/test/entry/needs_three.js | 1 + .../node_modules/browserify/test/entry/one.js | 1 + .../browserify/test/entry/package.json | 5 + .../browserify/test/entry/three.js | 1 + .../node_modules/browserify/test/entry/two.js | 1 + .../browserify/test/entry_exec.js | 15 + .../browserify/test/entry_exec/fail.js | 1 + .../browserify/test/entry_exec/main.js | 1 + .../browserify/test/entry_expose.js | 19 + .../browserify/test/entry_expose/main.js | 2 + .../browserify/test/entry_relative.js | 44 + .../browserify/test/error_code.js | 24 + .../browserify/test/error_code/src.js | 2 + .../node_modules/browserify/test/export.js | 35 + .../browserify/test/export/entry.js | 1 + .../node_modules/browserify/test/external.js | 20 + .../browserify/test/external/main.js | 2 + .../browserify/test/external/x.js | 3 + .../browserify/test/external_args/main.js | 10 + .../browserify/test/external_shim.js | 27 + .../browserify/test/external_shim/bundle1.js | 1 + .../browserify/test/external_shim/bundle2.js | 1 + .../test/external_shim/package.json | 5 + .../browserify/test/external_shim/shim.js | 0 .../browserify/test/externalize.js | 59 + .../browserify/test/externalize/beep.js | 2 + .../browserify/test/externalize/boop.js | 2 + .../browserify/test/externalize/robot.js | 1 + .../node_modules/browserify/test/fake.js | 15 + .../browserify/test/fake/fake_fs.js | 1 + .../node_modules/browserify/test/fake/main.js | 2 + .../node_modules/browserify/test/field.js | 72 + .../browserify/test/field/miss.js | 1 + .../test/field/node_modules/z-miss/browser.js | 1 + .../test/field/node_modules/z-miss/main.js | 1 + .../field/node_modules/z-miss/package.json | 4 + .../field/node_modules/z-object/browser.js | 1 + .../test/field/node_modules/z-object/main.js | 1 + .../field/node_modules/z-object/package.json | 4 + .../field/node_modules/z-string/browser.js | 1 + .../test/field/node_modules/z-string/main.js | 1 + .../field/node_modules/z-string/package.json | 4 + .../field/node_modules/z-sub/browser/a.js | 1 + .../field/node_modules/z-sub/browser/b.js | 1 + .../test/field/node_modules/z-sub/main.js | 1 + .../field/node_modules/z-sub/package.json | 4 + .../browserify/test/field/object.js | 1 + .../browserify/test/field/string.js | 1 + .../node_modules/browserify/test/field/sub.js | 1 + .../browserify/test/file_event.js | 33 + .../browserify/test/five_bundle.js | 30 + .../browserify/test/full_paths.js | 58 + .../node_modules/browserify/test/glob.js | 29 + .../node_modules/browserify/test/glob/a.js | 6 + .../node_modules/browserify/test/glob/b.js | 5 + .../browserify/test/glob/lib/z.js | 1 + .../browserify/test/glob/vendor/x.js | 1 + .../browserify/test/glob/vendor/y.js | 1 + .../node_modules/browserify/test/global.js | 90 + .../browserify/test/global/buffer.js | 2 + .../browserify/test/global/filename.js | 2 + .../browserify/test/global/main.js | 2 + .../test/global/node_modules/aaa/index.js | 2 + .../test/global/node_modules/robot/index.js | 1 + .../global/node_modules/robot/lib/beep.js | 2 + .../browserify/test/global/tick.js | 3 + .../browserify/test/global_coffeeify.js | 19 + .../browserify/test/global_noparse.js | 101 + .../browserify/test/global_recorder.js | 22 + .../browserify/test/global_recorder/main.js | 1 + .../node_modules/browserify/test/hash.js | 15 + .../browserify/test/hash/foo/other.js | 1 + .../browserify/test/hash/foo/two.js | 2 + .../node_modules/browserify/test/hash/main.js | 2 + .../node_modules/browserify/test/hash/one.js | 2 + .../browserify/test/hash/other.js | 1 + .../browserify/test/hash_instance_context.js | 25 + .../test/hash_instance_context/main.js | 17 + .../test/hash_instance_context/one/dir/f.js | 3 + .../test/hash_instance_context/one/dir/g.js | 2 + .../test/hash_instance_context/one/f.js | 3 + .../test/hash_instance_context/one/g.js | 2 + .../test/hash_instance_context/three/dir/f.js | 3 + .../test/hash_instance_context/three/dir/g.js | 2 + .../test/hash_instance_context/three/dir/h.js | 2 + .../test/hash_instance_context/three/f.js | 3 + .../test/hash_instance_context/three/g.js | 2 + .../test/hash_instance_context/three/h.js | 2 + .../test/hash_instance_context/two/dir/f.js | 3 + .../test/hash_instance_context/two/dir/g.js | 2 + .../test/hash_instance_context/two/dir/h.js | 2 + .../test/hash_instance_context/two/f.js | 3 + .../test/hash_instance_context/two/g.js | 2 + .../test/hash_instance_context/two/h.js | 2 + .../node_modules/browserify/test/identical.js | 19 + .../browserify/test/identical/main.js | 6 + .../browserify/test/identical/x.js | 2 + .../browserify/test/identical/y.js | 2 + .../browserify/test/identical_different.js | 19 + .../test/identical_different/main.js | 6 + .../node_modules/op/index.js | 3 + .../wow/node_modules/op/index.js | 3 + .../test/identical_different/wow/y.js | 3 + .../browserify/test/identical_different/x.js | 3 + .../node_modules/browserify/test/ignore.js | 72 + .../browserify/test/ignore/by-id.js | 3 + .../browserify/test/ignore/by-relative.js | 5 + .../browserify/test/ignore/double-skip.js | 2 + .../test/ignore/double-skip/index.js | 1 + .../test/ignore/double-skip/skip.js | 5 + .../browserify/test/ignore/ignored/skip.js | 1 + .../browserify/test/ignore/main.js | 1 + .../browserify/test/ignore/relative/index.js | 1 + .../browserify/test/ignore/skip.js | 1 + .../browserify/test/ignore_browser_field.js | 21 + .../test/ignore_browser_field/main.js | 2 + .../node_modules/a/browser.js | 1 + .../node_modules/a/main.js | 1 + .../node_modules/a/package.json | 6 + .../node_modules/b/browser-x.js | 1 + .../node_modules/b/main.js | 1 + .../node_modules/b/package.json | 8 + .../ignore_browser_field/node_modules/b/x.js | 1 + .../browserify/test/ignore_missing.js | 41 + .../browserify/test/ignore_missing/main.js | 1 + .../node_modules/browserify/test/json.js | 44 + .../browserify/test/json/beep.json | 4 + .../browserify/test/json/evil-chars.json | 3 + .../node_modules/browserify/test/json/evil.js | 2 + .../node_modules/browserify/test/json/main.js | 2 + .../node_modules/browserify/test/leak.js | 57 + .../browserify/test/maxlisteners.js | 13 + .../browserify/test/maxlisteners/main.js | 3 + .../browserify/test/multi_bundle.js | 86 + .../browserify/test/multi_bundle/_prelude.js | 1 + .../browserify/test/multi_bundle/a.js | 3 + .../browserify/test/multi_bundle/b.js | 5 + .../browserify/test/multi_bundle/c.js | 4 + .../browserify/test/multi_bundle_unique.js | 56 + .../browserify/test/multi_entry.js | 121 + .../browserify/test/multi_entry/a.js | 2 + .../browserify/test/multi_entry/b.js | 2 + .../browserify/test/multi_entry/c.js | 2 + .../test/multi_entry_cross_require.js | 92 + .../test/multi_entry_cross_require/a.js | 8 + .../test/multi_entry_cross_require/c.js | 7 + .../test/multi_entry_cross_require/lib/b.js | 5 + .../browserify/test/multi_require.js | 18 + .../browserify/test/multi_require/a.js | 3 + .../browserify/test/multi_require/main.js | 4 + .../browserify/test/multi_symlink.js | 13 + .../browserify/test/multi_symlink/main.js | 2 + .../browserify/test/multi_symlink/x.js | 1 + .../browserify/test/no_builtins.js | 63 + .../browserify/test/no_builtins/extra/fs.js | 1 + .../browserify/test/no_builtins/extra/tls.js | 1 + .../browserify/test/no_builtins/main.js | 4 + .../browserify/test/no_builtins/x.txt | 1 + .../test/node_modules/beep/index.js | 1 + .../test/node_modules/plugin-foo/index.js | 9 + .../browserify/test/node_modules/tr/index.js | 8 + .../node_modules/browserify/test/noparse.js | 31 + .../node_modules/browserify/test/noparse/a.js | 4 + .../node_modules/browserify/test/noparse/b.js | 5 + .../browserify/test/noparse/dir1/1.js | 4 + .../browserify/test/noparse/dir1/dir2/2.js | 3 + .../noparse/node_modules/robot/lib/beep.js | 4 + .../noparse/node_modules/robot/lib/boop.js | 3 + .../test/noparse/node_modules/robot/main.js | 4 + .../noparse/node_modules/robot/package.json | 3 + .../node_modules/browserify/test/pack.js | 33 + .../node_modules/browserify/test/paths.js | 32 + .../browserify/test/paths/main.js | 3 + .../browserify/test/paths/x/aaa/index.js | 1 + .../browserify/test/paths/x/ccc/index.js | 1 + .../browserify/test/paths/y/bbb/index.js | 1 + .../browserify/test/paths/y/ccc/index.js | 1 + .../browserify/test/paths_transform.js | 76 + .../browserify/test/pipeline_deps.js | 22 + .../browserify/test/pipeline_deps/bar.js | 3 + .../browserify/test/pipeline_deps/foo.js | 5 + .../browserify/test/pipeline_deps/main.js | 2 + .../browserify/test/pipeline_deps/xyz.js | 2 + .../node_modules/browserify/test/pkg.js | 20 + .../node_modules/browserify/test/pkg/main.js | 1 + .../browserify/test/pkg/package.json | 1 + .../node_modules/browserify/test/pkg_event.js | 31 + .../browserify/test/pkg_event/main.js | 1 + .../browserify/test/pkg_event/package.json | 3 + .../node_modules/browserify/test/plugin.js | 28 + .../browserify/test/plugin/main.js | 1 + .../node_modules/browserify/test/process.js | 21 + .../browserify/test/process/main.js | 3 + .../browserify/test/process/one.js | 1 + .../browserify/test/process/two.js | 1 + .../browserify/test/relative_dedupe.js | 17 + .../browserify/test/relative_dedupe/a/a.js | 3 + .../browserify/test/relative_dedupe/a/b.js | 3 + .../test/relative_dedupe/a/index.js | 4 + .../browserify/test/relative_dedupe/b/a.js | 3 + .../browserify/test/relative_dedupe/b/b.js | 3 + .../test/relative_dedupe/b/index.js | 4 + .../browserify/test/relative_dedupe/index.js | 4 + .../browserify/test/relative_dedupe/main.js | 5 + .../browserify/test/require_cache.js | 19 + .../browserify/test/require_expose.js | 53 + .../browserify/test/require_expose/main.js | 1 + .../test/require_expose/some_dep.js | 1 + .../node_modules/browserify/test/reset.js | 31 + .../browserify/test/resolve_exposed.js | 20 + .../browserify/test/resolve_exposed/main.js | 2 + .../browserify/test/resolve_exposed/x.js | 1 + .../node_modules/browserify/test/retarget.js | 25 + .../browserify/test/reverse_multi_bundle.js | 47 + .../test/reverse_multi_bundle/app.js | 22 + .../test/reverse_multi_bundle/arbitrary.js | 6 + .../test/reverse_multi_bundle/lazy.js | 9 + .../test/reverse_multi_bundle/shared.js | 6 + .../browserify/test/shared_symlink.js | 16 + .../test/shared_symlink/app/index.js | 1 + .../app/node_modules/foo/index.js | 1 + .../browserify/test/shared_symlink/main.js | 1 + .../test/shared_symlink/shared/index.js | 1 + .../node_modules/browserify/test/shebang.js | 11 + .../browserify/test/shebang/foo.js | 2 + .../browserify/test/shebang/main.js | 4 + .../browserify/test/standalone.js | 85 + .../browserify/test/standalone/main.js | 3 + .../browserify/test/standalone/one.js | 1 + .../browserify/test/standalone/two.js | 1 + .../browserify/test/standalone_events.js | 19 + .../browserify/test/standalone_sourcemap.js | 55 + .../node_modules/browserify/test/stdin.js | 35 + .../node_modules/browserify/test/stream.js | 15 + .../browserify/test/stream/bar.js | 1 + .../browserify/test/stream/foo.js | 1 + .../browserify/test/stream/main.js | 2 + .../browserify/test/stream_file.js | 29 + .../node_modules/browserify/test/subdep.js | 16 + .../browserify/test/subdep/index.js | 1 + .../browserify/test/subdep/package.json | 6 + .../browserify/test/symlink_dedupe.js | 16 + .../browserify/test/symlink_dedupe/main.js | 6 + .../browserify/test/symlink_dedupe/one/f.js | 3 + .../browserify/test/symlink_dedupe/one/g.js | 2 + .../browserify/test/syntax_cache.js | 47 + .../browserify/test/syntax_cache/invalid.js | 2 + .../browserify/test/syntax_cache/valid.js | 2 + .../node_modules/browserify/test/tr.js | 28 + .../node_modules/browserify/test/tr/f.js | 2 + .../node_modules/browserify/test/tr/main.js | 9 + .../browserify/test/tr/package.json | 5 + .../browserify/test/tr/subdir/g.js | 1 + .../node_modules/browserify/test/tr_args.js | 24 + .../browserify/test/tr_args/main.js | 1 + .../browserify/test/tr_args/tr.js | 12 + .../node_modules/browserify/test/tr_error.js | 33 + .../node_modules/browserify/test/tr_flags.js | 36 + .../node_modules/browserify/test/tr_global.js | 17 + .../browserify/test/tr_global/main.js | 1 + .../test/tr_global/node_modules/tr/index.js | 8 + .../test/tr_global/node_modules/x/index.js | 1 + .../node_modules/x/node_modules/tr/index.js | 8 + .../browserify/test/tr_no_entry.js | 20 + .../browserify/test/tr_no_entry/main.js | 1 + .../node_modules/browserify/test/tr_once.js | 21 + .../browserify/test/tr_once/main.js | 1 + .../node_modules/browserify/test/tr_order.js | 23 + .../browserify/test/tr_order/replace_aaa.js | 10 + .../browserify/test/tr_order/replace_bbb.js | 11 + .../browserify/test/tr_symlink.js | 21 + .../test/tr_symlink/a-module/index.js | 1 + .../browserify/test/tr_symlink/app/main.js | 4 + .../test/tr_symlink/app/package.json | 5 + .../node_modules/browserify/test/unicode.js | 19 + .../browserify/test/unicode/main.js | 1 + .../browserify/test/unicode/one.js | 1 + .../browserify/test/unicode/two.js | 1 + .../node_modules/browserify/test/util.js | 62 + .../node_modules/browserify/test/yield.js | 20 + .../node_modules/browserify/test/yield/f.js | 5 + .../browserify/test/yield/main.js | 4 + .../laravel-elixir/node_modules/del/index.js | 78 + .../laravel-elixir/node_modules/del/license | 21 + .../node_modules/del/node_modules/.bin/rimraf | 1 + .../del/node_modules/each-async/index.js | 46 + .../del/node_modules/each-async/license | 21 + .../del/node_modules/each-async/package.json | 71 + .../del/node_modules/each-async/readme.md | 62 + .../del/node_modules/globby/index.js | 88 + .../del/node_modules/globby/license | 21 + .../del/node_modules/globby/package.json | 95 + .../del/node_modules/globby/readme.md | 74 + .../del/node_modules/is-path-cwd/index.js | 6 + .../del/node_modules/is-path-cwd/package.json | 61 + .../del/node_modules/is-path-cwd/readme.md | 28 + .../del/node_modules/is-path-in-cwd/index.js | 6 + .../node_modules/is-path-in-cwd/package.json | 66 + .../del/node_modules/is-path-in-cwd/readme.md | 28 + .../del/node_modules/object-assign/index.js | 39 + .../del/node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 68 + .../del/node_modules/object-assign/readme.md | 51 + .../del/node_modules/rimraf/LICENSE | 15 + .../del/node_modules/rimraf/README.md | 38 + .../del/node_modules/rimraf/bin.js | 40 + .../del/node_modules/rimraf/package.json | 62 + .../del/node_modules/rimraf/rimraf.js | 333 + .../node_modules/del/package.json | 87 + .../laravel-elixir/node_modules/del/readme.md | 82 + .../laravel-elixir/node_modules/glob/LICENSE | 15 + .../node_modules/glob/README.md | 377 + .../node_modules/glob/common.js | 245 + .../laravel-elixir/node_modules/glob/glob.js | 752 ++ .../glob/node_modules/inflight/.eslintrc | 17 + .../glob/node_modules/inflight/LICENSE | 15 + .../glob/node_modules/inflight/README.md | 37 + .../glob/node_modules/inflight/inflight.js | 44 + .../glob/node_modules/inflight/package.json | 61 + .../glob/node_modules/inflight/test.js | 97 + .../glob/node_modules/inherits/LICENSE | 16 + .../glob/node_modules/inherits/README.md | 42 + .../glob/node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../glob/node_modules/inherits/package.json | 51 + .../glob/node_modules/inherits/test.js | 25 + .../glob/node_modules/minimatch/LICENSE | 15 + .../glob/node_modules/minimatch/README.md | 216 + .../glob/node_modules/minimatch/minimatch.js | 912 ++ .../glob/node_modules/minimatch/package.json | 60 + .../glob/node_modules/once/LICENSE | 15 + .../glob/node_modules/once/README.md | 51 + .../glob/node_modules/once/once.js | 21 + .../glob/node_modules/once/package.json | 60 + .../glob/node_modules/once/test/once.js | 23 + .../node_modules/path-is-absolute/index.js | 20 + .../node_modules/path-is-absolute/license | 21 + .../path-is-absolute/package.json | 70 + .../node_modules/path-is-absolute/readme.md | 51 + .../node_modules/glob/package.json | 73 + .../laravel-elixir/node_modules/glob/sync.js | 460 + .../node_modules/gulp-autoprefixer/index.js | 58 + .../node_modules/gulp-autoprefixer/license | 21 + .../autoprefixer-core/CHANGELOG.md | 516 + .../node_modules/autoprefixer-core/LICENSE | 20 + .../node_modules/autoprefixer-core/README.md | 190 + .../autoprefixer-core/data/prefixes.js | 437 + .../autoprefixer-core/lib/at-rule.js | 51 + .../autoprefixer-core/lib/autoprefixer.js | 88 + .../autoprefixer-core/lib/browsers.js | 83 + .../autoprefixer-core/lib/declaration.js | 153 + .../lib/hacks/align-content.js | 57 + .../lib/hacks/align-items.js | 57 + .../autoprefixer-core/lib/hacks/align-self.js | 55 + .../autoprefixer-core/lib/hacks/appearance.js | 27 + .../lib/hacks/background-size.js | 32 + .../lib/hacks/block-logical.js | 35 + .../lib/hacks/border-image.js | 28 + .../lib/hacks/border-radius.js | 56 + .../lib/hacks/break-inside.js | 54 + .../lib/hacks/display-flex.js | 68 + .../lib/hacks/fill-available.js | 41 + .../lib/hacks/filter-value.js | 69 + .../autoprefixer-core/lib/hacks/filter.js | 29 + .../autoprefixer-core/lib/hacks/flex-basis.js | 47 + .../lib/hacks/flex-direction.js | 71 + .../autoprefixer-core/lib/hacks/flex-flow.js | 35 + .../autoprefixer-core/lib/hacks/flex-grow.js | 41 + .../lib/hacks/flex-shrink.js | 47 + .../autoprefixer-core/lib/hacks/flex-spec.js | 11 + .../lib/hacks/flex-values.js | 37 + .../autoprefixer-core/lib/hacks/flex-wrap.js | 33 + .../autoprefixer-core/lib/hacks/flex.js | 58 + .../autoprefixer-core/lib/hacks/fullscreen.js | 33 + .../autoprefixer-core/lib/hacks/gradient.js | 247 + .../lib/hacks/image-rendering.js | 58 + .../lib/hacks/inline-logical.js | 31 + .../lib/hacks/justify-content.js | 62 + .../autoprefixer-core/lib/hacks/order.js | 52 + .../autoprefixer-core/lib/hacks/pixelated.js | 33 + .../lib/hacks/placeholder.js | 39 + .../lib/hacks/transform-decl.js | 66 + .../lib/hacks/transform-value.js | 31 + .../autoprefixer-core/lib/info.js | 122 + .../autoprefixer-core/lib/old-selector.js | 68 + .../autoprefixer-core/lib/old-value.js | 30 + .../autoprefixer-core/lib/prefixer.js | 119 + .../autoprefixer-core/lib/prefixes.js | 370 + .../autoprefixer-core/lib/processor.js | 221 + .../autoprefixer-core/lib/resolution.js | 98 + .../autoprefixer-core/lib/selector.js | 117 + .../autoprefixer-core/lib/supports.js | 115 + .../autoprefixer-core/lib/utils.js | 57 + .../autoprefixer-core/lib/value.js | 103 + .../autoprefixer-core/package.json | 70 + .../node_modules/object-assign/index.js | 26 + .../node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 68 + .../node_modules/object-assign/readme.md | 51 + .../node_modules/postcss/CHANGELOG.md | 265 + .../node_modules/postcss/LICENSE | 20 + .../node_modules/postcss/README.md | 558 + .../node_modules/postcss/lib/at-rule.js | 69 + .../node_modules/postcss/lib/comment.js | 37 + .../node_modules/postcss/lib/container.js | 411 + .../postcss/lib/css-syntax-error.js | 101 + .../node_modules/postcss/lib/declaration.js | 44 + .../node_modules/postcss/lib/input.js | 105 + .../node_modules/postcss/lib/lazy-result.js | 261 + .../node_modules/postcss/lib/list.js | 62 + .../node_modules/postcss/lib/map-generator.js | 288 + .../node_modules/postcss/lib/node.js | 390 + .../node_modules/postcss/lib/parse.js | 26 + .../node_modules/postcss/lib/parser.js | 528 + .../node_modules/postcss/lib/postcss.js | 89 + .../node_modules/postcss/lib/previous-map.js | 107 + .../node_modules/postcss/lib/processor.js | 69 + .../node_modules/postcss/lib/result.js | 71 + .../node_modules/postcss/lib/root.js | 88 + .../node_modules/postcss/lib/rule.js | 50 + .../node_modules/postcss/lib/tokenize.js | 207 + .../node_modules/postcss/lib/vendor.js | 25 + .../node_modules/postcss/lib/warn-once.js | 14 + .../node_modules/postcss/lib/warning.js | 34 + .../node_modules/postcss/package.json | 75 + .../node_modules/through2/.npmignore | 3 + .../node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../vinyl-sourcemaps-apply/.jshintrc | 4 + .../vinyl-sourcemaps-apply/.npmignore | 2 + .../vinyl-sourcemaps-apply/README.md | 42 + .../vinyl-sourcemaps-apply/index.js | 35 + .../vinyl-sourcemaps-apply/package.json | 53 + .../gulp-autoprefixer/package.json | 77 + .../node_modules/gulp-autoprefixer/readme.md | 83 + .../node_modules/gulp-babel/index.js | 51 + .../node_modules/gulp-babel/license | 21 + .../node_modules/gulp-babel/package.json | 91 + .../node_modules/gulp-babel/readme.md | 102 + .../node_modules/gulp-batch/.npmignore | 5 + .../node_modules/gulp-batch/LICENSE | 20 + .../node_modules/gulp-batch/README.md | 70 + .../node_modules/gulp-batch/index.js | 51 + .../node_modules/async-done/LICENSE | 20 + .../node_modules/async-done/README.md | 86 + .../node_modules/async-done/index.js | 69 + .../node_modules/async-done/package.json | 93 + .../node_modules/stream-array/.npmignore | 13 + .../node_modules/stream-array/LICENSE | 22 + .../node_modules/stream-array/README.md | 77 + .../node_modules/stream-array/index.js | 23 + .../node_modules/stream-array/package.json | 86 + .../node_modules/stream-array/test/1.js | 13 + .../node_modules/stream-array/test/2.js | 35 + .../node_modules/stream-array/test/3.js | 27 + .../node_modules/stream-array/test/4.js | 22 + .../node_modules/gulp-batch/package.json | 64 + .../node_modules/gulp-coffee/.npmignore | 18 + .../node_modules/gulp-coffee/.travis.yml | 5 + .../node_modules/gulp-coffee/LICENSE | 20 + .../node_modules/gulp-coffee/README.md | 124 + .../node_modules/gulp-coffee/index.js | 53 + .../node_modules/gulp-coffee/package.json | 68 + .../gulp-coffee/test/fixtures/grammar.coffee | 621 ++ .../test/fixtures/journo.coffee.md | 468 + .../test/fixtures/journo.litcoffee | 468 + .../node_modules/gulp-coffee/test/main.js | 253 + .../node_modules/gulp-concat/LICENSE | 20 + .../node_modules/gulp-concat/README.md | 108 + .../node_modules/gulp-concat/index.js | 103 + .../concat-with-sourcemaps/LICENSE.md | 13 + .../concat-with-sourcemaps/README.md | 45 + .../concat-with-sourcemaps/index.js | 121 + .../concat-with-sourcemaps/package.json | 67 + .../node_modules/through2/.npmignore | 3 + .../gulp-concat/node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../node_modules/gulp-concat/package.json | 69 + .../node_modules/gulp-if/.editorconfig | 3 + .../node_modules/gulp-if/.jshintrc | 19 + .../node_modules/gulp-if/.npmignore | 10 + .../node_modules/gulp-if/.travis.yml | 4 + .../node_modules/gulp-if/LICENSE | 20 + .../node_modules/gulp-if/README.md | 225 + .../node_modules/gulp-if/img/condition.svg | 1 + .../node_modules/gulp-if/img/exclude.svg | 1 + .../node_modules/gulp-if/img/glob.svg | 1 + .../node_modules/gulp-if/img/ternary.svg | 1 + .../node_modules/gulp-if/index.js | 23 + .../gulp-if/node_modules/gulp-match/.jshintrc | 19 + .../node_modules/gulp-match/.npmignore | 10 + .../node_modules/gulp-match/.travis.yml | 4 + .../gulp-if/node_modules/gulp-match/LICENSE | 20 + .../gulp-if/node_modules/gulp-match/README.md | 124 + .../gulp-if/node_modules/gulp-match/index.js | 67 + .../node_modules/minimatch/.npmignore | 1 + .../node_modules/minimatch/.travis.yml | 4 + .../gulp-match/node_modules/minimatch/LICENSE | 23 + .../node_modules/minimatch/README.md | 218 + .../node_modules/minimatch/minimatch.js | 1073 ++ .../node_modules/minimatch/package.json | 58 + .../node_modules/minimatch/test/basic.js | 399 + .../minimatch/test/brace-expand.js | 40 + .../node_modules/minimatch/test/caching.js | 14 + .../node_modules/minimatch/test/defaults.js | 274 + .../test/extglob-ending-with-state-char.js | 8 + .../node_modules/gulp-match/package.json | 66 + .../node_modules/ternary-stream/.jshintrc | 19 + .../node_modules/ternary-stream/.npmignore | 10 + .../node_modules/ternary-stream/.travis.yml | 4 + .../node_modules/ternary-stream/LICENSE | 20 + .../node_modules/ternary-stream/README.md | 114 + .../ternary-stream/img/condition.svg | 1 + .../ternary-stream/img/ternary.svg | 1 + .../node_modules/ternary-stream/index.js | 55 + .../node_modules/ternary-stream/package.json | 70 + .../gulp-if/node_modules/through2/.npmignore | 3 + .../gulp-if/node_modules/through2/LICENSE | 39 + .../gulp-if/node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../gulp-if/node_modules/through2/through2.js | 96 + .../node_modules/gulp-if/package.json | 68 + .../node_modules/gulp-less/.npmignore | 21 + .../node_modules/gulp-less/Changelog.md | 18 + .../node_modules/gulp-less/README.md | 124 + .../node_modules/gulp-less/index.js | 61 + .../node_modules/gulp-less/package.json | 65 + .../node_modules/gulp-load-plugins/README.md | 186 + .../node_modules/gulp-load-plugins/index.js | 126 + .../node_modules/findup-sync/.npmignore | 4 + .../node_modules/findup-sync/LICENSE-MIT | 22 + .../node_modules/findup-sync/README.md | 47 + .../findup-sync/lib/findup-sync.js | 49 + .../node_modules/findup-sync/package.json | 69 + .../node_modules/multimatch/index.js | 30 + .../node_modules/multimatch/package.json | 72 + .../node_modules/multimatch/readme.md | 49 + .../node_modules/resolve/.travis.yml | 4 + .../node_modules/resolve/LICENSE | 18 + .../node_modules/resolve/example/async.js | 5 + .../node_modules/resolve/example/sync.js | 3 + .../node_modules/resolve/index.js | 5 + .../node_modules/resolve/lib/async.js | 192 + .../node_modules/resolve/lib/caller.js | 8 + .../node_modules/resolve/lib/core.js | 4 + .../node_modules/resolve/lib/core.json | 38 + .../resolve/lib/node-modules-paths.js | 36 + .../node_modules/resolve/lib/sync.js | 81 + .../node_modules/resolve/package.json | 56 + .../node_modules/resolve/readme.markdown | 148 + .../node_modules/resolve/test/core.js | 12 + .../node_modules/resolve/test/dotdot.js | 29 + .../resolve/test/dotdot/abc/index.js | 2 + .../node_modules/resolve/test/dotdot/index.js | 1 + .../resolve/test/faulty_basedir.js | 17 + .../node_modules/resolve/test/filter.js | 18 + .../node_modules/resolve/test/filter_sync.js | 15 + .../node_modules/resolve/test/mock.js | 142 + .../node_modules/resolve/test/mock_sync.js | 68 + .../node_modules/resolve/test/module_dir.js | 56 + .../test/module_dir/xmodules/aaa/index.js | 1 + .../test/module_dir/ymodules/aaa/index.js | 1 + .../test/module_dir/zmodules/bbb/main.js | 1 + .../test/module_dir/zmodules/bbb/package.json | 3 + .../node_modules/resolve/test/node_path.js | 48 + .../resolve/test/node_path/x/aaa/index.js | 1 + .../resolve/test/node_path/x/ccc/index.js | 1 + .../resolve/test/node_path/y/bbb/index.js | 1 + .../resolve/test/node_path/y/ccc/index.js | 1 + .../node_modules/resolve/test/nonstring.js | 9 + .../node_modules/resolve/test/pathfilter.js | 35 + .../resolve/test/pathfilter/deep_ref/main.js | 0 .../deep_ref/node_modules/deep/alt.js | 0 .../deep_ref/node_modules/deep/deeper/ref.js | 0 .../deep_ref/node_modules/deep/package.json | 4 + .../deep_ref/node_modules/deep/ref.js | 0 .../node_modules/resolve/test/precedence.js | 23 + .../resolve/test/precedence/aaa.js | 1 + .../resolve/test/precedence/aaa/index.js | 1 + .../resolve/test/precedence/aaa/main.js | 1 + .../resolve/test/precedence/bbb.js | 1 + .../resolve/test/precedence/bbb/main.js | 1 + .../node_modules/resolve/test/resolver.js | 281 + .../resolver/bar/node_modules/foo/index.js | 1 + .../resolve/test/resolver/baz/doom.js | 0 .../resolve/test/resolver/baz/package.json | 3 + .../resolve/test/resolver/baz/quux.js | 1 + .../biz/node_modules/garply/lib/index.js | 1 + .../biz/node_modules/garply/package.json | 3 + .../resolver/biz/node_modules/grux/index.js | 1 + .../resolver/biz/node_modules/tiv/index.js | 1 + .../resolve/test/resolver/cup.coffee | 1 + .../node_modules/resolve/test/resolver/foo.js | 1 + .../test/resolver/incorrect_main/index.js | 2 + .../test/resolver/incorrect_main/package.json | 3 + .../resolve/test/resolver/mug.coffee | 0 .../node_modules/resolve/test/resolver/mug.js | 0 .../test/resolver/other_path/lib/other-lib.js | 0 .../resolve/test/resolver/other_path/root.js | 0 .../punycode/node_modules/punycode/index.js | 0 .../resolve/test/resolver/quux/foo/index.js | 1 + .../test/resolver/without_basedir/main.js | 6 + .../without_basedir/node_modules/mymodule.js | 1 + .../resolve/test/resolver_sync.js | 180 + .../node_modules/resolve/test/subdirs.js | 13 + .../test/subdirs/node_modules/a/b/c/x.json | 1 + .../test/subdirs/node_modules/a/package.json | 1 + .../gulp-load-plugins/package.json | 100 + .../node_modules/gulp-minify-css/CHANGELOG.md | 72 + .../node_modules/gulp-minify-css/LICENSE | 20 + .../node_modules/gulp-minify-css/README.md | 66 + .../node_modules/gulp-minify-css/index.js | 76 + .../node_modules/gulp-minify-css/package.json | 92 + .../node_modules/gulp-notify/.editorconfig | 17 + .../node_modules/gulp-notify/.gitattributes | 1 + .../node_modules/gulp-notify/.jshintrc | 21 + .../node_modules/gulp-notify/.npmignore | 3 + .../node_modules/gulp-notify/.travis.yml | 4 + .../node_modules/gulp-notify/CHANGELOG.md | 71 + .../node_modules/gulp-notify/LICENSE | 20 + .../node_modules/gulp-notify/README.md | 428 + .../gulp-notify/assets/gulp-error.png | Bin 0 -> 10212 bytes .../node_modules/gulp-notify/assets/gulp.png | Bin 0 -> 20426 bytes .../gulp-notify/examples/gulp.png | Bin 0 -> 9380 bytes .../gulp-notify/examples/gulpfile.js | 150 + .../gulp-notify/examples/jshint.js | 28 + .../node_modules/gulp-notify/index.js | 28 + .../node_modules/gulp-notify/lib/extra_api.js | 63 + .../node_modules/gulp-notify/lib/notify.js | 103 + .../node_modules/gulp-notify/lib/report.js | 131 + .../gulp-notify/lib/withReporter.js | 35 + .../node_modules/gulp-notify/package.json | 78 + .../gulp-notify/test/fixtures/1.txt | 0 .../gulp-notify/test/fixtures/2.txt | 0 .../gulp-notify/test/fixtures/3.txt | 0 .../node_modules/gulp-notify/test/main.js | 769 ++ .../node_modules/gulp-phpspec/.jscsrc | 14 + .../node_modules/gulp-phpspec/.jshintrc | 30 + .../node_modules/gulp-phpspec/.jslintrc | 30 + .../node_modules/gulp-phpspec/.npmignore | 5 + .../node_modules/gulp-phpspec/.travis.yml | 5 + .../node_modules/gulp-phpspec/CHANGELOG.md | 54 + .../node_modules/gulp-phpspec/LICENSE | 20 + .../node_modules/gulp-phpspec/README.md | 124 + .../node_modules/gulp-phpspec/TODO.md | 3 + .../gulp-phpspec/assets/test-fail.png | Bin 0 -> 4070 bytes .../gulp-phpspec/assets/test-pass.png | Bin 0 -> 2859 bytes .../node_modules/gulp-phpspec/config.js | 30 + .../node_modules/gulp-phpspec/index.js | 102 + .../node_modules/gulp-phpspec/lib/phpspec.js | 56 + .../node_modules/gulp-phpspec/package.json | 76 + .../node_modules/gulp-phpspec/spec/test.js | 163 + .../node_modules/gulp-phpspec/tasks/build.js | 0 .../node_modules/gulp-phpspec/tasks/lint.js | 6 + .../node_modules/gulp-phpspec/tasks/test.js | 10 + .../node_modules/gulp-phpspec/tasks/todo.js | 6 + .../node_modules/gulp-phpunit/.circle.yml | 5 + .../node_modules/gulp-phpunit/.jshintrc | 28 + .../node_modules/gulp-phpunit/.npmignore | 5 + .../node_modules/gulp-phpunit/.travis.yml | 4 + .../node_modules/gulp-phpunit/CHANGELOG.md | 125 + .../node_modules/gulp-phpunit/LICENSE | 20 + .../node_modules/gulp-phpunit/README.md | 339 + .../gulp-phpunit/assets/test-fail.png | Bin 0 -> 4070 bytes .../gulp-phpunit/assets/test-pass.png | Bin 0 -> 2859 bytes .../node_modules/gulp-phpunit/index.js | 242 + .../node_modules/gulp-phpunit/package.json | 66 + .../node_modules/gulp-phpunit/scratch.txt | 28 + .../node_modules/gulp-phpunit/test/test.js | 50 + .../node_modules/gulp-rename/README.md | 55 + .../node_modules/gulp-rename/index.js | 65 + .../node_modules/gulp-rename/package.json | 80 + .../node_modules/gulp-rev-replace/.npmignore | 2 + .../node_modules/gulp-rev-replace/.travis.yml | 3 + .../node_modules/gulp-rev-replace/LICENSE | 21 + .../node_modules/gulp-rev-replace/README.md | 155 + .../node_modules/gulp-rev-replace/index.js | 111 + .../gulp-rev-replace/package.json | 67 + .../node_modules/gulp-rev-replace/test.js | 540 + .../node_modules/gulp-rev-replace/utils.js | 9 + .../node_modules/gulp-rev/index.js | 166 + .../node_modules/gulp-rev/license | 21 + .../node_modules/object-assign/index.js | 26 + .../node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 68 + .../node_modules/object-assign/readme.md | 51 + .../gulp-rev/node_modules/rev-hash/index.js | 10 + .../gulp-rev/node_modules/rev-hash/license | 21 + .../node_modules/rev-hash/package.json | 65 + .../gulp-rev/node_modules/rev-hash/readme.md | 29 + .../gulp-rev/node_modules/rev-path/index.js | 22 + .../gulp-rev/node_modules/rev-path/license | 21 + .../node_modules/rev-path/package.json | 67 + .../gulp-rev/node_modules/rev-path/readme.md | 33 + .../gulp-rev/node_modules/sort-keys/index.js | 33 + .../gulp-rev/node_modules/sort-keys/license | 21 + .../node_modules/sort-keys/package.json | 68 + .../gulp-rev/node_modules/sort-keys/readme.md | 63 + .../gulp-rev/node_modules/through2/.npmignore | 3 + .../gulp-rev/node_modules/through2/LICENSE | 39 + .../gulp-rev/node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../gulp-rev/node_modules/vinyl-file/index.js | 80 + .../gulp-rev/node_modules/vinyl-file/license | 21 + .../node_modules/vinyl-file/package.json | 70 + .../node_modules/vinyl-file/readme.md | 71 + .../node_modules/gulp-rev/package.json | 81 + .../node_modules/gulp-rev/readme.md | 186 + .../node_modules/gulp-sass/.editorconfig | 21 + .../node_modules/gulp-sass/.eslintrc | 160 + .../node_modules/gulp-sass/.npmignore | 1 + .../node_modules/gulp-sass/.travis.yml | 5 + .../node_modules/gulp-sass/CHANGELOG.md | 65 + .../node_modules/gulp-sass/CONTRIBUTING.md | 63 + .../node_modules/gulp-sass/LICENSE | 20 + .../node_modules/gulp-sass/README.md | 100 + .../node_modules/gulp-sass/index.js | 178 + .../node_modules/gulp-sass/package.json | 75 + .../node_modules/gulp-sass/test.js | 11 + .../node_modules/gulp-sourcemaps/LICENSE.md | 13 + .../node_modules/gulp-sourcemaps/README.md | 252 + .../node_modules/gulp-sourcemaps/index.js | 269 + .../node_modules/gulp-sourcemaps/package.json | 73 + .../node_modules/gulp-uglify/CHANGELOG.md | 82 + .../node_modules/gulp-uglify/LICENSE.md | 20 + .../node_modules/gulp-uglify/README.md | 89 + .../node_modules/gulp-uglify/index.js | 7 + .../gulp-uglify/lib/createError.js | 21 + .../node_modules/gulp-uglify/minifier.js | 87 + .../node_modules/gulp-uglify/package.json | 76 + .../node_modules/gulp-util/LICENSE | 20 + .../node_modules/gulp-util/README.md | 146 + .../node_modules/gulp-util/index.js | 18 + .../node_modules/gulp-util/lib/PluginError.js | 130 + .../node_modules/gulp-util/lib/buffer.js | 15 + .../node_modules/gulp-util/lib/combine.js | 11 + .../node_modules/gulp-util/lib/env.js | 4 + .../node_modules/gulp-util/lib/isBuffer.js | 7 + .../node_modules/gulp-util/lib/isNull.js | 3 + .../node_modules/gulp-util/lib/isStream.js | 5 + .../node_modules/gulp-util/lib/log.js | 14 + .../node_modules/gulp-util/lib/noop.js | 5 + .../node_modules/gulp-util/lib/template.js | 23 + .../node_modules/gulp-util/package.json | 88 + .../node_modules/gulp-watch/LICENSE | 20 + .../node_modules/gulp-watch/README.md | 125 + .../node_modules/gulp-watch/index.js | 139 + .../gulp-watch/node_modules/anymatch/LICENSE | 15 + .../node_modules/anymatch/README.md | 91 + .../gulp-watch/node_modules/anymatch/index.js | 64 + .../node_modules/anymatch/package.json | 70 + .../node_modules/chokidar/CHANGELOG.md | 219 + .../node_modules/chokidar/README.md | 272 + .../gulp-watch/node_modules/chokidar/index.js | 603 ++ .../chokidar/lib/fsevents-handler.js | 361 + .../chokidar/lib/nodefs-handler.js | 476 + .../node_modules/chokidar/package.json | 84 + .../gulp-watch/node_modules/glob2base/LICENSE | 20 + .../node_modules/glob2base/README.md | 51 + .../node_modules/glob2base/index.js | 59 + .../node_modules/glob2base/package.json | 73 + .../node_modules/path-is-absolute/index.js | 20 + .../node_modules/path-is-absolute/license | 21 + .../path-is-absolute/package.json | 70 + .../node_modules/path-is-absolute/readme.md | 51 + .../node_modules/readable-stream/.npmignore | 5 + .../node_modules/readable-stream/.travis.yml | 50 + .../node_modules/readable-stream/.zuul.yml | 1 + .../node_modules/readable-stream/LICENSE | 18 + .../node_modules/readable-stream/README.md | 36 + .../readable-stream/doc/stream.markdown | 1696 +++ .../doc/wg-meetings/2015-01-30.md | 60 + .../node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 82 + .../lib/_stream_passthrough.js | 27 + .../readable-stream/lib/_stream_readable.js | 973 ++ .../readable-stream/lib/_stream_transform.js | 197 + .../readable-stream/lib/_stream_writable.js | 527 + .../node_modules/readable-stream/package.json | 75 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 12 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../node_modules/vinyl-file/index.js | 80 + .../node_modules/vinyl-file/license | 21 + .../node_modules/vinyl-file/package.json | 70 + .../node_modules/vinyl-file/readme.md | 71 + .../gulp-watch/node_modules/vinyl/LICENSE | 20 + .../gulp-watch/node_modules/vinyl/README.md | 195 + .../gulp-watch/node_modules/vinyl/index.js | 213 + .../node_modules/vinyl/lib/cloneBuffer.js | 7 + .../node_modules/vinyl/lib/inspectStream.js | 11 + .../node_modules/vinyl/lib/isBuffer.js | 1 + .../node_modules/vinyl/lib/isNull.js | 3 + .../node_modules/vinyl/lib/isStream.js | 5 + .../node_modules/vinyl/package.json | 73 + .../node_modules/gulp-watch/package.json | 77 + .../node_modules/insert-css/LICENSE | 18 + .../node_modules/insert-css/example/bundle.js | 31 + .../insert-css/example/index.html | 6 + .../node_modules/insert-css/example/insert.js | 5 + .../node_modules/insert-css/example/style.css | 4 + .../node_modules/insert-css/index.js | 22 + .../node_modules/insert-css/package.json | 66 + .../node_modules/insert-css/readme.markdown | 53 + .../node_modules/insert-css/test/insert.js | 48 + .../node_modules/merge-stream/README.md | 25 + .../node_modules/merge-stream/index.js | 40 + .../node_modules/through2/.npmignore | 3 + .../node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../node_modules/merge-stream/package.json | 53 + .../parse-filepath/.gitattributes | 14 + .../node_modules/parse-filepath/.jshintrc | 22 + .../node_modules/parse-filepath/.npmignore | 53 + .../node_modules/parse-filepath/.verb.md | 91 + .../node_modules/parse-filepath/LICENSE-MIT | 22 + .../node_modules/parse-filepath/README.md | 99 + .../node_modules/parse-filepath/bower.json | 7 + .../node_modules/parse-filepath/index.js | 84 + .../node_modules/parse-filepath/package.json | 68 + .../node_modules/parse-filepath/test.js | 187 + .../node_modules/partialify/.npmignore | 15 + .../node_modules/partialify/LICENSE | 20 + .../node_modules/partialify/README.md | 39 + .../node_modules/partialify/custom.js | 49 + .../node_modules/partialify/index.js | 1 + .../node_modules/partialify/package.json | 61 + .../partialify/test/fixtures/fixture.css | 4 + .../partialify/test/fixtures/fixture.csv | 1 + .../partialify/test/fixtures/fixture.html | 11 + .../partialify/test/fixtures/fixture.json | 6 + .../partialify/test/fixtures/fixture.tpl.html | 11 + .../partialify/test/fixtures/fixture.xml | 11 + .../node_modules/partialify/test/index.js | 177 + .../partialify/test/runners/css.js | 2 + .../partialify/test/runners/defaults.js | 4 + .../partialify/test/runners/extras.js | 6 + .../partialify/test/runners/html.js | 2 + .../partialify/test/runners/json.js | 2 + .../partialify/test/runners/opts.js | 4 + .../partialify/test/runners/tpl.html.js | 2 + .../partialify/test/runners/unique.js | 4 + .../laravel-elixir/node_modules/path/LICENSE | 18 + .../node_modules/path/README.md | 15 + .../node_modules/path/package.json | 53 + .../laravel-elixir/node_modules/path/path.js | 522 + .../node_modules/require-dir/.npmignore | 2 + .../node_modules/require-dir/.travis.yml | 5 + .../node_modules/require-dir/LICENSE | 21 + .../node_modules/require-dir/README.md | 117 + .../node_modules/require-dir/index.js | 141 + .../node_modules/require-dir/package.json | 50 + .../require-dir/test/camelcase.js | 20 + .../require-dir/test/camelcase/a_main.js | 1 + .../test/camelcase/sub-dir/a-sub.js | 1 + .../require-dir/test/duplicates.js | 43 + .../require-dir/test/duplicates/a.js | 1 + .../require-dir/test/duplicates/b.json | 1 + .../require-dir/test/duplicates/b/1.js | 1 + .../require-dir/test/duplicates/b/1.txt | 1 + .../require-dir/test/duplicates/b/2.js | 1 + .../require-dir/test/duplicates/b/2.json | 1 + .../require-dir/test/duplicates/c.txt | 1 + .../require-dir/test/duplicates/c/3.json | 1 + .../require-dir/test/duplicates/d.js | 1 + .../require-dir/test/duplicates/d.json | 1 + .../node_modules/require-dir/test/index.js | 2 + .../node_modules/require-dir/test/recurse.js | 30 + .../require-dir/test/recurse/a.js | 1 + .../require-dir/test/recurse/b/1/bar.json | 1 + .../require-dir/test/recurse/b/1/foo.js | 1 + .../require-dir/test/recurse/b/2/baz.txt | 1 + .../require-dir/test/recurse/c/3.json | 1 + .../node_modules/require-dir/test/simple.js | 20 + .../node_modules/require-dir/test/simple/a.js | 1 + .../require-dir/test/simple/b.json | 1 + .../require-dir/test/simple/c.coffee | 1 + .../require-dir/test/simple/d.txt | 1 + .../node_modules/run-sequence/.npmignore | 10 + .../node_modules/run-sequence/.travis.yml | 5 + .../node_modules/run-sequence/LICENSE | 20 + .../node_modules/run-sequence/README.md | 107 + .../node_modules/run-sequence/index.js | 105 + .../run-sequence/node_modules/chalk/index.js | 116 + .../run-sequence/node_modules/chalk/license | 21 + .../node_modules/chalk/package.json | 103 + .../run-sequence/node_modules/chalk/readme.md | 213 + .../node_modules/run-sequence/package.json | 63 + .../underscore-deep-extend/.npmignore | 14 + .../underscore-deep-extend/LICENSE.md | 24 + .../underscore-deep-extend/README.md | 102 + .../underscore-deep-extend/bower.json | 11 + .../underscore-deep-extend/component.json | 9 + .../underscore-deep-extend/index.js | 54 + .../underscore-deep-extend/package.json | 54 + .../node_modules/underscore/LICENSE | 23 + .../node_modules/underscore/README.md | 22 + .../node_modules/underscore/package.json | 69 + .../node_modules/underscore/underscore-min.js | 6 + .../underscore/underscore-min.map | 1 + .../node_modules/underscore/underscore.js | 1548 +++ .../node_modules/vinyl-buffer/LICENSE.md | 21 + .../node_modules/vinyl-buffer/README.md | 42 + .../node_modules/vinyl-buffer/index.js | 29 + .../vinyl-buffer/node_modules/bl/.jshintrc | 59 + .../vinyl-buffer/node_modules/bl/.npmignore | 1 + .../vinyl-buffer/node_modules/bl/.travis.yml | 11 + .../vinyl-buffer/node_modules/bl/LICENSE.md | 13 + .../vinyl-buffer/node_modules/bl/README.md | 198 + .../vinyl-buffer/node_modules/bl/bl.js | 216 + .../node_modules/readable-stream/.npmignore | 5 + .../bl/node_modules/readable-stream/LICENSE | 18 + .../bl/node_modules/readable-stream/README.md | 15 + .../bl/node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 89 + .../lib/_stream_passthrough.js | 46 + .../readable-stream/lib/_stream_readable.js | 982 ++ .../readable-stream/lib/_stream_transform.js | 210 + .../readable-stream/lib/_stream_writable.js | 386 + .../node_modules/core-util-is/README.md | 3 + .../node_modules/core-util-is/float.patch | 604 ++ .../node_modules/core-util-is/lib/util.js | 107 + .../node_modules/core-util-is/package.json | 54 + .../node_modules/core-util-is/util.js | 106 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 51 + .../node_modules/inherits/test.js | 25 + .../node_modules/isarray/README.md | 54 + .../node_modules/isarray/build/build.js | 209 + .../node_modules/isarray/component.json | 19 + .../node_modules/isarray/index.js | 3 + .../node_modules/isarray/package.json | 54 + .../node_modules/string_decoder/.npmignore | 2 + .../node_modules/string_decoder/LICENSE | 20 + .../node_modules/string_decoder/README.md | 7 + .../node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 54 + .../node_modules/readable-stream/package.json | 70 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 8 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + .../vinyl-buffer/node_modules/bl/package.json | 62 + .../node_modules/bl/test/basic-test.js | 541 + .../node_modules/bl/test/sauce.js | 38 + .../vinyl-buffer/node_modules/bl/test/test.js | 9 + .../node_modules/through2/.npmignore | 3 + .../node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../node_modules/vinyl-buffer/package.json | 59 + .../node_modules/vinyl-buffer/test.js | 26 + .../node_modules/vinyl-paths/index.js | 20 + .../node_modules/through2/.npmignore | 3 + .../vinyl-paths/node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../node_modules/vinyl-paths/package.json | 68 + .../node_modules/vinyl-paths/readme.md | 57 + .../vinyl-source-stream/LICENSE.md | 21 + .../vinyl-source-stream/README.md | 75 + .../node_modules/vinyl-source-stream/index.js | 32 + .../node_modules/through2/.npmignore | 3 + .../node_modules/through2/LICENSE | 39 + .../node_modules/through2/README.md | 132 + .../node_modules/through2/package.json | 65 + .../node_modules/through2/through2.js | 96 + .../node_modules/vinyl/LICENSE | 20 + .../node_modules/vinyl/README.md | 127 + .../node_modules/vinyl/index.js | 175 + .../node_modules/vinyl/lib/cloneBuffer.js | 7 + .../node_modules/vinyl/lib/inspectStream.js | 11 + .../node_modules/vinyl/lib/isBuffer.js | 7 + .../node_modules/vinyl/lib/isNull.js | 3 + .../node_modules/vinyl/lib/isStream.js | 5 + .../vinyl/node_modules/clone-stats/LICENSE.md | 21 + .../vinyl/node_modules/clone-stats/README.md | 17 + .../vinyl/node_modules/clone-stats/index.js | 13 + .../node_modules/clone-stats/package.json | 57 + .../vinyl/node_modules/clone-stats/test.js | 36 + .../vinyl/node_modules/clone/.npmignore | 1 + .../vinyl/node_modules/clone/.travis.yml | 5 + .../vinyl/node_modules/clone/LICENSE | 18 + .../vinyl/node_modules/clone/README.md | 126 + .../vinyl/node_modules/clone/clone.js | 144 + .../vinyl/node_modules/clone/package.json | 127 + .../vinyl/node_modules/clone/test.js | 289 + .../node_modules/vinyl/package.json | 75 + .../vinyl-source-stream/package.json | 66 + .../node_modules/vinyl-source-stream/test.js | 48 + .../node_modules/vueify/.npmignore | 2 + .../node_modules/vueify/README.md | 257 + .../node_modules/vueify/compile.js | 8 + .../node_modules/vueify/index.js | 35 + .../node_modules/vueify/lib/compiler.js | 342 + .../vueify/lib/compilers/babel.js | 11 + .../vueify/lib/compilers/coffee.js | 15 + .../vueify/lib/compilers/index.js | 70 + .../node_modules/vueify/lib/compilers/jade.js | 15 + .../node_modules/vueify/lib/compilers/less.js | 16 + .../node_modules/vueify/lib/compilers/myth.js | 15 + .../vueify/lib/compilers/options.js | 13 + .../node_modules/vueify/lib/compilers/sass.js | 42 + .../vueify/lib/compilers/stylus.js | 10 + .../node_modules/vueify/lib/style-rewriter.js | 46 + .../vueify/lib/template-rewriter.js | 44 + .../node_modules/vueify/package.json | 73 + .../node_modules/vueify/test/expects/basic.js | 28 + .../vueify/test/expects/custom.js | 1 + .../node_modules/vueify/test/expects/empty.js | 0 .../node_modules/vueify/test/expects/jade.js | 1 + .../node_modules/vueify/test/expects/less.js | 1 + .../vueify/test/expects/multiple-scripts.js | 11 + .../vueify/test/expects/multiple-styles.js | 1 + .../vueify/test/expects/multiple.js | 16 + .../node_modules/vueify/test/expects/myth.js | 1 + .../vueify/test/expects/non-minified.js | 2 + .../node_modules/vueify/test/expects/sass.js | 1 + .../vueify/test/expects/scoped.js | 2 + .../node_modules/vueify/test/expects/src.js | 9 + .../vueify/test/fixtures/basic.vue | 23 + .../vueify/test/fixtures/custom.vue | 3 + .../vueify/test/fixtures/empty.vue | 0 .../vueify/test/fixtures/jade.vue | 11 + .../vueify/test/fixtures/less.vue | 17 + .../vueify/test/fixtures/multiple-scripts.vue | 7 + .../vueify/test/fixtures/multiple-styles.vue | 18 + .../vueify/test/fixtures/multiple.vue | 33 + .../vueify/test/fixtures/myth.vue | 15 + .../vueify/test/fixtures/non-minified.vue | 9 + .../vueify/test/fixtures/sass.vue | 9 + .../vueify/test/fixtures/scoped.vue | 8 + .../node_modules/vueify/test/fixtures/src.vue | 3 + .../vueify/test/fixtures/src/test.js | 3 + .../vueify/test/fixtures/test.html | 1 + .../vueify/test/fixtures/test.styl | 2 + .../node_modules/vueify/test/test.js | 75 + .../node_modules/watchify/.npmignore | 1 + .../node_modules/watchify/.travis.yml | 6 + .../node_modules/watchify/LICENSE | 18 + .../node_modules/watchify/bin/args.js | 16 + .../node_modules/watchify/bin/cmd.js | 64 + .../watchify/example/files/main.js | 2 + .../watchify/example/files/one.js | 3 + .../watchify/example/files/two.js | 1 + .../node_modules/watchify/index.js | 165 + .../node_modules/watchify/package.json | 81 + .../node_modules/watchify/readme.markdown | 226 + .../node_modules/watchify/test/api.js | 44 + .../node_modules/watchify/test/api_brfs.js | 53 + .../watchify/test/api_ignore_watch.js | 60 + .../watchify/test/api_ignore_watch_default.js | 60 + .../test/api_ignore_watch_multiple.js | 60 + .../watchify/test/api_implicit_cache.js | 44 + .../node_modules/watchify/test/bin.js | 52 + .../node_modules/watchify/test/bin_brfs.js | 62 + .../watchify/test/bin_ignore_watch.js | 71 + .../watchify/test/bin_ignore_watch_default.js | 71 + .../test/bin_ignore_watch_multiple.js | 72 + .../node_modules/watchify/test/bin_pipe.js | 56 + .../watchify/test/bin_standalone.js | 52 + .../node_modules/watchify/test/errors.js | 56 + .../watchify/test/errors_transform.js | 83 + .../node_modules/watchify/test/expose.js | 72 + .../node_modules/watchify/test/many.js | 101 + .../watchify/test/many_immediate.js | 99 + .../node_modules/watchify/test/zzz.js | 10 + node_modules/laravel-elixir/package.json | 95 + node_modules/laravel-elixir/readme.md | 16 + .../laravel-elixir/tasks/browserify.js | 126 + .../laravel-elixir/tasks/browsersync.js | 40 + node_modules/laravel-elixir/tasks/coffee.js | 57 + node_modules/laravel-elixir/tasks/copy.js | 33 + node_modules/laravel-elixir/tasks/default.js | 20 + node_modules/laravel-elixir/tasks/less.js | 47 + node_modules/laravel-elixir/tasks/phpspec.js | 25 + node_modules/laravel-elixir/tasks/phpunit.js | 25 + node_modules/laravel-elixir/tasks/sass.js | 58 + node_modules/laravel-elixir/tasks/scripts.js | 92 + .../laravel-elixir/tasks/shared/Css.js | 30 + .../laravel-elixir/tasks/shared/Tests.js | 26 + node_modules/laravel-elixir/tasks/styles.js | 73 + node_modules/laravel-elixir/tasks/task.js | 24 + node_modules/laravel-elixir/tasks/tdd.js | 26 + node_modules/laravel-elixir/tasks/version.js | 126 + node_modules/laravel-elixir/tasks/watch.js | 56 + .../default/css/components/boxed-group.css | 187 + .../default/css/components/collection.css | 1 + .../default/css/components/repo-card.css | 96 + public/themes/default/css/globals/common.css | 1 + public/themes/default/css/globals/prism.css | 98 + .../themes/default/css/globals/responsive.css | 1 + public/themes/default/css/pages/index.css | 128 + .../themes/default/css/sections/article.css | 0 .../default/css/sections/mini-repo-list.css | 70 + .../themes/default/css/sections/repo-list.css | 111 + .../fonts/codropsicons/codropsicons.eot | Bin 0 -> 2244 bytes .../fonts/codropsicons/codropsicons.svg | 24 + .../fonts/codropsicons/codropsicons.ttf | Bin 0 -> 2060 bytes .../fonts/codropsicons/codropsicons.woff | Bin 0 -> 2072 bytes .../default/fonts/codropsicons/license.txt | 6 + .../css/font-awesome.min.css | 4 + .../fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../fonts/fontawesome-webfont.svg | 520 + .../fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes public/themes/default/images/header.jpg | Bin 0 -> 43740 bytes .../img => default/images}/ico/120.png | Bin .../img => default/images}/ico/152.png | Bin .../img => default/images}/ico/32.png | Bin .../img => default/images}/ico/60.png | Bin .../img => default/images}/ico/72.png | Bin .../default/images/line-transparent.png | Bin 0 -> 19205 bytes public/themes/default/images/magnifier.svg | 7 + public/themes/default/images/octicons-bg.png | Bin 0 -> 7292 bytes .../default/images/octocat-spinner-16px.gif | Bin 0 -> 2398 bytes .../images/octocat-spinner-32-EAF2F5.gif | Bin 0 -> 2673 bytes public/themes/default/images/search.png | Bin 0 -> 1204 bytes public/themes/default/js/geopattern.js | 1 + public/themes/default/js/prism.js | 1 + .../default/vendor/jquery/MIT-LICENSE.txt | 21 + .../themes/default/vendor/jquery/bower.json | 28 + .../default/vendor/jquery/dist/jquery.js | 9210 +++++++++++++++++ .../default/vendor/jquery/dist/jquery.min.js | 5 + .../default/vendor/jquery/dist/jquery.min.map | 1 + .../themes/default/vendor/jquery/src/ajax.js | 786 ++ .../default/vendor/jquery/src/ajax/jsonp.js | 89 + .../default/vendor/jquery/src/ajax/load.js | 75 + .../vendor/jquery/src/ajax/parseJSON.js | 13 + .../vendor/jquery/src/ajax/parseXML.js | 28 + .../default/vendor/jquery/src/ajax/script.js | 64 + .../vendor/jquery/src/ajax/var/nonce.js | 5 + .../vendor/jquery/src/ajax/var/rquery.js | 3 + .../default/vendor/jquery/src/ajax/xhr.js | 136 + .../default/vendor/jquery/src/attributes.js | 11 + .../vendor/jquery/src/attributes/attr.js | 141 + .../vendor/jquery/src/attributes/classes.js | 158 + .../vendor/jquery/src/attributes/prop.js | 94 + .../vendor/jquery/src/attributes/support.js | 35 + .../vendor/jquery/src/attributes/val.js | 161 + .../default/vendor/jquery/src/callbacks.js | 205 + .../themes/default/vendor/jquery/src/core.js | 502 + .../default/vendor/jquery/src/core/access.js | 60 + .../default/vendor/jquery/src/core/init.js | 123 + .../vendor/jquery/src/core/parseHTML.js | 39 + .../default/vendor/jquery/src/core/ready.js | 97 + .../vendor/jquery/src/core/var/rsingleTag.js | 4 + .../themes/default/vendor/jquery/src/css.js | 450 + .../vendor/jquery/src/css/addGetHookIf.js | 22 + .../default/vendor/jquery/src/css/curCSS.js | 57 + .../vendor/jquery/src/css/defaultDisplay.js | 70 + .../jquery/src/css/hiddenVisibleSelectors.js | 15 + .../default/vendor/jquery/src/css/support.js | 96 + .../default/vendor/jquery/src/css/swap.js | 28 + .../vendor/jquery/src/css/var/cssExpand.js | 3 + .../vendor/jquery/src/css/var/getStyles.js | 12 + .../vendor/jquery/src/css/var/isHidden.js | 13 + .../vendor/jquery/src/css/var/rmargin.js | 3 + .../vendor/jquery/src/css/var/rnumnonpx.js | 5 + .../themes/default/vendor/jquery/src/data.js | 178 + .../default/vendor/jquery/src/data/Data.js | 181 + .../default/vendor/jquery/src/data/accepts.js | 20 + .../vendor/jquery/src/data/var/data_priv.js | 5 + .../vendor/jquery/src/data/var/data_user.js | 5 + .../default/vendor/jquery/src/deferred.js | 149 + .../default/vendor/jquery/src/deprecated.js | 13 + .../default/vendor/jquery/src/dimensions.js | 50 + .../default/vendor/jquery/src/effects.js | 648 ++ .../vendor/jquery/src/effects/Tween.js | 114 + .../jquery/src/effects/animatedSelector.js | 13 + .../themes/default/vendor/jquery/src/event.js | 868 ++ .../default/vendor/jquery/src/event/ajax.js | 13 + .../default/vendor/jquery/src/event/alias.js | 39 + .../vendor/jquery/src/event/support.js | 9 + .../default/vendor/jquery/src/exports/amd.js | 24 + .../vendor/jquery/src/exports/global.js | 32 + .../themes/default/vendor/jquery/src/intro.js | 44 + .../default/vendor/jquery/src/jquery.js | 37 + .../default/vendor/jquery/src/manipulation.js | 580 ++ .../jquery/src/manipulation/_evalUrl.js | 18 + .../vendor/jquery/src/manipulation/support.js | 32 + .../src/manipulation/var/rcheckableType.js | 3 + .../default/vendor/jquery/src/offset.js | 207 + .../themes/default/vendor/jquery/src/outro.js | 1 + .../themes/default/vendor/jquery/src/queue.js | 142 + .../default/vendor/jquery/src/queue/delay.js | 22 + .../vendor/jquery/src/selector-native.js | 172 + .../vendor/jquery/src/selector-sizzle.js | 14 + .../default/vendor/jquery/src/selector.js | 1 + .../default/vendor/jquery/src/serialize.js | 111 + .../vendor/jquery/src/sizzle/dist/sizzle.js | 2067 ++++ .../jquery/src/sizzle/dist/sizzle.min.js | 3 + .../jquery/src/sizzle/dist/sizzle.min.map | 1 + .../default/vendor/jquery/src/traversing.js | 199 + .../jquery/src/traversing/findFilter.js | 100 + .../src/traversing/var/rneedsContext.js | 6 + .../default/vendor/jquery/src/var/arr.js | 3 + .../vendor/jquery/src/var/class2type.js | 4 + .../default/vendor/jquery/src/var/concat.js | 5 + .../default/vendor/jquery/src/var/hasOwn.js | 5 + .../default/vendor/jquery/src/var/indexOf.js | 5 + .../default/vendor/jquery/src/var/pnum.js | 3 + .../default/vendor/jquery/src/var/push.js | 5 + .../vendor/jquery/src/var/rnotwhite.js | 3 + .../default/vendor/jquery/src/var/slice.js | 5 + .../vendor/jquery/src/var/strundefined.js | 3 + .../default/vendor/jquery/src/var/support.js | 4 + .../default/vendor/jquery/src/var/toString.js | 5 + .../themes/default/vendor/jquery/src/wrap.js | 79 + .../default/vendor/octicons/CHANGELOG.md | 191 + .../default/vendor/octicons/CONTRIBUTING.md | 3 + .../default/vendor/octicons/LICENSE.txt | 9 + .../themes/default/vendor/octicons/README.md | 127 + .../themes/default/vendor/octicons/bower.json | 30 + .../vendor/octicons/octicons/README.md | 1 + .../octicons/octicons/octicons-local.ttf | Bin 0 -> 50856 bytes .../vendor/octicons/octicons/octicons.css | 221 + .../vendor/octicons/octicons/octicons.eot | Bin 0 -> 29160 bytes .../vendor/octicons/octicons/octicons.less | 220 + .../vendor/octicons/octicons/octicons.scss | 220 + .../vendor/octicons/octicons/octicons.svg | 183 + .../vendor/octicons/octicons/octicons.ttf | Bin 0 -> 28992 bytes .../vendor/octicons/octicons/octicons.woff | Bin 0 -> 16060 bytes .../octicons/octicons/sprockets-octicons.scss | 217 + .../default/vendor/octicons/package.json | 23 + .../default/vendor/octicons/svg/alert.svg | 3 + .../vendor/octicons/svg/arrow-down.svg | 3 + .../vendor/octicons/svg/arrow-left.svg | 3 + .../vendor/octicons/svg/arrow-right.svg | 3 + .../vendor/octicons/svg/arrow-small-down.svg | 3 + .../vendor/octicons/svg/arrow-small-left.svg | 3 + .../vendor/octicons/svg/arrow-small-right.svg | 3 + .../vendor/octicons/svg/arrow-small-up.svg | 3 + .../default/vendor/octicons/svg/arrow-up.svg | 3 + .../default/vendor/octicons/svg/beaker.svg | 3 + .../default/vendor/octicons/svg/bell.svg | 3 + .../default/vendor/octicons/svg/book.svg | 3 + .../default/vendor/octicons/svg/bookmark.svg | 3 + .../default/vendor/octicons/svg/briefcase.svg | 3 + .../default/vendor/octicons/svg/broadcast.svg | 3 + .../default/vendor/octicons/svg/browser.svg | 3 + .../default/vendor/octicons/svg/bug.svg | 3 + .../default/vendor/octicons/svg/calendar.svg | 3 + .../default/vendor/octicons/svg/check.svg | 3 + .../default/vendor/octicons/svg/checklist.svg | 3 + .../vendor/octicons/svg/chevron-down.svg | 3 + .../vendor/octicons/svg/chevron-left.svg | 3 + .../vendor/octicons/svg/chevron-right.svg | 3 + .../vendor/octicons/svg/chevron-up.svg | 3 + .../vendor/octicons/svg/circle-slash.svg | 3 + .../vendor/octicons/svg/circuit-board.svg | 3 + .../default/vendor/octicons/svg/clippy.svg | 3 + .../default/vendor/octicons/svg/clock.svg | 3 + .../vendor/octicons/svg/cloud-download.svg | 3 + .../vendor/octicons/svg/cloud-upload.svg | 3 + .../default/vendor/octicons/svg/code.svg | 3 + .../vendor/octicons/svg/color-mode.svg | 3 + .../octicons/svg/comment-discussion.svg | 3 + .../default/vendor/octicons/svg/comment.svg | 3 + .../vendor/octicons/svg/credit-card.svg | 3 + .../default/vendor/octicons/svg/dash.svg | 3 + .../default/vendor/octicons/svg/dashboard.svg | 3 + .../default/vendor/octicons/svg/database.svg | 3 + .../vendor/octicons/svg/desktop-download.svg | 3 + .../octicons/svg/device-camera-video.svg | 3 + .../vendor/octicons/svg/device-camera.svg | 3 + .../vendor/octicons/svg/device-desktop.svg | 3 + .../vendor/octicons/svg/device-mobile.svg | 3 + .../vendor/octicons/svg/diff-added.svg | 3 + .../vendor/octicons/svg/diff-ignored.svg | 3 + .../vendor/octicons/svg/diff-modified.svg | 3 + .../vendor/octicons/svg/diff-removed.svg | 3 + .../vendor/octicons/svg/diff-renamed.svg | 3 + .../default/vendor/octicons/svg/diff.svg | 3 + .../default/vendor/octicons/svg/ellipsis.svg | 3 + .../default/vendor/octicons/svg/eye.svg | 3 + .../vendor/octicons/svg/file-binary.svg | 3 + .../default/vendor/octicons/svg/file-code.svg | 3 + .../vendor/octicons/svg/file-directory.svg | 3 + .../vendor/octicons/svg/file-media.svg | 3 + .../default/vendor/octicons/svg/file-pdf.svg | 3 + .../vendor/octicons/svg/file-submodule.svg | 3 + .../octicons/svg/file-symlink-directory.svg | 3 + .../vendor/octicons/svg/file-symlink-file.svg | 3 + .../default/vendor/octicons/svg/file-text.svg | 3 + .../default/vendor/octicons/svg/file-zip.svg | 3 + .../default/vendor/octicons/svg/flame.svg | 3 + .../default/vendor/octicons/svg/fold.svg | 3 + .../default/vendor/octicons/svg/gear.svg | 3 + .../default/vendor/octicons/svg/gift.svg | 3 + .../vendor/octicons/svg/gist-secret.svg | 3 + .../default/vendor/octicons/svg/gist.svg | 3 + .../vendor/octicons/svg/git-branch.svg | 3 + .../vendor/octicons/svg/git-commit.svg | 3 + .../vendor/octicons/svg/git-compare.svg | 3 + .../default/vendor/octicons/svg/git-merge.svg | 3 + .../vendor/octicons/svg/git-pull-request.svg | 3 + .../default/vendor/octicons/svg/globe.svg | 3 + .../default/vendor/octicons/svg/graph.svg | 3 + .../default/vendor/octicons/svg/heart.svg | 3 + .../default/vendor/octicons/svg/history.svg | 3 + .../default/vendor/octicons/svg/home.svg | 3 + .../vendor/octicons/svg/horizontal-rule.svg | 3 + .../default/vendor/octicons/svg/hubot.svg | 3 + .../default/vendor/octicons/svg/inbox.svg | 3 + .../default/vendor/octicons/svg/info.svg | 3 + .../vendor/octicons/svg/issue-closed.svg | 3 + .../vendor/octicons/svg/issue-opened.svg | 3 + .../vendor/octicons/svg/issue-reopened.svg | 3 + .../default/vendor/octicons/svg/jersey.svg | 3 + .../default/vendor/octicons/svg/key.svg | 3 + .../default/vendor/octicons/svg/keyboard.svg | 3 + .../default/vendor/octicons/svg/law.svg | 3 + .../vendor/octicons/svg/light-bulb.svg | 3 + .../vendor/octicons/svg/link-external.svg | 3 + .../default/vendor/octicons/svg/link.svg | 3 + .../vendor/octicons/svg/list-ordered.svg | 3 + .../vendor/octicons/svg/list-unordered.svg | 3 + .../default/vendor/octicons/svg/location.svg | 3 + .../default/vendor/octicons/svg/lock.svg | 3 + .../vendor/octicons/svg/logo-github.svg | 3 + .../default/vendor/octicons/svg/mail-read.svg | 3 + .../vendor/octicons/svg/mail-reply.svg | 3 + .../default/vendor/octicons/svg/mail.svg | 3 + .../vendor/octicons/svg/mark-github.svg | 3 + .../default/vendor/octicons/svg/markdown.svg | 3 + .../default/vendor/octicons/svg/megaphone.svg | 3 + .../default/vendor/octicons/svg/mention.svg | 3 + .../default/vendor/octicons/svg/milestone.svg | 3 + .../default/vendor/octicons/svg/mirror.svg | 3 + .../vendor/octicons/svg/mortar-board.svg | 3 + .../default/vendor/octicons/svg/mute.svg | 3 + .../vendor/octicons/svg/no-newline.svg | 3 + .../default/vendor/octicons/svg/octoface.svg | 3 + .../vendor/octicons/svg/organization.svg | 3 + .../default/vendor/octicons/svg/package.svg | 3 + .../default/vendor/octicons/svg/paintcan.svg | 3 + .../default/vendor/octicons/svg/pencil.svg | 3 + .../default/vendor/octicons/svg/person.svg | 3 + .../default/vendor/octicons/svg/pin.svg | 3 + .../default/vendor/octicons/svg/plug.svg | 3 + .../default/vendor/octicons/svg/plus.svg | 3 + .../vendor/octicons/svg/primitive-dot.svg | 3 + .../vendor/octicons/svg/primitive-square.svg | 3 + .../default/vendor/octicons/svg/pulse.svg | 3 + .../default/vendor/octicons/svg/question.svg | 3 + .../default/vendor/octicons/svg/quote.svg | 3 + .../vendor/octicons/svg/radio-tower.svg | 3 + .../vendor/octicons/svg/repo-clone.svg | 3 + .../vendor/octicons/svg/repo-force-push.svg | 3 + .../vendor/octicons/svg/repo-forked.svg | 3 + .../default/vendor/octicons/svg/repo-pull.svg | 3 + .../default/vendor/octicons/svg/repo-push.svg | 3 + .../default/vendor/octicons/svg/repo.svg | 3 + .../default/vendor/octicons/svg/rocket.svg | 3 + .../default/vendor/octicons/svg/rss.svg | 3 + .../default/vendor/octicons/svg/ruby.svg | 3 + .../vendor/octicons/svg/screen-full.svg | 3 + .../vendor/octicons/svg/screen-normal.svg | 3 + .../default/vendor/octicons/svg/search.svg | 3 + .../default/vendor/octicons/svg/server.svg | 3 + .../default/vendor/octicons/svg/settings.svg | 3 + .../default/vendor/octicons/svg/shield.svg | 3 + .../default/vendor/octicons/svg/sign-in.svg | 3 + .../default/vendor/octicons/svg/sign-out.svg | 3 + .../default/vendor/octicons/svg/squirrel.svg | 3 + .../default/vendor/octicons/svg/star.svg | 3 + .../default/vendor/octicons/svg/stop.svg | 3 + .../default/vendor/octicons/svg/sync.svg | 3 + .../default/vendor/octicons/svg/tag.svg | 3 + .../default/vendor/octicons/svg/telescope.svg | 3 + .../default/vendor/octicons/svg/terminal.svg | 3 + .../vendor/octicons/svg/three-bars.svg | 3 + .../vendor/octicons/svg/thumbsdown.svg | 3 + .../default/vendor/octicons/svg/thumbsup.svg | 3 + .../default/vendor/octicons/svg/tools.svg | 3 + .../default/vendor/octicons/svg/trashcan.svg | 3 + .../vendor/octicons/svg/triangle-down.svg | 3 + .../vendor/octicons/svg/triangle-left.svg | 3 + .../vendor/octicons/svg/triangle-right.svg | 3 + .../vendor/octicons/svg/triangle-up.svg | 3 + .../default/vendor/octicons/svg/unfold.svg | 3 + .../default/vendor/octicons/svg/unmute.svg | 3 + .../default/vendor/octicons/svg/versions.svg | 3 + .../default/vendor/octicons/svg/watch.svg | 3 + .../themes/default/vendor/octicons/svg/x.svg | 3 + .../default/vendor/octicons/svg/zap.svg | 3 + .../default/vendor/primer-css/CONTRIBUTING.md | 79 + .../default/vendor/primer-css/LICENSE.md | 21 + .../default/vendor/primer-css/README.md | 158 + .../default/vendor/primer-css/bower.json | 21 + .../default/vendor/primer-css/css/primer.css | 1989 ++++ .../default/vendor/primer-css/package.json | 20 + .../vendor/primer-css/scss/_alerts.scss | 106 + .../vendor/primer-css/scss/_avatars.scss | 36 + .../default/vendor/primer-css/scss/_base.scss | 40 + .../vendor/primer-css/scss/_blankslate.scss | 73 + .../vendor/primer-css/scss/_buttons.scss | 418 + .../vendor/primer-css/scss/_counter.scss | 10 + .../vendor/primer-css/scss/_filter-list.scss | 68 + .../vendor/primer-css/scss/_flex-table.scss | 20 + .../vendor/primer-css/scss/_forms.scss | 493 + .../vendor/primer-css/scss/_layout.scss | 69 + .../default/vendor/primer-css/scss/_menu.scss | 113 + .../vendor/primer-css/scss/_mixins.scss | 53 + .../vendor/primer-css/scss/_normalize.scss | 424 + .../vendor/primer-css/scss/_states.scss | 32 + .../vendor/primer-css/scss/_tabnav.scss | 65 + .../vendor/primer-css/scss/_tooltips.scss | 255 + .../vendor/primer-css/scss/_truncate.scss | 27 + .../default/vendor/primer-css/scss/_type.scss | 92 + .../vendor/primer-css/scss/_utility.scss | 84 + .../vendor/primer-css/scss/_variables.scss | 34 + .../vendor/primer-css/scss/primer.scss | 39 + .../default/vendor/primer-markdown/CLA.md | 49 + .../vendor/primer-markdown/CONTRIBUTING.md | 79 + .../default/vendor/primer-markdown/LICENSE.md | 21 + .../default/vendor/primer-markdown/bower.json | 19 + .../primer-markdown/components/markdown.scss | 694 ++ .../components/user-content.scss | 1 + .../primer-markdown/dist/user-content.css | 546 + .../primer-markdown/dist/user-content.min.css | 7 + public/themes/default/vendor/share.js/LICENSE | 22 + .../themes/default/vendor/share.js/README.md | 80 + .../themes/default/vendor/share.js/bower.json | 22 + .../vendor/share.js/dist/css/share.min.css | 1 + .../vendor/share.js/dist/fonts/iconfont.eot | Bin 0 -> 6864 bytes .../vendor/share.js/dist/fonts/iconfont.svg | 57 + .../vendor/share.js/dist/fonts/iconfont.ttf | Bin 0 -> 6580 bytes .../vendor/share.js/dist/fonts/iconfont.woff | Bin 0 -> 4384 bytes .../share.js/dist/js/jquery.qrcode.min.js | 28 + .../vendor/share.js/dist/js/share.min.js | 1 + .../default/vendor/share.js/example.html | 42 + .../default/vendor/share.js/gulpfile.js | 122 + .../default/vendor/share.js/package.json | 20 + .../vendor/share.js/src/css/share.scss | 81 + .../vendor/share.js/src/fonts/iconfont.eot | Bin 0 -> 6864 bytes .../vendor/share.js/src/fonts/iconfont.svg | 57 + .../vendor/share.js/src/fonts/iconfont.ttf | Bin 0 -> 6580 bytes .../vendor/share.js/src/fonts/iconfont.woff | Bin 0 -> 4384 bytes .../default/vendor/share.js/src/js/share.js | 83 + public/themes/keylime/css/animate.min.css | 12 - public/themes/keylime/css/bootstrap.min.css | 6673 ------------ public/themes/keylime/css/font.css | 20 - public/themes/keylime/css/fonts/icomoon.eot | Bin 2580 -> 0 bytes public/themes/keylime/css/fonts/icomoon.svg | 13 - public/themes/keylime/css/fonts/icomoon.ttf | Bin 2416 -> 0 bytes public/themes/keylime/css/fonts/icomoon.woff | Bin 2492 -> 0 bytes .../themes/keylime/css/fonts/icomoon842c.eot | Bin 10152 -> 0 bytes .../themes/keylime/css/fonts/icomoon842c.svg | 51 - .../themes/keylime/css/fonts/icomoon842c.ttf | Bin 9988 -> 0 bytes .../themes/keylime/css/fonts/icomoon842c.woff | Bin 10064 -> 0 bytes .../themes/keylime/css/fonts/icomoond41d.eot | Bin 10152 -> 0 bytes public/themes/keylime/css/googleCss.css | 240 - public/themes/keylime/css/icons.css | 148 - public/themes/keylime/css/style.css | 1359 --- public/themes/keylime/css/style1bce.css | 1355 --- .../fonts/glyphicons-halflings-regular-2.html | 9 - .../fonts/glyphicons-halflings-regular-3.html | 9 - .../fonts/glyphicons-halflings-regular-4.html | 9 - .../fonts/glyphicons-halflings-regular.html | 9 - .../glyphicons-halflings-regulard41d.html | 9 - public/themes/keylime/img/author-red.jpg | Bin 38403 -> 0 bytes public/themes/keylime/img/author-sans.jpg | Bin 44550 -> 0 bytes public/themes/keylime/img/author-sing.jpg | Bin 32549 -> 0 bytes public/themes/keylime/img/bike.jpg | Bin 410166 -> 0 bytes public/themes/keylime/img/img1.jpg | Bin 63292 -> 0 bytes public/themes/keylime/img/img2.jpg | Bin 45147 -> 0 bytes public/themes/keylime/img/img3.jpg | Bin 133361 -> 0 bytes public/themes/keylime/img/img4.jpg | Bin 77990 -> 0 bytes public/themes/keylime/img/img5.jpg | Bin 189410 -> 0 bytes public/themes/keylime/img/img7.jpg | Bin 76293 -> 0 bytes public/themes/keylime/img/show.jpg | Bin 4023 -> 0 bytes public/themes/keylime/js/bootstrap.min.js | 6 - public/themes/keylime/js/custom.js | 87 - public/themes/keylime/js/ga.js | 9 - public/themes/keylime/js/html5shiv.js | 8 - public/themes/keylime/js/jquery-1.9.1.min.js | 5 - public/themes/keylime/js/placeholders.min.js | 2 - public/themes/keylime/js/respond.min.js | 5 - public/themes/keylime/js/wow.min.js | 2 - readme.md | 14 +- .../views/backend/setting/_menu.blade.php | 4 + .../backend/setting/links/create.blade.php | 55 + .../backend/setting/links/edit.blade.php | 56 + .../backend/setting/links/index.blade.php | 64 + .../setting/navigation/create.blade.php | 8 - .../backend/setting/navigation/edit.blade.php | 7 - .../setting/navigation/index.blade.php | 10 +- .../views/themes/default/about.blade.php | 53 + .../views/themes/default/article.blade.php | 76 + .../views/themes/default/category.blade.php | 62 + .../views/themes/default/index.blade.php | 62 + .../views/themes/default/layouts.blade.php | 111 + .../views/themes/default/right.blade.php | 49 + .../views/themes/default/search.blade.php | 68 + .../views/themes/default/searchTag.blade.php | 68 + .../views/themes/keylime/about.blade.php | 73 - .../views/themes/keylime/article.blade.php | 168 - .../views/themes/keylime/category.blade.php | 65 - .../views/themes/keylime/index.blade.php | 75 - resources/views/themes/keylime/main.blade.php | 155 - resources/views/themes/keylime/menu.blade.php | 35 - .../views/themes/keylime/search.blade.php | 106 - .../views/themes/keylime/searchTag.blade.php | 95 - vendor/composer/autoload_classmap.php | 2774 +---- vendor/composer/autoload_files.php | 2 +- 2984 files changed, 203219 insertions(+), 13907 deletions(-) create mode 100644 app/Components/EndaPage.php create mode 100644 app/Http/Controllers/backend/LinksController.php create mode 100644 app/Http/Requests/LinksRequest.php create mode 100644 app/Model/Links.php create mode 100644 database/migrations/2015_11_12_145600_edit_navigation_table.php create mode 100644 database/migrations/2015_11_13_023030_create_links_table.php rename {app/helpers => helpers}/functions.php (93%) create mode 120000 node_modules/.bin/gulp create mode 100644 node_modules/gulp/CHANGELOG.md create mode 100644 node_modules/gulp/LICENSE create mode 100644 node_modules/gulp/README.md create mode 100755 node_modules/gulp/bin/gulp.js create mode 100644 node_modules/gulp/completion/README.md create mode 100644 node_modules/gulp/completion/bash create mode 100644 node_modules/gulp/completion/fish create mode 100644 node_modules/gulp/completion/powershell create mode 100644 node_modules/gulp/completion/zsh create mode 100644 node_modules/gulp/index.js create mode 100644 node_modules/gulp/lib/completion.js create mode 100644 node_modules/gulp/lib/taskTree.js create mode 120000 node_modules/gulp/node_modules/.bin/semver create mode 100644 node_modules/gulp/node_modules/archy/.travis.yml create mode 100644 node_modules/gulp/node_modules/archy/LICENSE create mode 100644 node_modules/gulp/node_modules/archy/examples/beep.js create mode 100644 node_modules/gulp/node_modules/archy/examples/multi_line.js create mode 100644 node_modules/gulp/node_modules/archy/index.js create mode 100644 node_modules/gulp/node_modules/archy/package.json create mode 100644 node_modules/gulp/node_modules/archy/readme.markdown create mode 100644 node_modules/gulp/node_modules/archy/test/beep.js create mode 100644 node_modules/gulp/node_modules/archy/test/multi_line.js create mode 100644 node_modules/gulp/node_modules/archy/test/non_unicode.js create mode 100644 node_modules/gulp/node_modules/chalk/index.js create mode 100644 node_modules/gulp/node_modules/chalk/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/supports-color/license create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json create mode 100644 node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md create mode 100644 node_modules/gulp/node_modules/chalk/package.json create mode 100644 node_modules/gulp/node_modules/chalk/readme.md create mode 100644 node_modules/gulp/node_modules/deprecated/.npmignore create mode 100644 node_modules/gulp/node_modules/deprecated/.travis.yml create mode 100755 node_modules/gulp/node_modules/deprecated/LICENSE create mode 100644 node_modules/gulp/node_modules/deprecated/README.md create mode 100644 node_modules/gulp/node_modules/deprecated/index.js create mode 100644 node_modules/gulp/node_modules/deprecated/package.json create mode 100644 node_modules/gulp/node_modules/deprecated/test/field.js create mode 100644 node_modules/gulp/node_modules/deprecated/test/method.js create mode 100755 node_modules/gulp/node_modules/gulp-util/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/PluginError.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/buffer.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/combine.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/env.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/isBuffer.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/isNull.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/isStream.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/log.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/noop.js create mode 100644 node_modules/gulp/node_modules/gulp-util/lib/template.js create mode 120000 node_modules/gulp/node_modules/gulp-util/node_modules/.bin/dateformat create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-differ/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/array-uniq/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/beeper/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/beeper/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/beeper/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/beeper/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/Readme.md create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/bin/cli.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/lib/dateformat.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/get-stdin/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/camelcase/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/camelcase/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/camelcase/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/camelcase/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/map-obj/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/map-obj/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/map-obj/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/node_modules/map-obj/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/camelcase-keys/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/signals.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/all-integration-test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/awaiter.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/change-code-expect.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/change-code.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/end-of-execution.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/exit-last.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/exit.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/exiter.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/load-unload.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/multiple-load.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/parent.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/sigint.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/sigkill.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/signal-default.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/signal-last.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/signal-listener.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/sigpipe.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/sigterm.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/fixtures/unwrap.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/multi-exit.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/node_modules/signal-exit/test/signal-exit-test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/loud-rejection/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/AUTHORS create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/extract_description.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/fixer.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/make_warning.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/normalize.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/safe_format.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/typos.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/lib/warning_messages.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/git-host-info.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/git-host.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/basic.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/bitbucket-https-with-embedded-auth.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/bitbucket.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/gist.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/github.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/gitlab.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/https-with-inline-auth.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/hosted-git-info/test/lib/standard-tests.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/builtin-modules.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/static.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/is-builtin-module/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/spdx-license-ids.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/index.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/LICENSE create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/spdx-license-ids.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.generated.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/node_modules/validate-npm-package-license/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/basic.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/consistency.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/dependencies.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/async.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/badscripts.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/bcrypt.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/coffee-script.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/http-server.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/movefile.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/no-description.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/node-module_exist.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/npm.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/read-package-json.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/request.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/fixtures/underscore.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/github-urls.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/mixedcase-names.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/normalize.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/normalize.js~ create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/scoped.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/scripts.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/strict.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/typo.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/object-assign/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/object-assign/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/object-assign/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/object-assign/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/path-exists/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/path-exists/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/path-exists/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/path-exists/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/node_modules/pinkie/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/node_modules/pinkie/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/node_modules/pinkie/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/node_modules/pinkie/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/node_modules/pinkie-promise/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/find-up/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/fs.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.editorconfig create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.istanbul.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/parse.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/unicode.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/node_modules/pinkie/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/node_modules/pinkie/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/node_modules/pinkie/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/node_modules/pinkie/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pinkie-promise/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/README.md create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/ansi.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/is-utf8.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/test.js create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/node_modules/is-utf8/utf8.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/fs.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/node_modules/pinkie/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/node_modules/pinkie/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/node_modules/pinkie/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/node_modules/pinkie/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pinkie-promise/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/license create mode 120000 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/.bin/strip-indent create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/node_modules/number-is-nan/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/node_modules/is-finite/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/node_modules/repeating/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/indent-string/readme.md create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/cli.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/node_modules/get-stdin/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/node_modules/get-stdin/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/node_modules/get-stdin/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/node_modules/strip-indent/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/redent/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/trim-newlines/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/trim-newlines/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/trim-newlines/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/trim-newlines/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/test/test_dayofweek.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/test/test_formats.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/test/test_isoutcdatetime.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/test/weekofyear/test_weekofyear.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/dateformat/test/weekofyear/test_weekofyear.sh create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/fancy-log/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/CHANGELOG.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/node_modules/sparkles/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/node_modules/sparkles/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/node_modules/sparkles/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/node_modules/sparkles/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/node_modules/glogg/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/gulplog/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/node_modules/sparkles/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/node_modules/sparkles/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/node_modules/sparkles/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/node_modules/sparkles/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/has-gulplog/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reescape/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reescape/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reescape/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reescape/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reevaluate/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reevaluate/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reevaluate/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reevaluate/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reinterpolate/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reinterpolate/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reinterpolate/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash._reinterpolate/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basecopy/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basecopy/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basecopy/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basecopy/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basetostring/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basevalues/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basevalues/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basevalues/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._basevalues/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._isiterateecall/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._isiterateecall/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._isiterateecall/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash._isiterateecall/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._getnative/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._getnative/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._getnative/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash._getnative/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarguments/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarguments/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarguments/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarguments/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarray/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarray/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarray/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/node_modules/lodash.isarray/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.keys/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.restparam/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.restparam/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.restparam/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.restparam/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.templatesettings/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.templatesettings/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.templatesettings/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.templatesettings/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/lodash.template/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/History.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/Makefile create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/Readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/LICENSE.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/README.md create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/example.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/duplex.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/float.patch create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/float.patch create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/core-util-is/util.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/inherits/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/build/build.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/component.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/isarray/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/node_modules/string_decoder/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/passthrough.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/readable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/transform.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/node_modules/readable-stream/writable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/node_modules/duplexer2/test/tests.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/multipipe/test/multipipe.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/object-assign/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/object-assign/license create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/object-assign/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/object-assign/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/.travis.yml create mode 100755 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/test/main.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/.zuul.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/doc/stream.markdown create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/duplex.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/float.patch create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/util.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/inherits/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/build/build.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/component.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/isarray/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/license.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/History.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/browser.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/node.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/passthrough.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/readable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/transform.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/readable-stream/writable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/.jshintrc create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/LICENCE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/Makefile create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/immutable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/mutable.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/node_modules/xtend/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/through2/through2.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/lib/isNull.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/lib/isStream.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/LICENSE.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/index.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone-stats/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/.npmignore create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/.travis.yml create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/LICENSE create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/README.md create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/clone.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/test-apart-ctx.html create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/test.html create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/node_modules/clone/test.js create mode 100644 node_modules/gulp/node_modules/gulp-util/node_modules/vinyl/package.json create mode 100644 node_modules/gulp/node_modules/gulp-util/package.json create mode 100644 node_modules/gulp/node_modules/interpret/CHANGELOG create mode 100644 node_modules/gulp/node_modules/interpret/LICENSE create mode 100644 node_modules/gulp/node_modules/interpret/README.md create mode 100644 node_modules/gulp/node_modules/interpret/index.js create mode 100644 node_modules/gulp/node_modules/interpret/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/.jscsrc create mode 100644 node_modules/gulp/node_modules/liftoff/.jshintrc create mode 100644 node_modules/gulp/node_modules/liftoff/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/CHANGELOG create mode 100644 node_modules/gulp/node_modules/liftoff/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/UPGRADING.md create mode 100644 node_modules/gulp/node_modules/liftoff/appveyor.yml create mode 100644 node_modules/gulp/node_modules/liftoff/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/build_config_name.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/file_search.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/find_config.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/find_cwd.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/parse_options.js create mode 100644 node_modules/gulp/node_modules/liftoff/lib/silent_require.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/.jscs.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/CHANGELOG.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/component.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/extend/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/LICENSE-MIT create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/lib/findup-sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/common.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/glob.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/.eslintrc create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/inflight.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inflight/test.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/inherits/test.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/minimatch.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/node_modules/wrappy/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/node_modules/wrappy/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/once.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/once/test/once.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/path-is-absolute/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/path-is-absolute/license create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/path-is-absolute/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/node_modules/path-is-absolute/readme.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/node_modules/glob/sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/findup-sync/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/lib/reorder.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/lib/respawn.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/test/bin/exit_code.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/test/bin/respawner.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/test/bin/signal.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/test/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/.npmignore create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/CHANGELOG create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/README.md create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/lib/extension.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/lib/normalize.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/lib/register.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/rechoir/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/.travis.yml create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/LICENSE create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/example/async.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/example/sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/async.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/caller.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/core.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/core.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/node-modules-paths.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/lib/sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/readme.markdown create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/core.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/dotdot.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/dotdot/abc/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/dotdot/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/faulty_basedir.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/filter.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/filter_sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/mock.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/mock_sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/module_dir.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/module_dir/xmodules/aaa/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/module_dir/ymodules/aaa/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/module_dir/zmodules/bbb/main.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/module_dir/zmodules/bbb/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/node_path.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/node_path/x/aaa/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/node_path/x/ccc/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/node_path/y/bbb/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/node_path/y/ccc/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/nonstring.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter/deep_ref/main.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence/aaa.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence/aaa/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence/aaa/main.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence/bbb.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/precedence/bbb/main.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/baz/doom.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/baz/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/baz/quux.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/cup.coffee create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/foo.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/incorrect_main/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/incorrect_main/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/mug.coffee create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/mug.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/other_path/lib/other-lib.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/other_path/root.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/quux/foo/index.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/without_basedir/main.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/resolver_sync.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/subdirs.js create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json create mode 100644 node_modules/gulp/node_modules/liftoff/node_modules/resolve/test/subdirs/node_modules/a/package.json create mode 100644 node_modules/gulp/node_modules/liftoff/package.json create mode 100644 node_modules/gulp/node_modules/minimist/.travis.yml create mode 100644 node_modules/gulp/node_modules/minimist/LICENSE create mode 100644 node_modules/gulp/node_modules/minimist/example/parse.js create mode 100644 node_modules/gulp/node_modules/minimist/index.js create mode 100644 node_modules/gulp/node_modules/minimist/package.json create mode 100644 node_modules/gulp/node_modules/minimist/readme.markdown create mode 100644 node_modules/gulp/node_modules/minimist/test/all_bool.js create mode 100644 node_modules/gulp/node_modules/minimist/test/bool.js create mode 100644 node_modules/gulp/node_modules/minimist/test/dash.js create mode 100644 node_modules/gulp/node_modules/minimist/test/default_bool.js create mode 100644 node_modules/gulp/node_modules/minimist/test/dotted.js create mode 100644 node_modules/gulp/node_modules/minimist/test/kv_short.js create mode 100644 node_modules/gulp/node_modules/minimist/test/long.js create mode 100644 node_modules/gulp/node_modules/minimist/test/num.js create mode 100644 node_modules/gulp/node_modules/minimist/test/parse.js create mode 100644 node_modules/gulp/node_modules/minimist/test/parse_modified.js create mode 100644 node_modules/gulp/node_modules/minimist/test/short.js create mode 100644 node_modules/gulp/node_modules/minimist/test/stop_early.js create mode 100644 node_modules/gulp/node_modules/minimist/test/unknown.js create mode 100644 node_modules/gulp/node_modules/minimist/test/whitespace.js create mode 100644 node_modules/gulp/node_modules/orchestrator/.npmignore create mode 100644 node_modules/gulp/node_modules/orchestrator/LICENSE create mode 100644 node_modules/gulp/node_modules/orchestrator/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/index.js create mode 100644 node_modules/gulp/node_modules/orchestrator/lib/runTask.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/.npmignore create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/index.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/LICENSE create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/package.json create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/test/basic.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/wrappy.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/once.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/package.json create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/node_modules/once/test/once.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/package.json create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/end-of-stream/test.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/.npmignore create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/.travis.yml create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/LICENSE create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/index.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/sequencify/package.json create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/stream-consume/.npmignore create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/stream-consume/README.md create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/stream-consume/index.js create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/stream-consume/package.json create mode 100644 node_modules/gulp/node_modules/orchestrator/node_modules/stream-consume/test/tests.js create mode 100644 node_modules/gulp/node_modules/orchestrator/package.json create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/.jshintignore create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/.npmignore create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/LICENSE create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/README.md create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/index.js create mode 100644 node_modules/gulp/node_modules/pretty-hrtime/package.json create mode 100644 node_modules/gulp/node_modules/semver/.npmignore create mode 100644 node_modules/gulp/node_modules/semver/.travis.yml create mode 100644 node_modules/gulp/node_modules/semver/LICENSE create mode 100644 node_modules/gulp/node_modules/semver/Makefile create mode 100644 node_modules/gulp/node_modules/semver/README.md create mode 100755 node_modules/gulp/node_modules/semver/bin/semver create mode 100644 node_modules/gulp/node_modules/semver/foot.js.txt create mode 100644 node_modules/gulp/node_modules/semver/head.js.txt create mode 100644 node_modules/gulp/node_modules/semver/package.json create mode 100644 node_modules/gulp/node_modules/semver/semver.browser.js create mode 100644 node_modules/gulp/node_modules/semver/semver.browser.js.gz create mode 100644 node_modules/gulp/node_modules/semver/semver.js create mode 100644 node_modules/gulp/node_modules/semver/semver.min.js create mode 100644 node_modules/gulp/node_modules/semver/semver.min.js.gz create mode 100644 node_modules/gulp/node_modules/semver/test/amd.js create mode 100644 node_modules/gulp/node_modules/semver/test/big-numbers.js create mode 100644 node_modules/gulp/node_modules/semver/test/clean.js create mode 100644 node_modules/gulp/node_modules/semver/test/gtr.js create mode 100644 node_modules/gulp/node_modules/semver/test/index.js create mode 100644 node_modules/gulp/node_modules/semver/test/ltr.js create mode 100644 node_modules/gulp/node_modules/semver/test/major-minor-patch.js create mode 100644 node_modules/gulp/node_modules/semver/test/no-module.js create mode 100644 node_modules/gulp/node_modules/tildify/index.js create mode 100644 node_modules/gulp/node_modules/tildify/license create mode 100644 node_modules/gulp/node_modules/tildify/node_modules/os-homedir/index.js create mode 100644 node_modules/gulp/node_modules/tildify/node_modules/os-homedir/license create mode 100644 node_modules/gulp/node_modules/tildify/node_modules/os-homedir/package.json create mode 100644 node_modules/gulp/node_modules/tildify/node_modules/os-homedir/readme.md create mode 100644 node_modules/gulp/node_modules/tildify/package.json create mode 100644 node_modules/gulp/node_modules/tildify/readme.md create mode 100644 node_modules/gulp/node_modules/v8flags/.npmignore create mode 100644 node_modules/gulp/node_modules/v8flags/LICENSE create mode 100644 node_modules/gulp/node_modules/v8flags/README.md create mode 100644 node_modules/gulp/node_modules/v8flags/index.js create mode 120000 node_modules/gulp/node_modules/v8flags/node_modules/.bin/user-home create mode 100755 node_modules/gulp/node_modules/v8flags/node_modules/user-home/cli.js create mode 100644 node_modules/gulp/node_modules/v8flags/node_modules/user-home/index.js create mode 100644 node_modules/gulp/node_modules/v8flags/node_modules/user-home/license create mode 100644 node_modules/gulp/node_modules/v8flags/node_modules/user-home/package.json create mode 100644 node_modules/gulp/node_modules/v8flags/node_modules/user-home/readme.md create mode 100644 node_modules/gulp/node_modules/v8flags/package.json create mode 100755 node_modules/gulp/node_modules/vinyl-fs/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/dest/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/dest/writeContents/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/dest/writeContents/writeBuffer.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/dest/writeContents/writeDir.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/dest/writeContents/writeStream.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/getContents/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/getContents/readDir.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/getContents/streamFile.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/getStats.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/lib/src/index.js create mode 120000 node_modules/gulp/node_modules/vinyl-fs/node_modules/.bin/mkdirp create mode 120000 node_modules/gulp/node_modules/vinyl-fs/node_modules/.bin/strip-bom create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/clone.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/test-apart-ctx.html create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/test.html create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/node_modules/clone/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/defaults/test.js create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/common.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/.eslintrc create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/inflight.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inflight/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/inherits/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/node_modules/wrappy/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/node_modules/wrappy/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/once.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/node_modules/once/test/once.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/sync.js create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index/last.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/browser.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/minimatch.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/example.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/node_modules/brace-expansion/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/minimatch/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/ordered-read-streams/test/main.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/unique-stream/test/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/.travis.yml create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/LICENSE-MIT create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/helper.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/.jshintrc create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/Gruntfile.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/LICENSE-MIT create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/lib/globule.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/examples/g.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/examples/usr-local.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/glob.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/test/open.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/graceful-fs/test/ulimit.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/00-setup.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/bash-comparison.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/bash-results.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/cwd-test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/mark.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/nocase-nomagic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/pause-resume.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/root-nomount.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/root.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/glob/test/zz-cleanup.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/LICENSE.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.compat.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.compat.min.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.min.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.underscore.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/dist/lodash.underscore.min.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/lodash/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/minimatch.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/test/basic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/test/foreach.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/lru-cache/test/serialize.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/bench.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/sigmund.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/node_modules/sigmund/test/basic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/test/basic.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/test/brace-expand.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/test/caching.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/test/defaults.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/node_modules/minimatch/test/extglob-ending-with-state-char.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/css/baz.css create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/css/qux.css create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/deep/deep.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/deep/deeper/deeper.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/deep/deeper/deepest/deepest.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/js/bar.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/fixtures/expand/js/foo.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule/test/globule_test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/test/fixtures/test.coffee create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/test/main.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/test/max-open.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/test/open.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/test/readdir-sort.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/graceful-fs/test/write-then-read.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/LICENSE create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/bin/cmd.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/bin/usage.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/examples/pow.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/example/parse.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/readme.markdown create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/dash.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/default_bool.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/dotted.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/long.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/parse.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/short.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/node_modules/minimist/test/whitespace.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/readme.markdown create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/chmod.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/clobber.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/mkdirp.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/opts_fs.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/opts_fs_sync.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/perm.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/perm_sync.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/race.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/rel.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/return.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/return_sync.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/root.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/sync.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/umask.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/mkdirp/test/umask_sync.js create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/cli.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/first-chunk-stream/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/first-chunk-stream/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/first-chunk-stream/readme.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/README.md create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/ansi.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/is-utf8.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/test.js create mode 100755 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/node_modules/is-utf8/utf8.txt create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/strip-bom/readme.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/duplex.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/float.patch create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/util.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/inherits/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/isarray/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/isarray/build/build.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/isarray/component.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/isarray/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/isarray/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/passthrough.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/readable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/transform.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/writable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/.jshintrc create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/LICENCE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/Makefile create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/immutable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/mutable.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/xtend/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/through2.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/lib/cloneBuffer.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/lib/inspectStream.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/lib/isBuffer.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/lib/isNull.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/lib/isStream.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone-stats/LICENSE.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone-stats/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone-stats/index.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone-stats/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone-stats/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/.npmignore create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/.travis.yml create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/LICENSE create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/README.md create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/clone.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/node_modules/clone/test.js create mode 100644 node_modules/gulp/node_modules/vinyl-fs/node_modules/vinyl/package.json create mode 100644 node_modules/gulp/node_modules/vinyl-fs/package.json create mode 100644 node_modules/gulp/package.json create mode 100644 node_modules/laravel-elixir/.npmignore create mode 100644 node_modules/laravel-elixir/Config.js create mode 100644 node_modules/laravel-elixir/GulpPaths.js create mode 100644 node_modules/laravel-elixir/Logger.js create mode 100644 node_modules/laravel-elixir/Notification.js create mode 100644 node_modules/laravel-elixir/Task.js create mode 100644 node_modules/laravel-elixir/elixir-test-app/copy/bar/bar.txt create mode 100644 node_modules/laravel-elixir/elixir-test-app/copy/foo/foo.txt create mode 100644 node_modules/laravel-elixir/elixir-test-app/resources/assets/coffee/module.coffee create mode 100644 node_modules/laravel-elixir/elixir-test-app/resources/assets/css/one.css create mode 100644 node_modules/laravel-elixir/elixir-test-app/resources/assets/css/two.css create mode 100644 node_modules/laravel-elixir/elixir-test-app/resources/assets/sass/another.scss create mode 100644 node_modules/laravel-elixir/elixir-test-app/resources/assets/sass/app.scss create mode 100644 node_modules/laravel-elixir/elixir-test-app/test/GulpPaths.js create mode 100644 node_modules/laravel-elixir/elixir-test-app/test/coffee.js create mode 100644 node_modules/laravel-elixir/elixir-test-app/test/copy.js create mode 100644 node_modules/laravel-elixir/elixir-test-app/test/sass.js create mode 100644 node_modules/laravel-elixir/elixir-test-app/test/styles.js create mode 100644 node_modules/laravel-elixir/icons/fail.png create mode 100644 node_modules/laravel-elixir/icons/laravel.png create mode 100644 node_modules/laravel-elixir/icons/pass.png create mode 100644 node_modules/laravel-elixir/index.js create mode 100644 node_modules/laravel-elixir/node_modules/babelify/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/babelify/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/babelify/README.md create mode 100644 node_modules/laravel-elixir/node_modules/babelify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/babelify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/babelify/polyfill.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/README.md create mode 100755 node_modules/laravel-elixir/node_modules/browser-sync/bin/browser-sync.js create mode 100755 node_modules/laravel-elixir/node_modules/browser-sync/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/args.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/async-tasks.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/async.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/browser-sync.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/cli-info.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/cli-options.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/cli-template.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/cli-utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/command.init.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/command.recipe.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/command.reload.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/command.start.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/help.txt create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/opts.init.json create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/opts.recipe.json create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/opts.reload.json create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/cli/opts.start.json create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/config.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/connect-utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/default-config.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/file-utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/file-watcher.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/hooks.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/http-protocol.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/internal-events.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/logger.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/options.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/exit.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/init.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/notify.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/pause.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/public-utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/reload.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/resume.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/socket.io.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/public/stream.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/certs/browsersync.pfx create mode 100755 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/certs/gen.sh create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/certs/server.crt create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/certs/server.csr create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/certs/server.key create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/proxy-server.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/snippet-server.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/static-server.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/server/utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/snippet.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/sockets.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/templates/connector.tmpl create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/templates/script-tags.tmpl create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/tunnel.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/lib/utils.js create mode 100644 node_modules/laravel-elixir/node_modules/browser-sync/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/browserify/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/browserify/bin/advanced.txt create mode 100644 node_modules/laravel-elixir/node_modules/browserify/bin/args.js create mode 100755 node_modules/laravel-elixir/node_modules/browserify/bin/cmd.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/bin/usage.txt create mode 100644 node_modules/laravel-elixir/node_modules/browserify/changelog.markdown create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/api/browser/bar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/api/browser/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/api/browser/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/api/build.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/beep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/boop.js create mode 100755 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/build.sh create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/robot.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/static/beep.html create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/multiple_bundles/static/boop.html create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/build.js create mode 100755 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/build.sh create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/index.html create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/js/build/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/js/build/bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/js/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/js/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/example/source_maps/js/wunder/bar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/lib/_empty.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/lib/builtins.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/readme.markdown create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/args.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/array.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/array/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/array/three.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/array/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/backbone.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bare.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bare/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bare_shebang.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bin.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bin_entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bin_tr_error.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bin_tr_error/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bin_tr_error/tr.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bom.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bom/hello.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/browser_field_file.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/browser_field_file/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/browser_field_file/wow.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/buffer.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle-bundle-external.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle-bundle-external/bar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle-bundle-external/baz.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle-bundle-external/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle-stream.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_external.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_external/boop.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_external/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_external/robot.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_external_global.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/bundle_sourcemap.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/catch.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/catch/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/circular.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/circular/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/circular/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/circular/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/coffee_bin.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/coffee_bin/main.coffee create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/coffee_bin/x.coffee create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/coffeeify.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/coffeeify/main.coffee create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/comment.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/comment/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/constants.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/crypto.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/crypto_ig.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/README.md create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/mod1/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/mod1/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/mod2/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/cycle/mod2/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/debug_standalone.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/debug_standalone/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dedupe-deps.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dedupe-nomap.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/delay.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/delay/diverted.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/delay/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dollar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dollar/dollar/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_buffer.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_buffer/explicit.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_buffer/implicit.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_buffer/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/needs_three.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/three.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_error/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_json.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_json/a.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_json/b.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_json/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_parallel.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/double_bundle_parallel_cache.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dup/foo-dup.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dup/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/dup/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/needs_three.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/three.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_exec.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_exec/fail.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_exec/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_expose.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_expose/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/entry_relative.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/error_code.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/error_code/src.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/export.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/export/entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_args/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_shim.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_shim/bundle1.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_shim/bundle2.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_shim/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/external_shim/shim.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/externalize.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/externalize/beep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/externalize/boop.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/externalize/robot.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/fake.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/fake/fake_fs.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/fake/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/miss.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-miss/browser.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-miss/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-miss/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-object/browser.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-object/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-object/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-string/browser.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-string/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-string/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-sub/browser/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-sub/browser/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-sub/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/node_modules/z-sub/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/object.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/string.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/field/sub.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/file_event.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/five_bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/full_paths.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob/lib/z.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob/vendor/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/glob/vendor/y.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/buffer.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/filename.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/node_modules/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/node_modules/robot/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/node_modules/robot/lib/beep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global/tick.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global_coffeeify.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global_noparse.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global_recorder.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/global_recorder/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash/foo/other.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash/foo/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash/other.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/one/dir/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/one/dir/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/one/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/one/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/dir/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/dir/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/dir/h.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/three/h.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/dir/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/dir/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/dir/h.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/hash_instance_context/two/h.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical/y.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different/node_modules/op/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different/wow/node_modules/op/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different/wow/y.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/identical_different/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/by-id.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/by-relative.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/double-skip.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/double-skip/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/double-skip/skip.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/ignored/skip.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/relative/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore/skip.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/a/browser.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/a/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/a/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/b/browser-x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/b/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/b/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_browser_field/node_modules/b/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_missing.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/ignore_missing/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/json.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/json/beep.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/json/evil-chars.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/json/evil.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/json/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/leak.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/maxlisteners.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/maxlisteners/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle/_prelude.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle/c.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_bundle_unique.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry/c.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry_cross_require.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry_cross_require/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry_cross_require/c.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_entry_cross_require/lib/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_require.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_require/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_require/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_symlink.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_symlink/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/multi_symlink/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/no_builtins.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/no_builtins/extra/fs.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/no_builtins/extra/tls.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/no_builtins/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/no_builtins/x.txt create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/node_modules/beep/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/node_modules/plugin-foo/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/node_modules/tr/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/dir1/1.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/dir1/dir2/2.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/node_modules/robot/lib/beep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/node_modules/robot/lib/boop.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/node_modules/robot/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/noparse/node_modules/robot/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pack.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths/x/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths/x/ccc/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths/y/bbb/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths/y/ccc/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/paths_transform.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pipeline_deps.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pipeline_deps/bar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pipeline_deps/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pipeline_deps/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pipeline_deps/xyz.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg_event.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg_event/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/pkg_event/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/plugin.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/plugin/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/process.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/process/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/process/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/process/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/a/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/a/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/a/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/b/a.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/b/b.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/b/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/relative_dedupe/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/require_cache.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/require_expose.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/require_expose/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/require_expose/some_dep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reset.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/resolve_exposed.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/resolve_exposed/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/resolve_exposed/x.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/retarget.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reverse_multi_bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reverse_multi_bundle/app.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reverse_multi_bundle/arbitrary.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reverse_multi_bundle/lazy.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/reverse_multi_bundle/shared.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shared_symlink.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shared_symlink/app/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shared_symlink/app/node_modules/foo/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shared_symlink/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shared_symlink/shared/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shebang.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shebang/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/shebang/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone_events.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/standalone_sourcemap.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stdin.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stream.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stream/bar.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stream/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stream/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/stream_file.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/subdep.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/subdep/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/subdep/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/symlink_dedupe.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/symlink_dedupe/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/symlink_dedupe/one/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/symlink_dedupe/one/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/syntax_cache.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/syntax_cache/invalid.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/syntax_cache/valid.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr/subdir/g.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_args.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_args/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_args/tr.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_error.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_flags.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_global.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_global/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_global/node_modules/tr/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_global/node_modules/x/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_global/node_modules/x/node_modules/tr/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_no_entry.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_no_entry/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_once.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_once/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_order.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_order/replace_aaa.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_order/replace_bbb.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_symlink.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_symlink/a-module/index.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_symlink/app/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/tr_symlink/app/package.json create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/unicode.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/unicode/main.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/unicode/one.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/unicode/two.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/util.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/yield.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/yield/f.js create mode 100644 node_modules/laravel-elixir/node_modules/browserify/test/yield/main.js create mode 100644 node_modules/laravel-elixir/node_modules/del/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/license create mode 120000 node_modules/laravel-elixir/node_modules/del/node_modules/.bin/rimraf create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/each-async/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/each-async/license create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/each-async/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/each-async/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/globby/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/globby/license create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/globby/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/globby/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-cwd/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-cwd/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-cwd/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-in-cwd/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-in-cwd/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/is-path-in-cwd/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/object-assign/index.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/object-assign/license create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/object-assign/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/object-assign/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/rimraf/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/rimraf/README.md create mode 100755 node_modules/laravel-elixir/node_modules/del/node_modules/rimraf/bin.js create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/rimraf/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/node_modules/rimraf/rimraf.js create mode 100644 node_modules/laravel-elixir/node_modules/del/package.json create mode 100644 node_modules/laravel-elixir/node_modules/del/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/glob/README.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/common.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/glob.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/.eslintrc create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/README.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/inflight.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inflight/test.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/README.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/inherits/test.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/minimatch/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/minimatch/README.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/minimatch/minimatch.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/minimatch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/once/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/once/README.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/once/once.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/once/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/once/test/once.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/path-is-absolute/index.js create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/path-is-absolute/license create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/path-is-absolute/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/node_modules/path-is-absolute/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/glob/package.json create mode 100644 node_modules/laravel-elixir/node_modules/glob/sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/data/prefixes.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/at-rule.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/autoprefixer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/browsers.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/declaration.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/align-content.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/align-items.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/align-self.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/appearance.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/background-size.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/block-logical.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/border-image.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/border-radius.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/break-inside.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/display-flex.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/fill-available.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/filter-value.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/filter.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-basis.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-direction.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-flow.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-grow.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-shrink.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-spec.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-values.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex-wrap.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/flex.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/fullscreen.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/gradient.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/image-rendering.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/inline-logical.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/justify-content.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/order.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/pixelated.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/placeholder.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/transform-decl.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/hacks/transform-value.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/info.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/old-selector.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/old-value.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/prefixer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/prefixes.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/processor.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/resolution.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/selector.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/supports.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/utils.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/lib/value.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/autoprefixer-core/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/object-assign/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/object-assign/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/object-assign/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/object-assign/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/at-rule.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/comment.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/container.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/css-syntax-error.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/declaration.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/input.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/list.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/map-generator.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/node.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/parse.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/parser.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/postcss.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/previous-map.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/processor.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/result.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/root.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/rule.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/tokenize.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/vendor.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/warn-once.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/lib/warning.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/postcss/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/vinyl-sourcemaps-apply/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/vinyl-sourcemaps-apply/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/vinyl-sourcemaps-apply/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/vinyl-sourcemaps-apply/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/node_modules/vinyl-sourcemaps-apply/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-autoprefixer/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-babel/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-babel/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-babel/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-babel/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/async-done/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/async-done/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/async-done/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/async-done/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/test/1.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/test/2.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/test/3.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/node_modules/stream-array/test/4.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-batch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/.travis.yml create mode 100755 node_modules/laravel-elixir/node_modules/gulp-coffee/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/test/fixtures/grammar.coffee create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/test/fixtures/journo.coffee.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/test/fixtures/journo.litcoffee create mode 100644 node_modules/laravel-elixir/node_modules/gulp-coffee/test/main.js create mode 100755 node_modules/laravel-elixir/node_modules/gulp-concat/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/concat-with-sourcemaps/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/concat-with-sourcemaps/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/concat-with-sourcemaps/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/concat-with-sourcemaps/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-concat/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/.editorconfig create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/img/condition.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/img/exclude.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/img/glob.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/img/ternary.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/minimatch.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/test/basic.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/test/brace-expand.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/test/caching.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/test/defaults.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/node_modules/minimatch/test/extglob-ending-with-state-char.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/gulp-match/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/img/condition.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/img/ternary.svg create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/ternary-stream/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-if/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-less/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-less/Changelog.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-less/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-less/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-less/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/findup-sync/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/findup-sync/LICENSE-MIT create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/findup-sync/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/findup-sync/lib/findup-sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/findup-sync/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/multimatch/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/multimatch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/multimatch/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/example/async.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/example/sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/async.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/caller.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/core.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/core.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/node-modules-paths.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/lib/sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/readme.markdown create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/core.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/dotdot.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/dotdot/abc/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/dotdot/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/faulty_basedir.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/filter.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/filter_sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/mock.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/mock_sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/module_dir.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/module_dir/xmodules/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/module_dir/ymodules/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/module_dir/zmodules/bbb/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/module_dir/zmodules/bbb/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/node_path.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/node_path/x/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/node_path/x/ccc/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/node_path/y/bbb/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/node_path/y/ccc/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/nonstring.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter/deep_ref/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/alt.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/deeper/ref.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/pathfilter/deep_ref/node_modules/deep/ref.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence/aaa.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence/aaa/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence/aaa/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence/bbb.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/precedence/bbb/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/baz/doom.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/baz/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/baz/quux.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/cup.coffee create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/incorrect_main/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/incorrect_main/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/mug.coffee create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/mug.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/other_path/lib/other-lib.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/other_path/root.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/punycode/node_modules/punycode/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/quux/foo/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/without_basedir/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/resolver_sync.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/subdirs.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/node_modules/resolve/test/subdirs/node_modules/a/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-load-plugins/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-minify-css/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-minify-css/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-minify-css/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-minify-css/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-minify-css/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/.editorconfig create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/.gitattributes create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/assets/gulp-error.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/assets/gulp.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/examples/gulp.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/examples/gulpfile.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/examples/jshint.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/lib/extra_api.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/lib/notify.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/lib/report.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/lib/withReporter.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/test/fixtures/1.txt create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/test/fixtures/2.txt create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/test/fixtures/3.txt create mode 100644 node_modules/laravel-elixir/node_modules/gulp-notify/test/main.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/.jscsrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/.jslintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/TODO.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/assets/test-fail.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/assets/test-pass.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/config.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/lib/phpspec.js create mode 100755 node_modules/laravel-elixir/node_modules/gulp-phpspec/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/spec/test.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/tasks/build.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/tasks/lint.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/tasks/test.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpspec/tasks/todo.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/.circle.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/assets/test-fail.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/assets/test-pass.png create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/index.js create mode 100755 node_modules/laravel-elixir/node_modules/gulp-phpunit/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/scratch.txt create mode 100644 node_modules/laravel-elixir/node_modules/gulp-phpunit/test/test.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rename/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rename/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rename/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/test.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev-replace/utils.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/object-assign/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/object-assign/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/object-assign/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/object-assign/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-hash/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-hash/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-hash/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-hash/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-path/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-path/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-path/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/rev-path/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/sort-keys/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/sort-keys/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/sort-keys/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/sort-keys/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/vinyl-file/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/vinyl-file/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/vinyl-file/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/node_modules/vinyl-file/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-rev/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/.editorconfig create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/.eslintrc create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/CONTRIBUTING.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sass/test.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sourcemaps/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sourcemaps/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sourcemaps/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-sourcemaps/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/lib/createError.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/minifier.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-uglify/package.json create mode 100755 node_modules/laravel-elixir/node_modules/gulp-util/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/PluginError.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/buffer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/combine.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/env.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/isBuffer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/isNull.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/isStream.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/log.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/noop.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/lib/template.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-util/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/anymatch/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/anymatch/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/anymatch/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/anymatch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/CHANGELOG.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/README.md create mode 100755 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/lib/fsevents-handler.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/lib/nodefs-handler.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/chokidar/package.json create mode 100755 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/glob2base/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/glob2base/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/glob2base/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/glob2base/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/path-is-absolute/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/path-is-absolute/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/path-is-absolute/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/path-is-absolute/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/.zuul.yml create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/doc/stream.markdown create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/duplex.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/passthrough.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/readable.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/transform.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/readable-stream/writable.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl-file/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl-file/license create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl-file/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl-file/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/README.md create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/index.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/lib/cloneBuffer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/lib/inspectStream.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/lib/isBuffer.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/lib/isNull.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/lib/isStream.js create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/node_modules/vinyl/package.json create mode 100644 node_modules/laravel-elixir/node_modules/gulp-watch/package.json create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/example/bundle.js create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/example/index.html create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/example/insert.js create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/example/style.css create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/index.js create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/package.json create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/readme.markdown create mode 100644 node_modules/laravel-elixir/node_modules/insert-css/test/insert.js create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/README.md create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/index.js create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/merge-stream/package.json create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/.gitattributes create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/.verb.md create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/LICENSE-MIT create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/README.md create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/bower.json create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/index.js create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/package.json create mode 100644 node_modules/laravel-elixir/node_modules/parse-filepath/test.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/partialify/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/partialify/README.md create mode 100644 node_modules/laravel-elixir/node_modules/partialify/custom.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.css create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.csv create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.html create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.json create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.tpl.html create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/fixtures/fixture.xml create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/index.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/css.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/defaults.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/extras.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/html.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/json.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/opts.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/tpl.html.js create mode 100644 node_modules/laravel-elixir/node_modules/partialify/test/runners/unique.js create mode 100644 node_modules/laravel-elixir/node_modules/path/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/path/README.md create mode 100644 node_modules/laravel-elixir/node_modules/path/package.json create mode 100644 node_modules/laravel-elixir/node_modules/path/path.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/README.md create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/index.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/package.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/camelcase.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/camelcase/a_main.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/camelcase/sub-dir/a-sub.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/a.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/b.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/b/1.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/b/1.txt create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/b/2.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/b/2.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/c.txt create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/c/3.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/d.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/duplicates/d.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/index.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse/a.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse/b/1/bar.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse/b/1/foo.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse/b/2/baz.txt create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/recurse/c/3.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/simple.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/simple/a.js create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/simple/b.json create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/simple/c.coffee create mode 100644 node_modules/laravel-elixir/node_modules/require-dir/test/simple/d.txt create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/README.md create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/index.js create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/node_modules/chalk/index.js create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/node_modules/chalk/license create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/node_modules/chalk/package.json create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/node_modules/chalk/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/run-sequence/package.json create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/README.md create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/bower.json create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/component.json create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/index.js create mode 100644 node_modules/laravel-elixir/node_modules/underscore-deep-extend/package.json create mode 100644 node_modules/laravel-elixir/node_modules/underscore/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/underscore/README.md create mode 100644 node_modules/laravel-elixir/node_modules/underscore/package.json create mode 100644 node_modules/laravel-elixir/node_modules/underscore/underscore-min.js create mode 100644 node_modules/laravel-elixir/node_modules/underscore/underscore-min.map create mode 100644 node_modules/laravel-elixir/node_modules/underscore/underscore.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/.jshintrc create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/bl.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/duplex.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/float.patch create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/inherits.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/inherits_browser.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/inherits/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/passthrough.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/readable.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/transform.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/node_modules/readable-stream/writable.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/test/basic-test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/test/sauce.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/bl/test/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-buffer/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-paths/readme.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/through2/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/through2/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/through2/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/through2/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/through2/through2.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/lib/cloneBuffer.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/lib/inspectStream.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/lib/isBuffer.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/lib/isNull.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/lib/isStream.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone-stats/LICENSE.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone-stats/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone-stats/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone-stats/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone-stats/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/clone.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/node_modules/clone/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/node_modules/vinyl/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vinyl-source-stream/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/vueify/README.md create mode 100644 node_modules/laravel-elixir/node_modules/vueify/compile.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compiler.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/babel.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/coffee.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/index.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/jade.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/less.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/myth.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/options.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/sass.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/compilers/stylus.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/style-rewriter.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/lib/template-rewriter.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/basic.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/custom.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/empty.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/jade.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/less.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/multiple-scripts.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/multiple-styles.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/multiple.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/myth.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/non-minified.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/sass.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/scoped.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/expects/src.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/basic.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/custom.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/empty.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/jade.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/less.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-scripts.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-styles.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/myth.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/non-minified.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/sass.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/scoped.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src.vue create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src/test.js create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.html create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.styl create mode 100644 node_modules/laravel-elixir/node_modules/vueify/test/test.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/.npmignore create mode 100644 node_modules/laravel-elixir/node_modules/watchify/.travis.yml create mode 100644 node_modules/laravel-elixir/node_modules/watchify/LICENSE create mode 100644 node_modules/laravel-elixir/node_modules/watchify/bin/args.js create mode 100755 node_modules/laravel-elixir/node_modules/watchify/bin/cmd.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/example/files/main.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/example/files/one.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/example/files/two.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/index.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/package.json create mode 100644 node_modules/laravel-elixir/node_modules/watchify/readme.markdown create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api_brfs.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_default.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_multiple.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/api_implicit_cache.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_brfs.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_default.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_multiple.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_pipe.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/bin_standalone.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/errors.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/errors_transform.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/expose.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/many.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/many_immediate.js create mode 100644 node_modules/laravel-elixir/node_modules/watchify/test/zzz.js create mode 100644 node_modules/laravel-elixir/package.json create mode 100644 node_modules/laravel-elixir/readme.md create mode 100644 node_modules/laravel-elixir/tasks/browserify.js create mode 100644 node_modules/laravel-elixir/tasks/browsersync.js create mode 100644 node_modules/laravel-elixir/tasks/coffee.js create mode 100644 node_modules/laravel-elixir/tasks/copy.js create mode 100644 node_modules/laravel-elixir/tasks/default.js create mode 100644 node_modules/laravel-elixir/tasks/less.js create mode 100644 node_modules/laravel-elixir/tasks/phpspec.js create mode 100644 node_modules/laravel-elixir/tasks/phpunit.js create mode 100644 node_modules/laravel-elixir/tasks/sass.js create mode 100644 node_modules/laravel-elixir/tasks/scripts.js create mode 100644 node_modules/laravel-elixir/tasks/shared/Css.js create mode 100644 node_modules/laravel-elixir/tasks/shared/Tests.js create mode 100644 node_modules/laravel-elixir/tasks/styles.js create mode 100644 node_modules/laravel-elixir/tasks/task.js create mode 100644 node_modules/laravel-elixir/tasks/tdd.js create mode 100644 node_modules/laravel-elixir/tasks/version.js create mode 100644 node_modules/laravel-elixir/tasks/watch.js create mode 100755 public/themes/default/css/components/boxed-group.css create mode 100755 public/themes/default/css/components/collection.css create mode 100755 public/themes/default/css/components/repo-card.css create mode 100755 public/themes/default/css/globals/common.css create mode 100755 public/themes/default/css/globals/prism.css create mode 100755 public/themes/default/css/globals/responsive.css create mode 100755 public/themes/default/css/pages/index.css create mode 100755 public/themes/default/css/sections/article.css create mode 100755 public/themes/default/css/sections/mini-repo-list.css create mode 100755 public/themes/default/css/sections/repo-list.css create mode 100755 public/themes/default/fonts/codropsicons/codropsicons.eot create mode 100755 public/themes/default/fonts/codropsicons/codropsicons.svg create mode 100755 public/themes/default/fonts/codropsicons/codropsicons.ttf create mode 100755 public/themes/default/fonts/codropsicons/codropsicons.woff create mode 100755 public/themes/default/fonts/codropsicons/license.txt create mode 100755 public/themes/default/fonts/font-awesome-4.2.0/css/font-awesome.min.css create mode 100755 public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.eot create mode 100755 public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.svg create mode 100755 public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.ttf create mode 100755 public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.woff create mode 100755 public/themes/default/images/header.jpg rename public/themes/{keylime/img => default/images}/ico/120.png (100%) mode change 100755 => 100644 rename public/themes/{keylime/img => default/images}/ico/152.png (100%) mode change 100755 => 100644 rename public/themes/{keylime/img => default/images}/ico/32.png (100%) mode change 100755 => 100644 rename public/themes/{keylime/img => default/images}/ico/60.png (100%) mode change 100755 => 100644 rename public/themes/{keylime/img => default/images}/ico/72.png (100%) mode change 100755 => 100644 create mode 100755 public/themes/default/images/line-transparent.png create mode 100755 public/themes/default/images/magnifier.svg create mode 100755 public/themes/default/images/octicons-bg.png create mode 100755 public/themes/default/images/octocat-spinner-16px.gif create mode 100755 public/themes/default/images/octocat-spinner-32-EAF2F5.gif create mode 100755 public/themes/default/images/search.png create mode 100755 public/themes/default/js/geopattern.js create mode 100755 public/themes/default/js/prism.js create mode 100755 public/themes/default/vendor/jquery/MIT-LICENSE.txt create mode 100755 public/themes/default/vendor/jquery/bower.json create mode 100755 public/themes/default/vendor/jquery/dist/jquery.js create mode 100755 public/themes/default/vendor/jquery/dist/jquery.min.js create mode 100755 public/themes/default/vendor/jquery/dist/jquery.min.map create mode 100755 public/themes/default/vendor/jquery/src/ajax.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/jsonp.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/load.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/parseJSON.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/parseXML.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/script.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/var/nonce.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/var/rquery.js create mode 100755 public/themes/default/vendor/jquery/src/ajax/xhr.js create mode 100755 public/themes/default/vendor/jquery/src/attributes.js create mode 100755 public/themes/default/vendor/jquery/src/attributes/attr.js create mode 100755 public/themes/default/vendor/jquery/src/attributes/classes.js create mode 100755 public/themes/default/vendor/jquery/src/attributes/prop.js create mode 100755 public/themes/default/vendor/jquery/src/attributes/support.js create mode 100755 public/themes/default/vendor/jquery/src/attributes/val.js create mode 100755 public/themes/default/vendor/jquery/src/callbacks.js create mode 100755 public/themes/default/vendor/jquery/src/core.js create mode 100755 public/themes/default/vendor/jquery/src/core/access.js create mode 100755 public/themes/default/vendor/jquery/src/core/init.js create mode 100755 public/themes/default/vendor/jquery/src/core/parseHTML.js create mode 100755 public/themes/default/vendor/jquery/src/core/ready.js create mode 100755 public/themes/default/vendor/jquery/src/core/var/rsingleTag.js create mode 100755 public/themes/default/vendor/jquery/src/css.js create mode 100755 public/themes/default/vendor/jquery/src/css/addGetHookIf.js create mode 100755 public/themes/default/vendor/jquery/src/css/curCSS.js create mode 100755 public/themes/default/vendor/jquery/src/css/defaultDisplay.js create mode 100755 public/themes/default/vendor/jquery/src/css/hiddenVisibleSelectors.js create mode 100755 public/themes/default/vendor/jquery/src/css/support.js create mode 100755 public/themes/default/vendor/jquery/src/css/swap.js create mode 100755 public/themes/default/vendor/jquery/src/css/var/cssExpand.js create mode 100755 public/themes/default/vendor/jquery/src/css/var/getStyles.js create mode 100755 public/themes/default/vendor/jquery/src/css/var/isHidden.js create mode 100755 public/themes/default/vendor/jquery/src/css/var/rmargin.js create mode 100755 public/themes/default/vendor/jquery/src/css/var/rnumnonpx.js create mode 100755 public/themes/default/vendor/jquery/src/data.js create mode 100755 public/themes/default/vendor/jquery/src/data/Data.js create mode 100755 public/themes/default/vendor/jquery/src/data/accepts.js create mode 100755 public/themes/default/vendor/jquery/src/data/var/data_priv.js create mode 100755 public/themes/default/vendor/jquery/src/data/var/data_user.js create mode 100755 public/themes/default/vendor/jquery/src/deferred.js create mode 100755 public/themes/default/vendor/jquery/src/deprecated.js create mode 100755 public/themes/default/vendor/jquery/src/dimensions.js create mode 100755 public/themes/default/vendor/jquery/src/effects.js create mode 100755 public/themes/default/vendor/jquery/src/effects/Tween.js create mode 100755 public/themes/default/vendor/jquery/src/effects/animatedSelector.js create mode 100755 public/themes/default/vendor/jquery/src/event.js create mode 100755 public/themes/default/vendor/jquery/src/event/ajax.js create mode 100755 public/themes/default/vendor/jquery/src/event/alias.js create mode 100755 public/themes/default/vendor/jquery/src/event/support.js create mode 100755 public/themes/default/vendor/jquery/src/exports/amd.js create mode 100755 public/themes/default/vendor/jquery/src/exports/global.js create mode 100755 public/themes/default/vendor/jquery/src/intro.js create mode 100755 public/themes/default/vendor/jquery/src/jquery.js create mode 100755 public/themes/default/vendor/jquery/src/manipulation.js create mode 100755 public/themes/default/vendor/jquery/src/manipulation/_evalUrl.js create mode 100755 public/themes/default/vendor/jquery/src/manipulation/support.js create mode 100755 public/themes/default/vendor/jquery/src/manipulation/var/rcheckableType.js create mode 100755 public/themes/default/vendor/jquery/src/offset.js create mode 100755 public/themes/default/vendor/jquery/src/outro.js create mode 100755 public/themes/default/vendor/jquery/src/queue.js create mode 100755 public/themes/default/vendor/jquery/src/queue/delay.js create mode 100755 public/themes/default/vendor/jquery/src/selector-native.js create mode 100755 public/themes/default/vendor/jquery/src/selector-sizzle.js create mode 100755 public/themes/default/vendor/jquery/src/selector.js create mode 100755 public/themes/default/vendor/jquery/src/serialize.js create mode 100755 public/themes/default/vendor/jquery/src/sizzle/dist/sizzle.js create mode 100755 public/themes/default/vendor/jquery/src/sizzle/dist/sizzle.min.js create mode 100755 public/themes/default/vendor/jquery/src/sizzle/dist/sizzle.min.map create mode 100755 public/themes/default/vendor/jquery/src/traversing.js create mode 100755 public/themes/default/vendor/jquery/src/traversing/findFilter.js create mode 100755 public/themes/default/vendor/jquery/src/traversing/var/rneedsContext.js create mode 100755 public/themes/default/vendor/jquery/src/var/arr.js create mode 100755 public/themes/default/vendor/jquery/src/var/class2type.js create mode 100755 public/themes/default/vendor/jquery/src/var/concat.js create mode 100755 public/themes/default/vendor/jquery/src/var/hasOwn.js create mode 100755 public/themes/default/vendor/jquery/src/var/indexOf.js create mode 100755 public/themes/default/vendor/jquery/src/var/pnum.js create mode 100755 public/themes/default/vendor/jquery/src/var/push.js create mode 100755 public/themes/default/vendor/jquery/src/var/rnotwhite.js create mode 100755 public/themes/default/vendor/jquery/src/var/slice.js create mode 100755 public/themes/default/vendor/jquery/src/var/strundefined.js create mode 100755 public/themes/default/vendor/jquery/src/var/support.js create mode 100755 public/themes/default/vendor/jquery/src/var/toString.js create mode 100755 public/themes/default/vendor/jquery/src/wrap.js create mode 100755 public/themes/default/vendor/octicons/CHANGELOG.md create mode 100755 public/themes/default/vendor/octicons/CONTRIBUTING.md create mode 100755 public/themes/default/vendor/octicons/LICENSE.txt create mode 100755 public/themes/default/vendor/octicons/README.md create mode 100755 public/themes/default/vendor/octicons/bower.json create mode 100755 public/themes/default/vendor/octicons/octicons/README.md create mode 100755 public/themes/default/vendor/octicons/octicons/octicons-local.ttf create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.css create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.eot create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.less create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.scss create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.svg create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.ttf create mode 100755 public/themes/default/vendor/octicons/octicons/octicons.woff create mode 100755 public/themes/default/vendor/octicons/octicons/sprockets-octicons.scss create mode 100755 public/themes/default/vendor/octicons/package.json create mode 100755 public/themes/default/vendor/octicons/svg/alert.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-down.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-left.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-right.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-small-down.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-small-left.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-small-right.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-small-up.svg create mode 100755 public/themes/default/vendor/octicons/svg/arrow-up.svg create mode 100755 public/themes/default/vendor/octicons/svg/beaker.svg create mode 100755 public/themes/default/vendor/octicons/svg/bell.svg create mode 100755 public/themes/default/vendor/octicons/svg/book.svg create mode 100755 public/themes/default/vendor/octicons/svg/bookmark.svg create mode 100755 public/themes/default/vendor/octicons/svg/briefcase.svg create mode 100755 public/themes/default/vendor/octicons/svg/broadcast.svg create mode 100755 public/themes/default/vendor/octicons/svg/browser.svg create mode 100755 public/themes/default/vendor/octicons/svg/bug.svg create mode 100755 public/themes/default/vendor/octicons/svg/calendar.svg create mode 100755 public/themes/default/vendor/octicons/svg/check.svg create mode 100755 public/themes/default/vendor/octicons/svg/checklist.svg create mode 100755 public/themes/default/vendor/octicons/svg/chevron-down.svg create mode 100755 public/themes/default/vendor/octicons/svg/chevron-left.svg create mode 100755 public/themes/default/vendor/octicons/svg/chevron-right.svg create mode 100755 public/themes/default/vendor/octicons/svg/chevron-up.svg create mode 100755 public/themes/default/vendor/octicons/svg/circle-slash.svg create mode 100755 public/themes/default/vendor/octicons/svg/circuit-board.svg create mode 100755 public/themes/default/vendor/octicons/svg/clippy.svg create mode 100755 public/themes/default/vendor/octicons/svg/clock.svg create mode 100755 public/themes/default/vendor/octicons/svg/cloud-download.svg create mode 100755 public/themes/default/vendor/octicons/svg/cloud-upload.svg create mode 100755 public/themes/default/vendor/octicons/svg/code.svg create mode 100755 public/themes/default/vendor/octicons/svg/color-mode.svg create mode 100755 public/themes/default/vendor/octicons/svg/comment-discussion.svg create mode 100755 public/themes/default/vendor/octicons/svg/comment.svg create mode 100755 public/themes/default/vendor/octicons/svg/credit-card.svg create mode 100755 public/themes/default/vendor/octicons/svg/dash.svg create mode 100755 public/themes/default/vendor/octicons/svg/dashboard.svg create mode 100755 public/themes/default/vendor/octicons/svg/database.svg create mode 100755 public/themes/default/vendor/octicons/svg/desktop-download.svg create mode 100755 public/themes/default/vendor/octicons/svg/device-camera-video.svg create mode 100755 public/themes/default/vendor/octicons/svg/device-camera.svg create mode 100755 public/themes/default/vendor/octicons/svg/device-desktop.svg create mode 100755 public/themes/default/vendor/octicons/svg/device-mobile.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff-added.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff-ignored.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff-modified.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff-removed.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff-renamed.svg create mode 100755 public/themes/default/vendor/octicons/svg/diff.svg create mode 100755 public/themes/default/vendor/octicons/svg/ellipsis.svg create mode 100755 public/themes/default/vendor/octicons/svg/eye.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-binary.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-code.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-directory.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-media.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-pdf.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-submodule.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-symlink-directory.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-symlink-file.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-text.svg create mode 100755 public/themes/default/vendor/octicons/svg/file-zip.svg create mode 100755 public/themes/default/vendor/octicons/svg/flame.svg create mode 100755 public/themes/default/vendor/octicons/svg/fold.svg create mode 100755 public/themes/default/vendor/octicons/svg/gear.svg create mode 100755 public/themes/default/vendor/octicons/svg/gift.svg create mode 100755 public/themes/default/vendor/octicons/svg/gist-secret.svg create mode 100755 public/themes/default/vendor/octicons/svg/gist.svg create mode 100755 public/themes/default/vendor/octicons/svg/git-branch.svg create mode 100755 public/themes/default/vendor/octicons/svg/git-commit.svg create mode 100755 public/themes/default/vendor/octicons/svg/git-compare.svg create mode 100755 public/themes/default/vendor/octicons/svg/git-merge.svg create mode 100755 public/themes/default/vendor/octicons/svg/git-pull-request.svg create mode 100755 public/themes/default/vendor/octicons/svg/globe.svg create mode 100755 public/themes/default/vendor/octicons/svg/graph.svg create mode 100755 public/themes/default/vendor/octicons/svg/heart.svg create mode 100755 public/themes/default/vendor/octicons/svg/history.svg create mode 100755 public/themes/default/vendor/octicons/svg/home.svg create mode 100755 public/themes/default/vendor/octicons/svg/horizontal-rule.svg create mode 100755 public/themes/default/vendor/octicons/svg/hubot.svg create mode 100755 public/themes/default/vendor/octicons/svg/inbox.svg create mode 100755 public/themes/default/vendor/octicons/svg/info.svg create mode 100755 public/themes/default/vendor/octicons/svg/issue-closed.svg create mode 100755 public/themes/default/vendor/octicons/svg/issue-opened.svg create mode 100755 public/themes/default/vendor/octicons/svg/issue-reopened.svg create mode 100755 public/themes/default/vendor/octicons/svg/jersey.svg create mode 100755 public/themes/default/vendor/octicons/svg/key.svg create mode 100755 public/themes/default/vendor/octicons/svg/keyboard.svg create mode 100755 public/themes/default/vendor/octicons/svg/law.svg create mode 100755 public/themes/default/vendor/octicons/svg/light-bulb.svg create mode 100755 public/themes/default/vendor/octicons/svg/link-external.svg create mode 100755 public/themes/default/vendor/octicons/svg/link.svg create mode 100755 public/themes/default/vendor/octicons/svg/list-ordered.svg create mode 100755 public/themes/default/vendor/octicons/svg/list-unordered.svg create mode 100755 public/themes/default/vendor/octicons/svg/location.svg create mode 100755 public/themes/default/vendor/octicons/svg/lock.svg create mode 100755 public/themes/default/vendor/octicons/svg/logo-github.svg create mode 100755 public/themes/default/vendor/octicons/svg/mail-read.svg create mode 100755 public/themes/default/vendor/octicons/svg/mail-reply.svg create mode 100755 public/themes/default/vendor/octicons/svg/mail.svg create mode 100755 public/themes/default/vendor/octicons/svg/mark-github.svg create mode 100755 public/themes/default/vendor/octicons/svg/markdown.svg create mode 100755 public/themes/default/vendor/octicons/svg/megaphone.svg create mode 100755 public/themes/default/vendor/octicons/svg/mention.svg create mode 100755 public/themes/default/vendor/octicons/svg/milestone.svg create mode 100755 public/themes/default/vendor/octicons/svg/mirror.svg create mode 100755 public/themes/default/vendor/octicons/svg/mortar-board.svg create mode 100755 public/themes/default/vendor/octicons/svg/mute.svg create mode 100755 public/themes/default/vendor/octicons/svg/no-newline.svg create mode 100755 public/themes/default/vendor/octicons/svg/octoface.svg create mode 100755 public/themes/default/vendor/octicons/svg/organization.svg create mode 100755 public/themes/default/vendor/octicons/svg/package.svg create mode 100755 public/themes/default/vendor/octicons/svg/paintcan.svg create mode 100755 public/themes/default/vendor/octicons/svg/pencil.svg create mode 100755 public/themes/default/vendor/octicons/svg/person.svg create mode 100755 public/themes/default/vendor/octicons/svg/pin.svg create mode 100755 public/themes/default/vendor/octicons/svg/plug.svg create mode 100755 public/themes/default/vendor/octicons/svg/plus.svg create mode 100755 public/themes/default/vendor/octicons/svg/primitive-dot.svg create mode 100755 public/themes/default/vendor/octicons/svg/primitive-square.svg create mode 100755 public/themes/default/vendor/octicons/svg/pulse.svg create mode 100755 public/themes/default/vendor/octicons/svg/question.svg create mode 100755 public/themes/default/vendor/octicons/svg/quote.svg create mode 100755 public/themes/default/vendor/octicons/svg/radio-tower.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo-clone.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo-force-push.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo-forked.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo-pull.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo-push.svg create mode 100755 public/themes/default/vendor/octicons/svg/repo.svg create mode 100755 public/themes/default/vendor/octicons/svg/rocket.svg create mode 100755 public/themes/default/vendor/octicons/svg/rss.svg create mode 100755 public/themes/default/vendor/octicons/svg/ruby.svg create mode 100755 public/themes/default/vendor/octicons/svg/screen-full.svg create mode 100755 public/themes/default/vendor/octicons/svg/screen-normal.svg create mode 100755 public/themes/default/vendor/octicons/svg/search.svg create mode 100755 public/themes/default/vendor/octicons/svg/server.svg create mode 100755 public/themes/default/vendor/octicons/svg/settings.svg create mode 100755 public/themes/default/vendor/octicons/svg/shield.svg create mode 100755 public/themes/default/vendor/octicons/svg/sign-in.svg create mode 100755 public/themes/default/vendor/octicons/svg/sign-out.svg create mode 100755 public/themes/default/vendor/octicons/svg/squirrel.svg create mode 100755 public/themes/default/vendor/octicons/svg/star.svg create mode 100755 public/themes/default/vendor/octicons/svg/stop.svg create mode 100755 public/themes/default/vendor/octicons/svg/sync.svg create mode 100755 public/themes/default/vendor/octicons/svg/tag.svg create mode 100755 public/themes/default/vendor/octicons/svg/telescope.svg create mode 100755 public/themes/default/vendor/octicons/svg/terminal.svg create mode 100755 public/themes/default/vendor/octicons/svg/three-bars.svg create mode 100755 public/themes/default/vendor/octicons/svg/thumbsdown.svg create mode 100755 public/themes/default/vendor/octicons/svg/thumbsup.svg create mode 100755 public/themes/default/vendor/octicons/svg/tools.svg create mode 100755 public/themes/default/vendor/octicons/svg/trashcan.svg create mode 100755 public/themes/default/vendor/octicons/svg/triangle-down.svg create mode 100755 public/themes/default/vendor/octicons/svg/triangle-left.svg create mode 100755 public/themes/default/vendor/octicons/svg/triangle-right.svg create mode 100755 public/themes/default/vendor/octicons/svg/triangle-up.svg create mode 100755 public/themes/default/vendor/octicons/svg/unfold.svg create mode 100755 public/themes/default/vendor/octicons/svg/unmute.svg create mode 100755 public/themes/default/vendor/octicons/svg/versions.svg create mode 100755 public/themes/default/vendor/octicons/svg/watch.svg create mode 100755 public/themes/default/vendor/octicons/svg/x.svg create mode 100755 public/themes/default/vendor/octicons/svg/zap.svg create mode 100755 public/themes/default/vendor/primer-css/CONTRIBUTING.md create mode 100755 public/themes/default/vendor/primer-css/LICENSE.md create mode 100755 public/themes/default/vendor/primer-css/README.md create mode 100755 public/themes/default/vendor/primer-css/bower.json create mode 100755 public/themes/default/vendor/primer-css/css/primer.css create mode 100755 public/themes/default/vendor/primer-css/package.json create mode 100755 public/themes/default/vendor/primer-css/scss/_alerts.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_avatars.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_base.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_blankslate.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_buttons.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_counter.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_filter-list.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_flex-table.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_forms.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_layout.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_menu.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_mixins.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_normalize.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_states.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_tabnav.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_tooltips.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_truncate.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_type.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_utility.scss create mode 100755 public/themes/default/vendor/primer-css/scss/_variables.scss create mode 100755 public/themes/default/vendor/primer-css/scss/primer.scss create mode 100755 public/themes/default/vendor/primer-markdown/CLA.md create mode 100755 public/themes/default/vendor/primer-markdown/CONTRIBUTING.md create mode 100755 public/themes/default/vendor/primer-markdown/LICENSE.md create mode 100755 public/themes/default/vendor/primer-markdown/bower.json create mode 100755 public/themes/default/vendor/primer-markdown/components/markdown.scss create mode 100755 public/themes/default/vendor/primer-markdown/components/user-content.scss create mode 100755 public/themes/default/vendor/primer-markdown/dist/user-content.css create mode 100755 public/themes/default/vendor/primer-markdown/dist/user-content.min.css create mode 100755 public/themes/default/vendor/share.js/LICENSE create mode 100755 public/themes/default/vendor/share.js/README.md create mode 100755 public/themes/default/vendor/share.js/bower.json create mode 100755 public/themes/default/vendor/share.js/dist/css/share.min.css create mode 100755 public/themes/default/vendor/share.js/dist/fonts/iconfont.eot create mode 100755 public/themes/default/vendor/share.js/dist/fonts/iconfont.svg create mode 100755 public/themes/default/vendor/share.js/dist/fonts/iconfont.ttf create mode 100755 public/themes/default/vendor/share.js/dist/fonts/iconfont.woff create mode 100755 public/themes/default/vendor/share.js/dist/js/jquery.qrcode.min.js create mode 100755 public/themes/default/vendor/share.js/dist/js/share.min.js create mode 100755 public/themes/default/vendor/share.js/example.html create mode 100755 public/themes/default/vendor/share.js/gulpfile.js create mode 100755 public/themes/default/vendor/share.js/package.json create mode 100755 public/themes/default/vendor/share.js/src/css/share.scss create mode 100755 public/themes/default/vendor/share.js/src/fonts/iconfont.eot create mode 100755 public/themes/default/vendor/share.js/src/fonts/iconfont.svg create mode 100755 public/themes/default/vendor/share.js/src/fonts/iconfont.ttf create mode 100755 public/themes/default/vendor/share.js/src/fonts/iconfont.woff create mode 100755 public/themes/default/vendor/share.js/src/js/share.js delete mode 100755 public/themes/keylime/css/animate.min.css delete mode 100755 public/themes/keylime/css/bootstrap.min.css delete mode 100644 public/themes/keylime/css/font.css delete mode 100755 public/themes/keylime/css/fonts/icomoon.eot delete mode 100755 public/themes/keylime/css/fonts/icomoon.svg delete mode 100755 public/themes/keylime/css/fonts/icomoon.ttf delete mode 100755 public/themes/keylime/css/fonts/icomoon.woff delete mode 100755 public/themes/keylime/css/fonts/icomoon842c.eot delete mode 100755 public/themes/keylime/css/fonts/icomoon842c.svg delete mode 100755 public/themes/keylime/css/fonts/icomoon842c.ttf delete mode 100755 public/themes/keylime/css/fonts/icomoon842c.woff delete mode 100755 public/themes/keylime/css/fonts/icomoond41d.eot delete mode 100644 public/themes/keylime/css/googleCss.css delete mode 100755 public/themes/keylime/css/icons.css delete mode 100755 public/themes/keylime/css/style.css delete mode 100755 public/themes/keylime/css/style1bce.css delete mode 100755 public/themes/keylime/fonts/glyphicons-halflings-regular-2.html delete mode 100755 public/themes/keylime/fonts/glyphicons-halflings-regular-3.html delete mode 100755 public/themes/keylime/fonts/glyphicons-halflings-regular-4.html delete mode 100755 public/themes/keylime/fonts/glyphicons-halflings-regular.html delete mode 100755 public/themes/keylime/fonts/glyphicons-halflings-regulard41d.html delete mode 100755 public/themes/keylime/img/author-red.jpg delete mode 100755 public/themes/keylime/img/author-sans.jpg delete mode 100755 public/themes/keylime/img/author-sing.jpg delete mode 100755 public/themes/keylime/img/bike.jpg delete mode 100755 public/themes/keylime/img/img1.jpg delete mode 100755 public/themes/keylime/img/img2.jpg delete mode 100755 public/themes/keylime/img/img3.jpg delete mode 100755 public/themes/keylime/img/img4.jpg delete mode 100755 public/themes/keylime/img/img5.jpg delete mode 100755 public/themes/keylime/img/img7.jpg delete mode 100644 public/themes/keylime/img/show.jpg delete mode 100755 public/themes/keylime/js/bootstrap.min.js delete mode 100755 public/themes/keylime/js/custom.js delete mode 100755 public/themes/keylime/js/ga.js delete mode 100644 public/themes/keylime/js/html5shiv.js delete mode 100755 public/themes/keylime/js/jquery-1.9.1.min.js delete mode 100755 public/themes/keylime/js/placeholders.min.js delete mode 100644 public/themes/keylime/js/respond.min.js delete mode 100755 public/themes/keylime/js/wow.min.js create mode 100644 resources/views/backend/setting/links/create.blade.php create mode 100644 resources/views/backend/setting/links/edit.blade.php create mode 100644 resources/views/backend/setting/links/index.blade.php create mode 100644 resources/views/themes/default/about.blade.php create mode 100644 resources/views/themes/default/article.blade.php create mode 100644 resources/views/themes/default/category.blade.php create mode 100644 resources/views/themes/default/index.blade.php create mode 100644 resources/views/themes/default/layouts.blade.php create mode 100644 resources/views/themes/default/right.blade.php create mode 100644 resources/views/themes/default/search.blade.php create mode 100644 resources/views/themes/default/searchTag.blade.php delete mode 100644 resources/views/themes/keylime/about.blade.php delete mode 100644 resources/views/themes/keylime/article.blade.php delete mode 100644 resources/views/themes/keylime/category.blade.php delete mode 100644 resources/views/themes/keylime/index.blade.php delete mode 100644 resources/views/themes/keylime/main.blade.php delete mode 100644 resources/views/themes/keylime/menu.blade.php delete mode 100644 resources/views/themes/keylime/search.blade.php delete mode 100644 resources/views/themes/keylime/searchTag.blade.php diff --git a/app/Components/EndaPage.php b/app/Components/EndaPage.php new file mode 100644 index 00000000..537780a1 --- /dev/null +++ b/app/Components/EndaPage.php @@ -0,0 +1,135 @@ + + * Time: 2015.11.12 下åˆ6:16 + */ +namespace App\Components; + +use Illuminate\Contracts\Pagination\Presenter; +use Illuminate\Contracts\Pagination\Paginator as PaginatorContract; +use Illuminate\Pagination\BootstrapThreePresenter; +class EndaPage extends BootstrapThreePresenter implements Presenter +{ + public $paginator; + + public function __construct(PaginatorContract $paginator) + { + $this->paginator = $paginator; + } + + /** + * Determine if the underlying paginator being presented has pages to show. + * + * @return bool + */ + public function hasPages() + { + return $this->paginator->hasPages() && count($this->paginator->items()) > 0; + } + + /** + * Convert the URL window into Bootstrap HTML. + * + * @return string + */ + public function render() + { + if ($this->hasPages()) { + return sprintf( + '', + $this->getPreviousButton('上一页'), + $this->getNextButton('下一页') + ); + } + + return ''; + } + + /** + * 获å–上一页按钮 + * + * @param string $text + * @return string + */ + public function getPreviousButton($text = '«') + { + if ($this->paginator->currentPage() <= 1) { + return $this->getPreviousDisabledTextWrapper($text); + } + + $url = $this->paginator->url( + $this->paginator->currentPage() - 1 + ); + + return $this->getPreviousPageWrapper($url, $text, 'prev'); + } + + + /** + * 获å–上一页li + * @param $url + * @param $page + * @param null $rel + * @return string + */ + protected function getPreviousPageWrapper($url, $page, $rel = null) + { + $rel = is_null($rel) ? '' : ' rel="'.$rel.'"'; + + return ''; + } + + /** + * 获å–下一页按钮 + * + * @param string $text + * @return string + */ + public function getNextButton($text = '»') + { + if (! $this->paginator->hasMorePages()) { + return $this->getDisabledTextWrapper($text); + } + + $url = $this->paginator->url($this->paginator->currentPage() + 1); + + return $this->getNextPageWrapper($url, $text, 'next'); + } + + /** + * 获å–上一页li + * @param $url + * @param $page + * @param null $rel + * @return string + */ + protected function getNextPageWrapper($url, $page, $rel = null) + { + $rel = is_null($rel) ? '' : ' rel="'.$rel.'"'; + + return ''; + } + + + /** + * 获å–上一页选择状æ€ä¸‹çš„li + * + * @param string $text + * @return string + */ + protected function getPreviousDisabledTextWrapper($text) + { + return ''; + } + + /** + * 获å–下一页选择状æ€ä¸‹çš„li + * + * @param string $text + * @return string + */ + protected function getNextDisabledTextWrapper($text) + { + return ''; + } +} diff --git a/app/Http/Controllers/AboutController.php b/app/Http/Controllers/AboutController.php index 60183e84..405def1c 100644 --- a/app/Http/Controllers/AboutController.php +++ b/app/Http/Controllers/AboutController.php @@ -9,35 +9,6 @@ class AboutController extends Controller { - /** - * Display a listing of the resource. - * - * @return Response - */ - public function index() - { - // - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - // - } - - /** - * Store a newly created resource in storage. - * - * @return Response - */ - public function store() - { - // - } /** * Display the specified resource. @@ -61,37 +32,4 @@ public function show($id) ]); } - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return Response - */ - public function edit($id) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param int $id - * @return Response - */ - public function update($id) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return Response - */ - public function destroy($id) - { - // - } - } diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index f7d6d074..7607e7ac 100644 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -1,5 +1,6 @@ $article, - 'hotArticle'=>$hotArticle + $page = new EndaPage($article['page']); + return homeView('index', array( + 'articleList' => $article, + 'page' => $page )); - } - - - /** - * Display the specified resource. - * - * @param int $id - * @return Response - */ - public function show($id) - { - // + } + + + /** + * Display the specified resource. + * + * @param int $id + * @return Response + */ + public function show($id) + { $article = Article::getArticleModelByArticleId($id); - $tags = Tag::getTagModelByTagIds($article->tags); - $authorArticle = Article::getArticleModelByUserId($article->user_id); ArticleStatus::updateViewNumber($id); $data = array( - 'article'=>$article, - 'tags'=>$tags, - 'authorArticle'=>$authorArticle, + 'article' => $article, ); viewInit(); - return homeView('article',$data); - } + return homeView('article', $data); + } } diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index fc84757c..555b446f 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -6,92 +6,31 @@ use App\Model\Article; use App\Model\Category; use Illuminate\Http\Request; - -class CategoryController extends Controller { - - /** - * Display a listing of the resource. - * - * @return Response - */ - public function index() - { - // - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - // - } - - /** - * Store a newly created resource in storage. - * - * @return Response - */ - public function store() - { - // - } - - /** - * Display the specified resource. - * - * @param int $id - * @return Response - */ - public function show($id) - { - // +use App\Components\EndaPage; +class CategoryController extends Controller +{ + + /** + * Display the specified resource. + * + * @param int $id + * @return Response + */ + public function show($id) + { + // viewInit(); $category = Category::getCatInfoModelByAsName($id); - if(empty($category)){ + if (empty($category)) { return redirect(url(route('article.index'))); } - $article = Article::getArticleListByCatId($category->id,10); - - return homeView('category',[ - 'category'=>$category, - 'article'=>$article + $article = Article::getArticleListByCatId($category->id, 10); + $page = new EndaPage($article['page']); + return homeView('category', [ + 'category' => $category, + 'articleList' => $article, + 'page' => $page ]); - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return Response - */ - public function edit($id) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param int $id - * @return Response - */ - public function update($id) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return Response - */ - public function destroy($id) - { - // - } + } } diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index f0d6bf64..c5e7cbb6 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -1,5 +1,6 @@ input('keyword'); - if(empty($keyword)){ + if (empty($keyword)) { return redirect()->route('article.index'); } $article = Article::getArticleListByKeyword($keyword); - + $page = new EndaPage($article['page']); viewInit(); return homeView('search', [ - 'article' => $article, - 'keyword' => $keyword + 'articleList' => $article, + 'keyword' => $keyword, + 'page' => $page ]); } @@ -32,11 +34,12 @@ public function getTag($id) { $article = Article::getArticleListByTagId($id); - + $page = new EndaPage($article['page']); viewInit(); return homeView('searchTag', [ - 'article' => $article, - 'tagName'=> Tag::getTagNameByTagId($id) + 'articleList' => $article, + 'tagName' => Tag::getTagNameByTagId($id), + 'page' => $page ]); } diff --git a/app/Http/Controllers/backend/LinksController.php b/app/Http/Controllers/backend/LinksController.php new file mode 100644 index 00000000..21fb3ba9 --- /dev/null +++ b/app/Http/Controllers/backend/LinksController.php @@ -0,0 +1,125 @@ + Links::all(), + ]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + return backendView('create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(LinksRequest $request) + { + // + try { + if (Links::create($request->all())) { + Notification::success('添加æˆåŠŸ'); + return redirect()->route('backend.links.index'); + } + } catch (\Exception $e) { + return redirect()->back()->withErrors(array('error' => $e->getMessage()))->withInput(); + } + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + // + return backendView('edit', [ + 'link' => Links::find($id), + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(LinksRequest $request, $id) + { + // + try { + if (Links::find($id)->update($request->all())) { + Notification::success('修改æˆåŠŸ'); + } + return redirect()->route('backend.links.index'); + } catch (\Exception $e) { + return redirect()->back()->withErrors(array('error' => $e->getMessage()))->withInput(); + } + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + try { + Links::destroy($id); + Notification::success('删除æˆåŠŸ'); + } catch (\Exception $e) { + Notification::error($e->getMessage()); + } + + + return redirect()->route('backend.links.index'); + } +} diff --git a/app/Http/Controllers/backend/NavigationController.php b/app/Http/Controllers/backend/NavigationController.php index 93e30f21..af30a483 100644 --- a/app/Http/Controllers/backend/NavigationController.php +++ b/app/Http/Controllers/backend/NavigationController.php @@ -23,9 +23,9 @@ public function __construct() */ public function index() { - // + return backendView('index', [ - 'list' => Navigation::getTreeNavigationAll(), + 'list' => Navigation::getNavigationAll(), ]); } @@ -34,14 +34,10 @@ public function index() * * @return Response */ - public function create(Request $request) + public function create() { // - $parentId = $request->input('parentId', 0); - - return backendView('create', [ - 'parent_id' => $parentId - ]); + return backendView('create'); } /** @@ -52,14 +48,13 @@ public function create(Request $request) public function store(NavigationForm $request) { - // try { if (Navigation::create($request->all())) { Notification::success('添加æˆåŠŸ'); return redirect()->route('backend.nav.index'); } } catch (\Exception $e) { - return redirect()->back()->withInput(); + return redirect()->back()->withErrors(array('error' => $e->getMessage()))->withInput(); } } @@ -97,16 +92,12 @@ public function edit($id) */ public function update(NavigationForm $request, $id) { - // try { - $data = $request->all(); - unset($data['_method']); - unset($data['_token']); - if (Navigation::where('id', $id)->update($data)) { + if (Navigation::find($id)->update($request->all())) { Notification::success('修改æˆåŠŸ'); - return redirect()->route('backend.nav.index'); } + return redirect()->route('backend.nav.index'); } catch (\Exception $e) { return redirect()->back()->withErrors(array('error' => $e->getMessage()))->withInput(); } @@ -121,18 +112,15 @@ public function update(NavigationForm $request, $id) */ public function destroy($id) { - // - if (Navigation::isChildNav($id)) { - Notification::error('该导航包å«å­å¯¼èˆªï¼Œè¯·å…ˆåˆ é™¤'); - } else { - try { - Navigation::destroy($id); - Notification::success('删除æˆåŠŸ'); - } catch (\Exception $e) { - Notification::error($e->getMessage()); - } + + try { + Navigation::destroy($id); + Notification::success('删除æˆåŠŸ'); + } catch (\Exception $e) { + Notification::error($e->getMessage()); } + return redirect()->route('backend.nav.index'); } diff --git a/app/Http/Requests/LinksRequest.php b/app/Http/Requests/LinksRequest.php new file mode 100644 index 00000000..bad3ae7a --- /dev/null +++ b/app/Http/Requests/LinksRequest.php @@ -0,0 +1,23 @@ + 'required|integer', + 'name' => 'required', + 'url' => 'required|url', + ]; + } +} diff --git a/app/Http/Requests/NavigationForm.php b/app/Http/Requests/NavigationForm.php index a001af59..f3054d5d 100644 --- a/app/Http/Requests/NavigationForm.php +++ b/app/Http/Requests/NavigationForm.php @@ -14,7 +14,6 @@ public function rules() { return [ - 'parent_id' => 'required|integer', 'sequence' => 'required|integer', 'name' => 'required', 'url' => 'required|url', diff --git a/app/Http/routes.php b/app/Http/routes.php index a3600423..8f96eeb1 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -36,6 +36,7 @@ Route::resource('user','backend\UserController'); Route::resource('comment','backend\CommentController'); Route::resource('nav','backend\NavigationController'); + Route::resource('links','backend\LinksController'); Route::controllers([ 'system'=>'backend\SystemController', 'upload'=>'backend\UploadFileController' diff --git a/app/Model/Article.php b/app/Model/Article.php index d1726975..39b744c7 100644 --- a/app/Model/Article.php +++ b/app/Model/Article.php @@ -204,7 +204,7 @@ public static function getArticleListByKeyword($keyword) $page = Input::get('page', 1); $cacheName = $page . '_' . md5($keyword); - if ($model = empty(Cache::tags(self::REDIS_ARTICLE_PAGE_TAG)->get(self::REDIS_SEARCH_ARTICLE_CACHE . $cacheName))) { + if (empty($model = Cache::tags(self::REDIS_ARTICLE_PAGE_TAG)->get(self::REDIS_SEARCH_ARTICLE_CACHE . $cacheName))) { $model = self::select('id')->where('title', 'like', "%$keyword%")->orderBy('id', 'desc')->simplePaginate(10); Cache::tags(self::REDIS_ARTICLE_PAGE_TAG)->put(self::REDIS_SEARCH_ARTICLE_CACHE . $cacheName, $model, self::$cacheMinutes); } diff --git a/app/Model/Links.php b/app/Model/Links.php new file mode 100644 index 00000000..408121bc --- /dev/null +++ b/app/Model/Links.php @@ -0,0 +1,30 @@ + + */ +namespace App\Model; + +use Illuminate\Database\Eloquent\Model; + +class Links extends Model +{ + // + protected $table; + protected $fillable = [ + 'sequence', + 'name', + 'url' + ]; + + /** + * 获å–链接列表 + * @param int $limit + * @return mixed + */ + public static function getLinkList($limit = 5) + { + return self::orderBy('sequence', 'asc')->limit($limit)->get(); + } + + +} diff --git a/app/Model/Navigation.php b/app/Model/Navigation.php index 0a4a8701..05bfb73d 100644 --- a/app/Model/Navigation.php +++ b/app/Model/Navigation.php @@ -11,47 +11,19 @@ class Navigation extends Model public $child; protected $fillable = [ - 'parent_id', 'sequence', 'name', 'url' ]; - static $navigation = [ - 0 => '顶级导航' - ]; - - public static function getNavigationAll() - { - return self::orderBy('sequence', 'asc')->get(); - } + static $navigation = []; - /** - * 方便以åŽæ‰©å±• - * @return \Illuminate\Database\Eloquent\Collection|static[] - */ - public static function getTreeNavigationAll() + public static function getNavigationAll($limit = 5) { - return tree(self::getNavigationAll()); + return self::orderBy('sequence', 'asc')->limit($limit)->get(); } - /** - * 获å–所有导航 - * @return array - */ - public static function getNavigationArray() - { - if (empty(self::$navigation)) { - $model = self::getTreeNavigationAll(); - if (!empty($model)) { - foreach ($model as $nav) { - self::$navigation[$nav->id] = $nav->html . $nav->name; - } - } - } - return self::$navigation; - } /** * 获得导航å称 @@ -68,45 +40,4 @@ public static function getNavNameByNavId($id) } return isset(self::$navigation[$id]) ? self::$navigation[$id] : ''; } - - /** - * 获å–å­å¯¼èˆª - * @param $id - * @return mixed - */ - public static function getChildNav($id) - { - return self::where('parent_id', $id)->get(); - } - - - /** - * 是å¦åŒ…å«å­çº§ - * @param $id - * @return bool - */ - public static function isChildNav($id) - { - $child = self::where('parent_id', '=', $id)->first(); - return !empty($child) ? true : false; - } - - public static function getNavList() - { - $model = self::getNavigationAll(); - $data = []; - if (!empty($model)) { - foreach ($model as $key => $nav) { - if($nav->parent_id == 0){ - $data[$key] = $nav; - foreach ($model as $navigation) { - if ($navigation->parent_id == $nav->id) { - $data[$key]->child[] = $navigation; - } - } - } - } - } - return $data; - } } diff --git a/composer.json b/composer.json index 2ee44150..7b22587e 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ "App\\": "app/" }, "files": [ - "app/helpers/functions.php" + "helpers/functions.php" ] }, "autoload-dev": { diff --git a/config/app.php b/config/app.php index 68e346e0..072ef223 100644 --- a/config/app.php +++ b/config/app.php @@ -81,7 +81,7 @@ 'key' => env('APP_KEY', 'SomeRandomString'), 'cipher' => MCRYPT_RIJNDAEL_128, - 'themes' => 'keylime', + 'themes' => 'default', /* |-------------------------------------------------------------------------- diff --git a/config/path.php b/config/path.php index 7cc7488a..e2fbeead 100644 --- a/config/path.php +++ b/config/path.php @@ -15,6 +15,7 @@ 'tags'=>CONTENT.'tags.', 'system'=>SYSTEM.'system.', 'navigation'=>SYSTEM.'navigation.', + 'links'=>SYSTEM.'links.', 'user'=>USER, 'comment'=>CONTENT.'comment.' ], diff --git a/database/migrations/2015_11_12_145600_edit_navigation_table.php b/database/migrations/2015_11_12_145600_edit_navigation_table.php new file mode 100644 index 00000000..71152c92 --- /dev/null +++ b/database/migrations/2015_11_12_145600_edit_navigation_table.php @@ -0,0 +1,33 @@ +dropColumn('parent_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('navigation', function (Blueprint $table) { + // + $table->integer('parent_id'); + }); + } +} diff --git a/database/migrations/2015_11_13_023030_create_links_table.php b/database/migrations/2015_11_13_023030_create_links_table.php new file mode 100644 index 00000000..b2fd6987 --- /dev/null +++ b/database/migrations/2015_11_13_023030_create_links_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->integer('sequence'); + $table->string('name'); + $table->string('url'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + Schema::drop('links'); + } +} diff --git a/app/helpers/functions.php b/helpers/functions.php similarity index 93% rename from app/helpers/functions.php rename to helpers/functions.php index 5a9b29eb..c102e1d1 100644 --- a/app/helpers/functions.php +++ b/helpers/functions.php @@ -124,18 +124,16 @@ function strCut($string, $length, $suffix = '...') function viewInit() { $article = app('App\Model\Article'); - $articleStatus = app('App\Model\ArticleStatus'); $tags = app('App\Model\Tag'); $view = app('view'); + $nav = app('App\Model\Navigation'); + $links = app('App\Model\Links'); - $count = array( - 'article' => $article->count(), - 'visit' => $articleStatus->sum('view_number'), - ); - $view->share('recentArticle', $article::getNewsArticle(3)['data']); - $view->share('hotTags', $tags::getHotTags(12)); - $view->share('dataCount', $count); + $view->share('hotArticleList', $article::getHotArticle(3)); + $view->share('tagList', $tags::getHotTags(12)); + $view->share('navList', $nav::getNavigationAll()); + $view->share('linkList', $links::getLinkList()); } } @@ -224,8 +222,8 @@ function systemConfig($field, $default = '') function getArticleImg($image = '') { $imageUrl = 'images/01.jpg'; - if(!empty($image)){ - $imageUrl = 'uploads'.'/'.$image; + if (!empty($image)) { + $imageUrl = 'uploads' . '/' . $image; } return asset($imageUrl); } diff --git a/node_modules/.bin/gulp b/node_modules/.bin/gulp new file mode 120000 index 00000000..5de73328 --- /dev/null +++ b/node_modules/.bin/gulp @@ -0,0 +1 @@ +../gulp/bin/gulp.js \ No newline at end of file diff --git a/node_modules/gulp/CHANGELOG.md b/node_modules/gulp/CHANGELOG.md new file mode 100644 index 00000000..d9846eab --- /dev/null +++ b/node_modules/gulp/CHANGELOG.md @@ -0,0 +1,233 @@ +# gulp changelog + +## 3.9.0 + +- add babel support +- add transpiler fallback support +- add support for some renamed transpilers (livescript, etc) +- add JSCS +- update dependecies (liftoff, interpret) +- documentation tweaks + +## 3.8.11 + +- fix node 0.12/iojs problems +- add node 0.12 and iojs to travis +- update dependencies (liftoff, v8flags) +- documentation tweaks + +## 3.8.10 + +- add link to spanish docs +- update dependencies (archy, semver, mocha, etc) +- documentation tweaks + +## 3.8.9 + +- fix local version undefined output +- add completion for fish shell +- fix powershell completion line splitting +- add support for arbitrary node flags (oops, should have been a minor bump) +- add v8flags dependency +- update dependencies (liftoff) +- documentation tweaks + +## 3.8.8 + +- update dependencies (minimist, tildify) +- documentation tweaks + +## 3.8.7 + +- handle errors a bit better +- update dependencies (gulp-util, semver, etc) +- documentation tweaks + +## 3.8.6 + +- remove executable flag from LICENSE +- update dependencies (chalk, minimist, liftoff, etc) +- documentation tweaks + +## 3.8.5 + +- simplify --silent and --tasks-simple +- fix bug in autocomplete where errors would come out + +## 3.8.4 + +- CLI will use exit code 1 on exit when any task fails during the lifetime of the process + + +## 3.8.3 + +- Tweak error formatting to work better with PluginErrors and strings + +## 3.8.2 + +- add manpage generation + +## 3.8.1 + +- the CLI now adds process.env.INIT_CWD which is the original cwd it was launched from + +## 3.8.0 + +- update vinyl-fs + - gulp.src is now a writable passthrough, this means you can use it to add files to your pipeline at any point + - gulp.dest can now take a function to determine the folder + +This is now possible! + +```js +gulp.src('lib/*.js') + .pipe(uglify()) + .pipe(gulp.src('styles/*.css')) + .pipe(gulp.dest(function(file){ + // I don't know, you can do something cool here + return 'build/whatever'; + })); +``` + +## 3.7.0 + +- update vinyl-fs to remove BOM from UTF8 files +- add --tasks-simple flag for plaintext task listings +- updated autocomplete scripts to be simpler and use new --tasks-simple flag +- added support for transpilers via liftoff 0.11 and interpret + - just npm install your compiler (coffee-script for example) and it will work out of the box + +## 3.5.5 + +- update deps +- gulp.dest now support mode option, uses source file mode by default (file.stat.mode) +- use chalk for colors in bin +- update gulp.env deprecation msg to be more helpful + + +## 3.5.2 + +- add -V for version on CLI (unix standard) +- -v is deprecated, use -V +- add -T as an alias for --tasks +- documentation + +## 3.5 + +- added `gulp.watch(globs, tasksArray)` sugar +- remove gulp.taskQueue +- deprecate gulp.run +- deprecate gulp.env +- add engineStrict to prevent people with node < 0.9 from installing + +## 3.4 + +- added `--tasks` that prints out the tree of tasks + deps +- global cli + local install mismatch is no longer fatal +- remove tests for fs stuff +- switch core src, dest, and watch to vinyl-fs +- internal cleaning + +## 3.3.4 + +- `--base` is now `--cwd` + +## 3.3.3 + +- support for `--base` CLI arg to change where the search for gulpfile/`--require`s starts +- support for `--gulpfile` CLI arg to point to a gulpfile specifically + +## 3.3.0 + +- file.contents streams are no longer paused coming out of src +- dest now passes files through before they are empty to fix passing to multiple dests + +## 3.2.4 + +- Bug fix - we didn't have any CLI tests + +## 3.2.3 + +- Update dependencies for bug fixes +- autocomplete stuff in the completion folder + +## 3.2 + +- File object is now [vinyl](https://github.com/wearefractal/vinyl) +- .watch() is now [glob-watcher](https://github.com/wearefractal/glob-watcher) +- Fix CLI -v when no gulpfile found +- gulp-util updated +- Logging moved to CLI bin file + - Will cause double logging if you update global CLI to 3.2 but not local + - Will cause no logging if you update local to 3.1 but not global CLI +- Drop support for < 0.9 + +## 3.1.3 + +- Move isStream and isBuffer to gulp-util + +## 3.1 + +- Move file class to gulp-util + +## 3.0 + +- Ability to pass multiple globs and glob negations to glob-stream +- Breaking change to the way glob-stream works +- File object is now a class +- file.shortened changed to file.relative +- file.cwd added +- Break out getStats to avoid nesting +- Major code reorganization + +## 2.7 + +- Breaking change to the way options are passed to glob-stream +- Introduce new File object to ease pain of computing shortened names (now a getter) + +## 2.4 - 2.6 + +- Moved stuff to gulp-util +- Quit exposing createGlobStream (just use the glob-stream module) +- More logging +- Prettier time durations +- Tons of documentation changes +- gulp.trigger(tasks...) as a through stream + +## 1.2-2.4 (11/12/13) + +- src buffer=false fixed for 0.8 and 0.9 (remember to .resume() on these versions before consuming) +- CLI completely rewritten + - Colorful logging + - Uses local version of gulp to run tasks + - Uses findup to locate gulpfile (so you can run it anywhere in your project) + - chdir to gulpfile directory before loading it + - Correct exit codes on errors +- silent flag added to gulp to disable logging +- Fixes to task orchestration (3rd party) +- Better support for globbed directories (thanks @robrich) + +## 1.2 (10/28/13) + +- Can specify buffer=false on src streams to make file.content a stream +- Can specify read=false on src streams to disable file.content + +## 1.1 (10/21/13) + +- Can specify run callback +- Can specify task dependencies +- Tasks can accept callback or return promise +- `gulp.verbose` exposes run-time internals + +## 1.0 (9/26/13) + +- Specify dependency versions +- Updated docs + +## 0.2 (8/6/13) + +- Rename .files() to .src() and .folder() to .dest() + +## 0.1 (7/18/13) + +- Initial Release diff --git a/node_modules/gulp/LICENSE b/node_modules/gulp/LICENSE new file mode 100644 index 00000000..a64cd85d --- /dev/null +++ b/node_modules/gulp/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2013-2015 Fractal + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/gulp/README.md b/node_modules/gulp/README.md new file mode 100644 index 00000000..eba26acd --- /dev/null +++ b/node_modules/gulp/README.md @@ -0,0 +1,105 @@ +

+ + + +

+ +# gulp +**The streaming build system** + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Support us][gittip-image]][gittip-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] + +## Like what we do? + +[Support us via Gratipay](https://gratipay.com/WeAreFractal/) + +## Documentation + +For a Getting started guide, API docs, recipes, making a plugin, etc. see the [documentation page](/docs/README.md)! + +## Sample `gulpfile.js` + +This file is just a quick sample to give you a taste of what gulp does. + +```js +var gulp = require('gulp'); +var coffee = require('gulp-coffee'); +var concat = require('gulp-concat'); +var uglify = require('gulp-uglify'); +var imagemin = require('gulp-imagemin'); +var sourcemaps = require('gulp-sourcemaps'); +var del = require('del'); + +var paths = { + scripts: ['client/js/**/*.coffee', '!client/external/**/*.coffee'], + images: 'client/img/**/*' +}; + +// Not all tasks need to use streams +// A gulpfile is just another node program and you can use all packages available on npm +gulp.task('clean', function(cb) { + // You can use multiple globbing patterns as you would with `gulp.src` + del(['build'], cb); +}); + +gulp.task('scripts', ['clean'], function() { + // Minify and copy all JavaScript (except vendor scripts) + // with sourcemaps all the way down + return gulp.src(paths.scripts) + .pipe(sourcemaps.init()) + .pipe(coffee()) + .pipe(uglify()) + .pipe(concat('all.min.js')) + .pipe(sourcemaps.write()) + .pipe(gulp.dest('build/js')); +}); + +// Copy all static images +gulp.task('images', ['clean'], function() { + return gulp.src(paths.images) + // Pass in options to the task + .pipe(imagemin({optimizationLevel: 5})) + .pipe(gulp.dest('build/img')); +}); + +// Rerun the task when a file changes +gulp.task('watch', function() { + gulp.watch(paths.scripts, ['scripts']); + gulp.watch(paths.images, ['images']); +}); + +// The default task (called when you run `gulp` from cli) +gulp.task('default', ['watch', 'scripts', 'images']); +``` + +## Incremental Builds + +We recommend these plugins: + +- [gulp-changed](https://github.com/sindresorhus/gulp-changed) - only pass through changed files +- [gulp-cached](https://github.com/wearefractal/gulp-cached) - in-memory file cache, not for operation on sets of files +- [gulp-remember](https://github.com/ahaurw01/gulp-remember) - pairs nicely with gulp-cached +- [gulp-newer](https://github.com/tschaub/gulp-newer) - pass through newer source files only, supports many:1 source:dest + +## Want to contribute? + +Anyone can help make this project better - check out the [Contributing guide](/CONTRIBUTING.md)! + + +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/wearefractal/gulp/trend.png)](https://bitdeli.com/free "Bitdeli Badge") + +[gittip-url]: https://www.gittip.com/WeAreFractal/ +[gittip-image]: http://img.shields.io/gittip/WeAreFractal.svg + +[downloads-image]: http://img.shields.io/npm/dm/gulp.svg +[npm-url]: https://npmjs.org/package/gulp +[npm-image]: http://img.shields.io/npm/v/gulp.svg + +[travis-url]: https://travis-ci.org/gulpjs/gulp +[travis-image]: http://img.shields.io/travis/gulpjs/gulp.svg + +[coveralls-url]: https://coveralls.io/r/gulpjs/gulp +[coveralls-image]: http://img.shields.io/coveralls/gulpjs/gulp/master.svg + +[gitter-url]: https://gitter.im/gulpjs/gulp +[gitter-image]: https://badges.gitter.im/gulpjs/gulp.png diff --git a/node_modules/gulp/bin/gulp.js b/node_modules/gulp/bin/gulp.js new file mode 100755 index 00000000..a5374c11 --- /dev/null +++ b/node_modules/gulp/bin/gulp.js @@ -0,0 +1,212 @@ +#!/usr/bin/env node + +'use strict'; +var gutil = require('gulp-util'); +var prettyTime = require('pretty-hrtime'); +var chalk = require('chalk'); +var semver = require('semver'); +var archy = require('archy'); +var Liftoff = require('liftoff'); +var tildify = require('tildify'); +var interpret = require('interpret'); +var v8flags = require('v8flags'); +var completion = require('../lib/completion'); +var argv = require('minimist')(process.argv.slice(2)); +var taskTree = require('../lib/taskTree'); + +// Set env var for ORIGINAL cwd +// before anything touches it +process.env.INIT_CWD = process.cwd(); + +var cli = new Liftoff({ + name: 'gulp', + completions: completion, + extensions: interpret.jsVariants, + v8flags: v8flags, +}); + +// Exit with 0 or 1 +var failed = false; +process.once('exit', function(code) { + if (code === 0 && failed) { + process.exit(1); + } +}); + +// Parse those args m8 +var cliPackage = require('../package'); +var versionFlag = argv.v || argv.version; +var tasksFlag = argv.T || argv.tasks; +var tasks = argv._; +var toRun = tasks.length ? tasks : ['default']; + +// This is a hold-over until we have a better logging system +// with log levels +var simpleTasksFlag = argv['tasks-simple']; +var shouldLog = !argv.silent && !simpleTasksFlag; + +if (!shouldLog) { + gutil.log = function() {}; +} + +cli.on('require', function(name) { + gutil.log('Requiring external module', chalk.magenta(name)); +}); + +cli.on('requireFail', function(name) { + gutil.log(chalk.red('Failed to load external module'), chalk.magenta(name)); +}); + +cli.on('respawn', function(flags, child) { + var nodeFlags = chalk.magenta(flags.join(', ')); + var pid = chalk.magenta(child.pid); + gutil.log('Node flags detected:', nodeFlags); + gutil.log('Respawned to PID:', pid); +}); + +cli.launch({ + cwd: argv.cwd, + configPath: argv.gulpfile, + require: argv.require, + completion: argv.completion, +}, handleArguments); + +// The actual logic +function handleArguments(env) { + if (versionFlag && tasks.length === 0) { + gutil.log('CLI version', cliPackage.version); + if (env.modulePackage && typeof env.modulePackage.version !== 'undefined') { + gutil.log('Local version', env.modulePackage.version); + } + process.exit(0); + } + + if (!env.modulePath) { + gutil.log( + chalk.red('Local gulp not found in'), + chalk.magenta(tildify(env.cwd)) + ); + gutil.log(chalk.red('Try running: npm install gulp')); + process.exit(1); + } + + if (!env.configPath) { + gutil.log(chalk.red('No gulpfile found')); + process.exit(1); + } + + // Check for semver difference between cli and local installation + if (semver.gt(cliPackage.version, env.modulePackage.version)) { + gutil.log(chalk.red('Warning: gulp version mismatch:')); + gutil.log(chalk.red('Global gulp is', cliPackage.version)); + gutil.log(chalk.red('Local gulp is', env.modulePackage.version)); + } + + // Chdir before requiring gulpfile to make sure + // we let them chdir as needed + if (process.cwd() !== env.cwd) { + process.chdir(env.cwd); + gutil.log( + 'Working directory changed to', + chalk.magenta(tildify(env.cwd)) + ); + } + + // This is what actually loads up the gulpfile + require(env.configPath); + gutil.log('Using gulpfile', chalk.magenta(tildify(env.configPath))); + + var gulpInst = require(env.modulePath); + logEvents(gulpInst); + + process.nextTick(function() { + if (simpleTasksFlag) { + return logTasksSimple(env, gulpInst); + } + if (tasksFlag) { + return logTasks(env, gulpInst); + } + gulpInst.start.apply(gulpInst, toRun); + }); +} + +function logTasks(env, localGulp) { + var tree = taskTree(localGulp.tasks); + tree.label = 'Tasks for ' + chalk.magenta(tildify(env.configPath)); + archy(tree) + .split('\n') + .forEach(function(v) { + if (v.trim().length === 0) { + return; + } + gutil.log(v); + }); +} + +function logTasksSimple(env, localGulp) { + console.log(Object.keys(localGulp.tasks) + .join('\n') + .trim()); +} + +// Format orchestrator errors +function formatError(e) { + if (!e.err) { + return e.message; + } + + // PluginError + if (typeof e.err.showStack === 'boolean') { + return e.err.toString(); + } + + // Normal error + if (e.err.stack) { + return e.err.stack; + } + + // Unknown (string, number, etc.) + return new Error(String(e.err)).stack; +} + +// Wire up logging events +function logEvents(gulpInst) { + + // Total hack due to poor error management in orchestrator + gulpInst.on('err', function() { + failed = true; + }); + + gulpInst.on('task_start', function(e) { + // TODO: batch these + // so when 5 tasks start at once it only logs one time with all 5 + gutil.log('Starting', '\'' + chalk.cyan(e.task) + '\'...'); + }); + + gulpInst.on('task_stop', function(e) { + var time = prettyTime(e.hrDuration); + gutil.log( + 'Finished', '\'' + chalk.cyan(e.task) + '\'', + 'after', chalk.magenta(time) + ); + }); + + gulpInst.on('task_err', function(e) { + var msg = formatError(e); + var time = prettyTime(e.hrDuration); + gutil.log( + '\'' + chalk.cyan(e.task) + '\'', + chalk.red('errored after'), + chalk.magenta(time) + ); + gutil.log(msg); + }); + + gulpInst.on('task_not_found', function(err) { + gutil.log( + chalk.red('Task \'' + err.task + '\' is not in your gulpfile') + ); + gutil.log('Please check the documentation for proper gulpfile formatting'); + process.exit(1); + }); +} diff --git a/node_modules/gulp/completion/README.md b/node_modules/gulp/completion/README.md new file mode 100644 index 00000000..c0e8c913 --- /dev/null +++ b/node_modules/gulp/completion/README.md @@ -0,0 +1,20 @@ +# Completion for gulp +> Thanks to grunt team and Tyler Kellen + +To enable tasks auto-completion in shell you should add `eval "$(gulp --completion=shell)"` in your `.shellrc` file. + +## Bash + +Add `eval "$(gulp --completion=bash)"` to `~/.bashrc`. + +## Zsh + +Add `eval "$(gulp --completion=zsh)"` to `~/.zshrc`. + +## Powershell + +Add `Invoke-Expression ((gulp --completion=powershell) -join [System.Environment]::NewLine)` to `$PROFILE`. + +## Fish + +Add `gulp --completion=fish | source` to `~/.config/fish/config.fish`. diff --git a/node_modules/gulp/completion/bash b/node_modules/gulp/completion/bash new file mode 100644 index 00000000..704c27c1 --- /dev/null +++ b/node_modules/gulp/completion/bash @@ -0,0 +1,27 @@ +#!/bin/bash + +# Borrowed from grunt-cli +# http://gruntjs.com/ +# +# Copyright (c) 2012 Tyler Kellen, contributors +# Licensed under the MIT license. +# https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + +# Usage: +# +# To enable bash completion for gulp, add the following line (minus the +# leading #, which is the bash comment character) to your ~/.bashrc file: +# +# eval "$(gulp --completion=bash)" + +# Enable bash autocompletion. +function _gulp_completions() { + # The currently-being-completed word. + local cur="${COMP_WORDS[COMP_CWORD]}" + #Grab tasks + local compls=$(gulp --tasks-simple) + # Tell complete what stuff to show. + COMPREPLY=($(compgen -W "$compls" -- "$cur")) +} + +complete -o default -F _gulp_completions gulp diff --git a/node_modules/gulp/completion/fish b/node_modules/gulp/completion/fish new file mode 100644 index 00000000..f27f2248 --- /dev/null +++ b/node_modules/gulp/completion/fish @@ -0,0 +1,10 @@ +#!/usr/bin/env fish + +# Usage: +# +# To enable fish completion for gulp, add the following line to +# your ~/.config/fish/config.fish file: +# +# gulp --completion=fish | source + +complete -c gulp -a "(gulp --tasks-simple)" -f diff --git a/node_modules/gulp/completion/powershell b/node_modules/gulp/completion/powershell new file mode 100644 index 00000000..08ec4382 --- /dev/null +++ b/node_modules/gulp/completion/powershell @@ -0,0 +1,61 @@ +# Copyright (c) 2014 Jason Jarrett +# +# Tab completion for the `gulp` +# +# Usage: +# +# To enable powershell completion for gulp you need to be running +# at least PowerShell v3 or greater and add the below to your $PROFILE +# +# Invoke-Expression ((gulp --completion=powershell) -join [System.Environment]::NewLine) +# +# + +$gulp_completion_Process = { + param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) + + + # Load up an assembly to read the gulpfile's sha1 + if(-not $global:GulpSHA1Managed) { + [Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null + $global:GulpSHA1Managed = new-Object System.Security.Cryptography.SHA1Managed + } + + # setup a global (in-memory) cache + if(-not $global:GulpfileShaCache) { + $global:GulpfileShaCache = @{}; + } + + $cache = $global:GulpfileShaCache; + + # Get the gulpfile's sha1 + $sha1gulpFile = (resolve-path gulpfile.js -ErrorAction Ignore | %{ + $file = [System.IO.File]::Open($_.Path, "open", "read") + [string]::join('', ($global:GulpSHA1Managed.ComputeHash($file) | %{ $_.ToString("x2") })) + $file.Dispose() + }) + + # lookup the sha1 for previously cached task lists. + if($cache.ContainsKey($sha1gulpFile)){ + $tasks = $cache[$sha1gulpFile]; + } else { + $tasks = (gulp --tasks-simple).split("`n"); + $cache[$sha1gulpFile] = $tasks; + } + + + $tasks | + where { $_.startswith($commandName) } + Sort-Object | + foreach { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', ('{0}' -f $_) } +} + +if (-not $global:options) { + $global:options = @{ + CustomArgumentCompleters = @{}; + NativeArgumentCompleters = @{} + } +} + +$global:options['NativeArgumentCompleters']['gulp'] = $gulp_completion_Process +$function:tabexpansion2 = $function:tabexpansion2 -replace 'End\r\n{','End { if ($null -ne $options) { $options += $global:options} else {$options = $global:options}' diff --git a/node_modules/gulp/completion/zsh b/node_modules/gulp/completion/zsh new file mode 100644 index 00000000..8169b22d --- /dev/null +++ b/node_modules/gulp/completion/zsh @@ -0,0 +1,25 @@ +#!/bin/zsh + +# Borrowed from grunt-cli +# http://gruntjs.com/ +# +# Copyright (c) 2012 Tyler Kellen, contributors +# Licensed under the MIT license. +# https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT + +# Usage: +# +# To enable zsh completion for gulp, add the following line (minus the +# leading #, which is the zsh comment character) to your ~/.zshrc file: +# +# eval "$(gulp --completion=zsh)" + +# Enable zsh autocompletion. +function _gulp_completion() { + # Grab tasks + compls=$(gulp --tasks-simple) + completions=(${=compls}) + compadd -- $completions +} + +compdef _gulp_completion gulp diff --git a/node_modules/gulp/index.js b/node_modules/gulp/index.js new file mode 100644 index 00000000..42bc69b3 --- /dev/null +++ b/node_modules/gulp/index.js @@ -0,0 +1,63 @@ +'use strict'; + +var util = require('util'); +var Orchestrator = require('orchestrator'); +var gutil = require('gulp-util'); +var deprecated = require('deprecated'); +var vfs = require('vinyl-fs'); + +function Gulp() { + Orchestrator.call(this); +} +util.inherits(Gulp, Orchestrator); + +Gulp.prototype.task = Gulp.prototype.add; +Gulp.prototype.run = function() { + // `run()` is deprecated as of 3.5 and will be removed in 4.0 + // Use task dependencies instead + + // Impose our opinion of "default" tasks onto orchestrator + var tasks = arguments.length ? arguments : ['default']; + + this.start.apply(this, tasks); +}; + +Gulp.prototype.src = vfs.src; +Gulp.prototype.dest = vfs.dest; +Gulp.prototype.watch = function(glob, opt, fn) { + if (typeof opt === 'function' || Array.isArray(opt)) { + fn = opt; + opt = null; + } + + // Array of tasks given + if (Array.isArray(fn)) { + return vfs.watch(glob, opt, function() { + this.start.apply(this, fn); + }.bind(this)); + } + + return vfs.watch(glob, opt, fn); +}; + +// Let people use this class from our instance +Gulp.prototype.Gulp = Gulp; + +// Deprecations +deprecated.field('gulp.env has been deprecated. ' + + 'Use your own CLI parser instead. ' + + 'We recommend using yargs or minimist.', + console.warn, + Gulp.prototype, + 'env', + gutil.env +); + +Gulp.prototype.run = deprecated.method('gulp.run() has been deprecated. ' + + 'Use task dependencies or gulp.watch task triggering instead.', + console.warn, + Gulp.prototype.run +); + +var inst = new Gulp(); +module.exports = inst; diff --git a/node_modules/gulp/lib/completion.js b/node_modules/gulp/lib/completion.js new file mode 100644 index 00000000..7000250b --- /dev/null +++ b/node_modules/gulp/lib/completion.js @@ -0,0 +1,22 @@ +'use strict'; + +var fs = require('fs'); +var path = require('path'); + +module.exports = function(name) { + if (typeof name !== 'string') { + throw new Error('Missing completion type'); + } + var file = path.join(__dirname, '../completion', name); + try { + console.log(fs.readFileSync(file, 'utf8')); + process.exit(0); + } catch (err) { + console.log( + 'echo "gulp autocompletion rules for', + '\'' + name + '\'', + 'not found"' + ); + process.exit(5); + } +}; diff --git a/node_modules/gulp/lib/taskTree.js b/node_modules/gulp/lib/taskTree.js new file mode 100644 index 00000000..accb1a77 --- /dev/null +++ b/node_modules/gulp/lib/taskTree.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports = function(tasks) { + return Object.keys(tasks) + .reduce(function(prev, task) { + prev.nodes.push({ + label: task, + nodes: tasks[task].dep, + }); + return prev; + }, { + nodes: [], + }); +}; diff --git a/node_modules/gulp/node_modules/.bin/semver b/node_modules/gulp/node_modules/.bin/semver new file mode 120000 index 00000000..317eb293 --- /dev/null +++ b/node_modules/gulp/node_modules/.bin/semver @@ -0,0 +1 @@ +../semver/bin/semver \ No newline at end of file diff --git a/node_modules/gulp/node_modules/archy/.travis.yml b/node_modules/gulp/node_modules/archy/.travis.yml new file mode 100644 index 00000000..895dbd36 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/.travis.yml @@ -0,0 +1,4 @@ +language: node_js +node_js: + - 0.6 + - 0.8 diff --git a/node_modules/gulp/node_modules/archy/LICENSE b/node_modules/gulp/node_modules/archy/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/gulp/node_modules/archy/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/archy/examples/beep.js b/node_modules/gulp/node_modules/archy/examples/beep.js new file mode 100644 index 00000000..9c070479 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/examples/beep.js @@ -0,0 +1,24 @@ +var archy = require('../'); +var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); diff --git a/node_modules/gulp/node_modules/archy/examples/multi_line.js b/node_modules/gulp/node_modules/archy/examples/multi_line.js new file mode 100644 index 00000000..8afdfada --- /dev/null +++ b/node_modules/gulp/node_modules/archy/examples/multi_line.js @@ -0,0 +1,25 @@ +var archy = require('../'); + +var s = archy({ + label : 'beep\none\ntwo', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O\nwheee', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny\nmeat' ] + }, + 'creature' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); diff --git a/node_modules/gulp/node_modules/archy/index.js b/node_modules/gulp/node_modules/archy/index.js new file mode 100644 index 00000000..869d64e6 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/index.js @@ -0,0 +1,35 @@ +module.exports = function archy (obj, prefix, opts) { + if (prefix === undefined) prefix = ''; + if (!opts) opts = {}; + var chr = function (s) { + var chars = { + '│' : '|', + '└' : '`', + '├' : '+', + '─' : '-', + '┬' : '-' + }; + return opts.unicode === false ? chars[s] : s; + }; + + if (typeof obj === 'string') obj = { label : obj }; + + var nodes = obj.nodes || []; + var lines = (obj.label || '').split('\n'); + var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' '; + + return prefix + + lines.join(splitter) + '\n' + + nodes.map(function (node, ix) { + var last = ix === nodes.length - 1; + var more = node.nodes && node.nodes.length; + var prefix_ = prefix + (last ? ' ' : chr('│')) + ' '; + + return prefix + + (last ? chr('└') : chr('├')) + chr('─') + + (more ? chr('┬') : chr('─')) + ' ' + + archy(node, prefix_, opts).slice(prefix.length + 2) + ; + }).join('') + ; +}; diff --git a/node_modules/gulp/node_modules/archy/package.json b/node_modules/gulp/node_modules/archy/package.json new file mode 100644 index 00000000..a98bbfe7 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/package.json @@ -0,0 +1,80 @@ +{ + "name": "archy", + "version": "1.0.0", + "description": "render nested hierarchies `npm ls` style with unicode pipes", + "main": "index.js", + "devDependencies": { + "tap": "~0.3.3", + "tape": "~0.1.1" + }, + "scripts": { + "test": "tap test" + }, + "testling": { + "files": "test/*.js", + "browsers": { + "iexplore": [ + "6.0", + "7.0", + "8.0", + "9.0" + ], + "chrome": [ + "20.0" + ], + "firefox": [ + "10.0", + "15.0" + ], + "safari": [ + "5.1" + ], + "opera": [ + "12.0" + ] + } + }, + "repository": { + "type": "git", + "url": "http://github.com/substack/node-archy.git" + }, + "keywords": [ + "hierarchy", + "npm ls", + "unicode", + "pretty", + "print" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT", + "gitHead": "30223c16191e877bf027b15b12daf077b9b55b84", + "bugs": { + "url": "https://github.com/substack/node-archy/issues" + }, + "homepage": "https://github.com/substack/node-archy", + "_id": "archy@1.0.0", + "_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", + "_from": "archy@>=1.0.0 <2.0.0", + "_npmVersion": "1.4.25", + "_npmUser": { + "name": "substack", + "email": "mail@substack.net" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + } + ], + "dist": { + "shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40", + "tarball": "http://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/archy/readme.markdown b/node_modules/gulp/node_modules/archy/readme.markdown new file mode 100644 index 00000000..ef7a5cf3 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/readme.markdown @@ -0,0 +1,88 @@ +# archy + +Render nested hierarchies `npm ls` style with unicode pipes. + +[![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) + +[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy) + +# example + +``` js +var archy = require('archy'); +var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party\ntime!' + ] + } + ] +}); +console.log(s); +``` + +output + +``` +beep +├── ity +└─┬ boop + ├─┬ o_O + │ ├─┬ oh + │ │ ├── hello + │ │ └── puny + │ └── human + └── party + time! +``` + +# methods + +var archy = require('archy') + +## archy(obj, prefix='', opts={}) + +Return a string representation of `obj` with unicode pipe characters like how +`npm ls` looks. + +`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields. +`'label'` is a string of text to display at a node level and `'nodes'` is an +array of the descendents of the current node. + +If a node is a string, that string will be used as the `'label'` and an empty +array of `'nodes'` will be used. + +`prefix` gets prepended to all the lines and is used by the algorithm to +recursively update. + +If `'label'` has newlines they will be indented at the present indentation level +with the current prefix. + +To disable unicode results in favor of all-ansi output set `opts.unicode` to +`false`. + +# install + +With [npm](http://npmjs.org) do: + +``` +npm install archy +``` + +# license + +MIT diff --git a/node_modules/gulp/node_modules/archy/test/beep.js b/node_modules/gulp/node_modules/archy/test/beep.js new file mode 100644 index 00000000..4ea74f9c --- /dev/null +++ b/node_modules/gulp/node_modules/archy/test/beep.js @@ -0,0 +1,40 @@ +var test = require('tape'); +var archy = require('../'); + +test('beep', function (t) { + var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party!' + ] + } + ] + }); + t.equal(s, [ + 'beep', + '├── ity', + '└─┬ boop', + ' ├─┬ o_O', + ' │ ├─┬ oh', + ' │ │ ├── hello', + ' │ │ └── puny', + ' │ └── human', + ' └── party!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/gulp/node_modules/archy/test/multi_line.js b/node_modules/gulp/node_modules/archy/test/multi_line.js new file mode 100644 index 00000000..2cf2154d --- /dev/null +++ b/node_modules/gulp/node_modules/archy/test/multi_line.js @@ -0,0 +1,45 @@ +var test = require('tape'); +var archy = require('../'); + +test('multi-line', function (t) { + var s = archy({ + label : 'beep\none\ntwo', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O\nwheee', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny\nmeat' ] + }, + 'creature' + ] + }, + 'party\ntime!' + ] + } + ] + }); + t.equal(s, [ + 'beep', + '│ one', + '│ two', + '├── ity', + '└─┬ boop', + ' ├─┬ o_O', + ' │ │ wheee', + ' │ ├─┬ oh', + ' │ │ ├── hello', + ' │ │ └── puny', + ' │ │ meat', + ' │ └── creature', + ' └── party', + ' time!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/gulp/node_modules/archy/test/non_unicode.js b/node_modules/gulp/node_modules/archy/test/non_unicode.js new file mode 100644 index 00000000..7204d332 --- /dev/null +++ b/node_modules/gulp/node_modules/archy/test/non_unicode.js @@ -0,0 +1,40 @@ +var test = require('tape'); +var archy = require('../'); + +test('beep', function (t) { + var s = archy({ + label : 'beep', + nodes : [ + 'ity', + { + label : 'boop', + nodes : [ + { + label : 'o_O', + nodes : [ + { + label : 'oh', + nodes : [ 'hello', 'puny' ] + }, + 'human' + ] + }, + 'party!' + ] + } + ] + }, '', { unicode : false }); + t.equal(s, [ + 'beep', + '+-- ity', + '`-- boop', + ' +-- o_O', + ' | +-- oh', + ' | | +-- hello', + ' | | `-- puny', + ' | `-- human', + ' `-- party!', + '' + ].join('\n')); + t.end(); +}); diff --git a/node_modules/gulp/node_modules/chalk/index.js b/node_modules/gulp/node_modules/chalk/index.js new file mode 100644 index 00000000..2d85a917 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/index.js @@ -0,0 +1,116 @@ +'use strict'; +var escapeStringRegexp = require('escape-string-regexp'); +var ansiStyles = require('ansi-styles'); +var stripAnsi = require('strip-ansi'); +var hasAnsi = require('has-ansi'); +var supportsColor = require('supports-color'); +var defineProps = Object.defineProperties; +var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM); + +function Chalk(options) { + // detect mode if not set manually + this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled; +} + +// use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001b[94m'; +} + +var styles = (function () { + var ret = {}; + + Object.keys(ansiStyles).forEach(function (key) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + ret[key] = { + get: function () { + return build.call(this, this._styles.concat(key)); + } + }; + }); + + return ret; +})(); + +var proto = defineProps(function chalk() {}, styles); + +function build(_styles) { + var builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder.enabled = this.enabled; + // __proto__ is used because we must return a function, but there is + // no way to create a function with a different prototype. + /* eslint-disable no-proto */ + builder.__proto__ = proto; + + return builder; +} + +function applyStyle() { + // support varags, but simply cast to string in case there's only one arg + var args = arguments; + var argsLen = args.length; + var str = argsLen !== 0 && String(arguments[0]); + + if (argsLen > 1) { + // don't slice `arguments`, it prevents v8 optimizations + for (var a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || !str) { + return str; + } + + var nestedStyles = this._styles; + var i = nestedStyles.length; + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + var originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) { + ansiStyles.dim.open = ''; + } + + while (i--) { + var code = ansiStyles[nestedStyles[i]]; + + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + } + + // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue. + ansiStyles.dim.open = originalDim; + + return str; +} + +function init() { + var ret = {}; + + Object.keys(styles).forEach(function (name) { + ret[name] = { + get: function () { + return build.call(this, [name]); + } + }; + }); + + return ret; +} + +defineProps(Chalk.prototype, init()); + +module.exports = new Chalk(); +module.exports.styles = ansiStyles; +module.exports.hasColor = hasAnsi; +module.exports.stripColor = stripAnsi; +module.exports.supportsColor = supportsColor; diff --git a/node_modules/gulp/node_modules/chalk/license b/node_modules/gulp/node_modules/chalk/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js new file mode 100644 index 00000000..78945278 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/index.js @@ -0,0 +1,65 @@ +'use strict'; + +function assembleStyles () { + var styles = { + modifiers: { + reset: [0, 0], + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + colors: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColors: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; + + // fix humans + styles.colors.grey = styles.colors.gray; + + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; + + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; + + styles[styleName] = group[styleName] = { + open: '\u001b[' + style[0] + 'm', + close: '\u001b[' + style[1] + 'm' + }; + }); + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); + + return styles; +} + +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json new file mode 100644 index 00000000..962e7743 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/package.json @@ -0,0 +1,80 @@ +{ + "name": "ansi-styles", + "version": "2.1.0", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/chalk/ansi-styles" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "devDependencies": { + "mocha": "*" + }, + "gitHead": "18421cbe4a2d93359ec2599a894f704be126d066", + "bugs": { + "url": "https://github.com/chalk/ansi-styles/issues" + }, + "homepage": "https://github.com/chalk/ansi-styles", + "_id": "ansi-styles@2.1.0", + "_shasum": "990f747146927b559a932bf92959163d60c0d0e2", + "_from": "ansi-styles@>=2.1.0 <3.0.0", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + }, + "dist": { + "shasum": "990f747146927b559a932bf92959163d60c0d0e2", + "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md new file mode 100644 index 00000000..3f933f61 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/ansi-styles/readme.md @@ -0,0 +1,86 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + +![](screenshot.png) + + +## Install + +``` +$ npm install --save ansi-styles +``` + + +## Usage + +```js +var ansi = require('ansi-styles'); + +console.log(ansi.green.open + 'Hello world!' + ansi.green.close); +``` + + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` + + +## Advanced usage + +By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `ansi.modifiers` +- `ansi.colors` +- `ansi.bgColors` + + +###### Example + +```js +console.log(ansi.colors.green.open); +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js new file mode 100644 index 00000000..ac6572ca --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/index.js @@ -0,0 +1,11 @@ +'use strict'; + +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + +module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); +}; diff --git a/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json new file mode 100644 index 00000000..749f5ded --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/package.json @@ -0,0 +1,70 @@ +{ + "name": "escape-string-regexp", + "version": "1.0.3", + "description": "Escape RegExp special characters", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/escape-string-regexp" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "http://sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.8.0" + }, + "scripts": { + "test": "mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "regex", + "regexp", + "re", + "regular", + "expression", + "escape", + "string", + "str", + "special", + "characters" + ], + "devDependencies": { + "mocha": "*" + }, + "gitHead": "1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b", + "bugs": { + "url": "https://github.com/sindresorhus/escape-string-regexp/issues" + }, + "homepage": "https://github.com/sindresorhus/escape-string-regexp", + "_id": "escape-string-regexp@1.0.3", + "_shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5", + "_from": "escape-string-regexp@>=1.0.2 <2.0.0", + "_npmVersion": "2.1.16", + "_nodeVersion": "0.10.35", + "_npmUser": { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + }, + "dist": { + "shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5", + "tarball": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md new file mode 100644 index 00000000..808a963a --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/escape-string-regexp/readme.md @@ -0,0 +1,27 @@ +# escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp) + +> Escape RegExp special characters + + +## Install + +```sh +$ npm install --save escape-string-regexp +``` + + +## Usage + +```js +var escapeStringRegexp = require('escape-string-regexp'); + +var escapedString = escapeStringRegexp('how much $ for a unicorn?'); +//=> how much \$ for a unicorn\? + +new RegExp(escapedString); +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js new file mode 100644 index 00000000..98fae067 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/index.js @@ -0,0 +1,4 @@ +'use strict'; +var ansiRegex = require('ansi-regex'); +var re = new RegExp(ansiRegex().source); // remove the `g` flag +module.exports = re.test.bind(re); diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js new file mode 100644 index 00000000..4906755b --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function () { + return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; +}; diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json new file mode 100644 index 00000000..f109fc0a --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json @@ -0,0 +1,86 @@ +{ + "name": "ansi-regex", + "version": "2.0.0", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/ansi-regex" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha test/test.js", + "view-supported": "node test/viewCodes.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "mocha": "*" + }, + "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f", + "bugs": { + "url": "https://github.com/sindresorhus/ansi-regex/issues" + }, + "homepage": "https://github.com/sindresorhus/ansi-regex", + "_id": "ansi-regex@2.0.0", + "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", + "_from": "ansi-regex@>=2.0.0 <3.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", + "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md new file mode 100644 index 00000000..1a4894ec --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md @@ -0,0 +1,31 @@ +# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) + +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save ansi-regex +``` + + +## Usage + +```js +var ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001b[4mcake\u001b[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); +//=> ['\u001b[4m', '\u001b[0m'] +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json new file mode 100644 index 00000000..3ad76fc9 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/package.json @@ -0,0 +1,85 @@ +{ + "name": "has-ansi", + "version": "2.0.0", + "description": "Check if a string has ANSI escape codes", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/has-ansi" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "string", + "tty", + "escape", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern", + "has" + ], + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "devDependencies": { + "ava": "0.0.4" + }, + "gitHead": "0722275e1bef139fcd09137da6e5550c3cd368b9", + "bugs": { + "url": "https://github.com/sindresorhus/has-ansi/issues" + }, + "homepage": "https://github.com/sindresorhus/has-ansi", + "_id": "has-ansi@2.0.0", + "_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91", + "_from": "has-ansi@>=2.0.0 <3.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91", + "tarball": "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md new file mode 100644 index 00000000..02bc7c23 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/has-ansi/readme.md @@ -0,0 +1,36 @@ +# has-ansi [![Build Status](https://travis-ci.org/sindresorhus/has-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/has-ansi) + +> Check if a string has [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save has-ansi +``` + + +## Usage + +```js +var hasAnsi = require('has-ansi'); + +hasAnsi('\u001b[4mcake\u001b[0m'); +//=> true + +hasAnsi('cake'); +//=> false +``` + + +## Related + +- [has-ansi-cli](https://github.com/sindresorhus/has-ansi-cli) - CLI for this module +- [strip-ansi](https://github.com/sindresorhus/strip-ansi) - Strip ANSI escape codes +- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes +- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js new file mode 100644 index 00000000..099480fb --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/index.js @@ -0,0 +1,6 @@ +'use strict'; +var ansiRegex = require('ansi-regex')(); + +module.exports = function (str) { + return typeof str === 'string' ? str.replace(ansiRegex, '') : str; +}; diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js new file mode 100644 index 00000000..4906755b --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function () { + return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; +}; diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json new file mode 100644 index 00000000..f109fc0a --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json @@ -0,0 +1,86 @@ +{ + "name": "ansi-regex", + "version": "2.0.0", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/ansi-regex" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha test/test.js", + "view-supported": "node test/viewCodes.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "mocha": "*" + }, + "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f", + "bugs": { + "url": "https://github.com/sindresorhus/ansi-regex/issues" + }, + "homepage": "https://github.com/sindresorhus/ansi-regex", + "_id": "ansi-regex@2.0.0", + "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", + "_from": "ansi-regex@>=2.0.0 <3.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107", + "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md new file mode 100644 index 00000000..1a4894ec --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md @@ -0,0 +1,31 @@ +# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex) + +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save ansi-regex +``` + + +## Usage + +```js +var ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001b[4mcake\u001b[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); +//=> ['\u001b[4m', '\u001b[0m'] +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json new file mode 100644 index 00000000..b2d95248 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/package.json @@ -0,0 +1,85 @@ +{ + "name": "strip-ansi", + "version": "3.0.0", + "description": "Strip ANSI escape codes", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sindresorhus/strip-ansi" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "strip", + "trim", + "remove", + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "devDependencies": { + "ava": "0.0.4" + }, + "gitHead": "3f05b9810e1438f946e2eb84ee854cc00b972e9e", + "bugs": { + "url": "https://github.com/sindresorhus/strip-ansi/issues" + }, + "homepage": "https://github.com/sindresorhus/strip-ansi", + "_id": "strip-ansi@3.0.0", + "_shasum": "7510b665567ca914ccb5d7e072763ac968be3724", + "_from": "strip-ansi@>=3.0.0 <4.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "7510b665567ca914ccb5d7e072763ac968be3724", + "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md new file mode 100644 index 00000000..76091512 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/strip-ansi/readme.md @@ -0,0 +1,33 @@ +# strip-ansi [![Build Status](https://travis-ci.org/sindresorhus/strip-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-ansi) + +> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save strip-ansi +``` + + +## Usage + +```js +var stripAnsi = require('strip-ansi'); + +stripAnsi('\u001b[4mcake\u001b[0m'); +//=> 'cake' +``` + + +## Related + +- [strip-ansi-cli](https://github.com/sindresorhus/strip-ansi-cli) - CLI for this module +- [has-ansi](https://github.com/sindresorhus/has-ansi) - Check if a string has ANSI escape codes +- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes +- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js new file mode 100644 index 00000000..4346e272 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/index.js @@ -0,0 +1,50 @@ +'use strict'; +var argv = process.argv; + +var terminator = argv.indexOf('--'); +var hasFlag = function (flag) { + flag = '--' + flag; + var pos = argv.indexOf(flag); + return pos !== -1 && (terminator !== -1 ? pos < terminator : true); +}; + +module.exports = (function () { + if ('FORCE_COLOR' in process.env) { + return true; + } + + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + return false; + } + + if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + return true; + } + + if (process.stdout && !process.stdout.isTTY) { + return false; + } + + if (process.platform === 'win32') { + return true; + } + + if ('COLORTERM' in process.env) { + return true; + } + + if (process.env.TERM === 'dumb') { + return false; + } + + if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { + return true; + } + + return false; +})(); diff --git a/node_modules/gulp/node_modules/chalk/node_modules/supports-color/license b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json new file mode 100644 index 00000000..36ef8614 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/package.json @@ -0,0 +1,79 @@ +{ + "name": "supports-color", + "version": "2.0.0", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/chalk/supports-color" + }, + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + } + ], + "engines": { + "node": ">=0.8.0" + }, + "scripts": { + "test": "mocha" + }, + "files": [ + "index.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect" + ], + "devDependencies": { + "mocha": "*", + "require-uncached": "^1.0.2" + }, + "gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588", + "bugs": { + "url": "https://github.com/chalk/supports-color/issues" + }, + "homepage": "https://github.com/chalk/supports-color", + "_id": "supports-color@2.0.0", + "_shasum": "535d045ce6b6363fa40117084629995e9df324c7", + "_from": "supports-color@>=2.0.0 <3.0.0", + "_npmVersion": "2.11.2", + "_nodeVersion": "0.12.5", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "535d045ce6b6363fa40117084629995e9df324c7", + "tarball": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md new file mode 100644 index 00000000..b4761f1e --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/node_modules/supports-color/readme.md @@ -0,0 +1,36 @@ +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) + +> Detect whether a terminal supports color + + +## Install + +``` +$ npm install --save supports-color +``` + + +## Usage + +```js +var supportsColor = require('supports-color'); + +if (supportsColor) { + console.log('Terminal supports color'); +} +``` + +It obeys the `--color` and `--no-color` CLI flags. + +For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`. + + +## Related + +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/gulp/node_modules/chalk/package.json b/node_modules/gulp/node_modules/chalk/package.json new file mode 100644 index 00000000..a6120d20 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/package.json @@ -0,0 +1,103 @@ +{ + "name": "chalk", + "version": "1.1.1", + "description": "Terminal string styling done right. Much color.", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/chalk.git" + }, + "maintainers": [ + { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + { + "name": "jbnicolai", + "email": "jappelman@xebia.com" + }, + { + "name": "unicorn", + "email": "sindresorhus+unicorn@gmail.com" + } + ], + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && mocha", + "bench": "matcha benchmark.js", + "coverage": "nyc npm test && nyc report", + "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls" + }, + "files": [ + "index.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^2.1.0", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "devDependencies": { + "coveralls": "^2.11.2", + "matcha": "^0.6.0", + "mocha": "*", + "nyc": "^3.0.0", + "require-uncached": "^1.0.2", + "resolve-from": "^1.0.0", + "semver": "^4.3.3", + "xo": "*" + }, + "xo": { + "envs": [ + "node", + "mocha" + ] + }, + "gitHead": "8b554e254e89c85c1fd04dcc444beeb15824e1a5", + "bugs": { + "url": "https://github.com/chalk/chalk/issues" + }, + "homepage": "https://github.com/chalk/chalk#readme", + "_id": "chalk@1.1.1", + "_shasum": "509afb67066e7499f7eb3535c77445772ae2d019", + "_from": "chalk@>=1.0.0 <2.0.0", + "_npmVersion": "2.13.5", + "_nodeVersion": "0.12.7", + "_npmUser": { + "name": "sindresorhus", + "email": "sindresorhus@gmail.com" + }, + "dist": { + "shasum": "509afb67066e7499f7eb3535c77445772ae2d019", + "tarball": "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "readme": "ERROR: No README data found!" +} diff --git a/node_modules/gulp/node_modules/chalk/readme.md b/node_modules/gulp/node_modules/chalk/readme.md new file mode 100644 index 00000000..5cf111e3 --- /dev/null +++ b/node_modules/gulp/node_modules/chalk/readme.md @@ -0,0 +1,213 @@ +

+
+
+ chalk +
+
+
+

+ +> Terminal string styling done right + +[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) +[![Coverage Status](https://coveralls.io/repos/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/r/chalk/chalk?branch=master) +[![](http://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) + + +[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough. + +**Chalk is a clean and focused alternative.** + +![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png) + + +## Why + +- Highly performant +- Doesn't extend `String.prototype` +- Expressive API +- Ability to nest styles +- Clean and focused +- Auto-detects color support +- Actively maintained +- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015 + + +## Install + +``` +$ npm install --save chalk +``` + + +## Usage + +Chalk comes with an easy to use composable API where you just chain and nest the styles you want. + +```js +var chalk = require('chalk'); + +// style a string +chalk.blue('Hello world!'); + +// combine styled and normal strings +chalk.blue('Hello') + 'World' + chalk.red('!'); + +// compose multiple styles using the chainable API +chalk.blue.bgRed.bold('Hello world!'); + +// pass in multiple arguments +chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'); + +// nest styles +chalk.red('Hello', chalk.underline.bgBlue('world') + '!'); + +// nest styles of the same type even (color, underline, background) +chalk.green( + 'I am a green line ' + + chalk.blue.underline.bold('with a blue substring') + + ' that becomes green again!' +); +``` + +Easily define your own themes. + +```js +var chalk = require('chalk'); +var error = chalk.bold.red; +console.log(error('Error!')); +``` + +Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data). + +```js +var name = 'Sindre'; +console.log(chalk.green('Hello %s'), name); +//=> Hello Sindre +``` + + +## API + +### chalk.` + + + + +``` + +You can also mix preprocessor languages in the component file: + +``` html +// app.vue + + + + + +``` + +And you can import using the `src` attribute (note you'll have to save the vue file to trigger a rebuild since the imported file is not tracked by Browserify as a dependency): + +``` html + +``` + +Under the hood, the transform will: + +- extract the styles, compile them and insert them with the `insert-css` module. +- extract the template, compile it and add it to your exported options. + +You can `require()` other stuff in the ` + +``` + +#### ES2015 by Default + +Vueify 4.0+ automatically transforms the JavaScript in your `*.vue` components using Babel. Write ES2015 today! + +The default Babel options used for Vue.js components are: + +``` js +{ + // use babel-runtime library for common helpers + optional: ['runtime'], + // use loose mode for faster builds + loose: 'all', + // disable non-standard stuff (e.g. JSX) + nonStandard: false +} +``` + +If you wish to mofidy this, you can add a `vue.config.js` and configure the option for `babel`: + +``` js +// vue.config.js +module.exports = function (vueify) { + vueify.option('babel', { + stage: 0, // use all the fancy stage 0 features! + optional: ['runtime'], + loose: 'all', + nonStandard: false + }) +} +``` + +## Enabling Pre-Processors + +You need to install the corresponding node modules to enable the compilation. e.g. to get stylus compiled in your Vue components, do `npm install stylus --save-dev`. + +These are the built-in preprocessors: + +- stylus +- less +- scss (via `node-sass`) +- jade +- coffee-script +- myth + +## Pre-Processor Configuration + +Create a `vue.config.js` file at where your build command is run (usually y the root level of your project): + +``` js +module.exports = function (vueify) { + + // configure the options for a built-in language + vueify.option('sass', { + includePaths: [...] + }) + + // register a custom compile function for diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/custom.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/custom.vue new file mode 100644 index 00000000..e5a016e7 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/custom.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/empty.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/empty.vue new file mode 100644 index 00000000..e69de29b diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/jade.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/jade.vue new file mode 100644 index 00000000..5b44d98b --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/jade.vue @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/less.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/less.vue new file mode 100644 index 00000000..012fa62b --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/less.vue @@ -0,0 +1,17 @@ + diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-scripts.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-scripts.vue new file mode 100644 index 00000000..1ae41197 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-scripts.vue @@ -0,0 +1,7 @@ + + + diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-styles.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-styles.vue new file mode 100644 index 00000000..71496f9f --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple-styles.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple.vue new file mode 100644 index 00000000..1bfbc94a --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/multiple.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/myth.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/myth.vue new file mode 100644 index 00000000..ac1b1333 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/myth.vue @@ -0,0 +1,15 @@ + diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/non-minified.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/non-minified.vue new file mode 100644 index 00000000..0e9ecd03 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/non-minified.vue @@ -0,0 +1,9 @@ + + + diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/sass.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/sass.vue new file mode 100644 index 00000000..43537177 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/sass.vue @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/scoped.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/scoped.vue new file mode 100644 index 00000000..cc336443 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/scoped.vue @@ -0,0 +1,8 @@ + + + diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src.vue b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src.vue new file mode 100644 index 00000000..37d642b2 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src.vue @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src/test.js b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src/test.js new file mode 100644 index 00000000..dce344ec --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/src/test.js @@ -0,0 +1,3 @@ +export default { + el: '#hi' +} diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.html b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.html new file mode 100644 index 00000000..67326d33 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.html @@ -0,0 +1 @@ +

hi

\ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.styl b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.styl new file mode 100644 index 00000000..c6fe2650 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/fixtures/test.styl @@ -0,0 +1,2 @@ +h1 + font-size 12px \ No newline at end of file diff --git a/node_modules/laravel-elixir/node_modules/vueify/test/test.js b/node_modules/laravel-elixir/node_modules/vueify/test/test.js new file mode 100644 index 00000000..f3666b50 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/vueify/test/test.js @@ -0,0 +1,75 @@ +var fs = require('fs') +var path = require('path') +var compiler = require('../lib/compiler') +var assert = require('assert') +var hash = require('hash-sum') + +// test custom transform +compiler.register({ + lang: 'test', + type: 'script', + compile: function (content, cb) { + content = content.replace('not ', '') + cb(null, content) + } +}) + +function read (file) { + return fs.readFileSync(path.resolve(__dirname, file), 'utf-8') +} + +function test (name) { + it(name, function (done) { + var filePath = 'fixtures/' + name + '.vue' + var fileContent = read(filePath) + var expected = read('expects/' + name + '.js') + .replace(/\{\{id\}\}/g, '_v-' + hash(require.resolve('./' + filePath))) + + // test src imports registering dependency + var addDep + var deps + if (name === 'src') { + deps = [] + addDep = function (file) { + deps.push(file) + } + compiler.on('dependency', addDep) + } + + process.env.VUEIFY_TEST = true + process.env.NODE_ENV = name === 'non-minified' + ? 'development' + : 'production' + + compiler.compile( + fileContent, + path.resolve(__dirname, filePath), + function (err, result) { + assert(!err) + try { + assert.equal(result, expected) + } catch (e) { + console.log('expected:\n\n' + expected + '\n') + console.log('result:\n\n' + result + '\n') + assert(!e) + } + + if (name === 'src') { + compiler.removeListener('dependency', addDep) + assert.equal(deps[0], __dirname + '/fixtures/test.html') + assert.equal(deps[1], __dirname + '/fixtures/test.styl') + assert.equal(deps[2], __dirname + '/fixtures/src/test.js') + } + + done() + } + ) + }) +} + +describe('Vueify compiler', function () { + fs.readdirSync(path.resolve(__dirname, 'expects')) + .forEach(function (file) { + test(path.basename(file, '.js')) + }) +}) diff --git a/node_modules/laravel-elixir/node_modules/watchify/.npmignore b/node_modules/laravel-elixir/node_modules/watchify/.npmignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/.npmignore @@ -0,0 +1 @@ +node_modules diff --git a/node_modules/laravel-elixir/node_modules/watchify/.travis.yml b/node_modules/laravel-elixir/node_modules/watchify/.travis.yml new file mode 100644 index 00000000..d76c6d0e --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/.travis.yml @@ -0,0 +1,6 @@ +sudo: false +language: node_js +node_js: + - "0.10" + - "0.12" + - node diff --git a/node_modules/laravel-elixir/node_modules/watchify/LICENSE b/node_modules/laravel-elixir/node_modules/watchify/LICENSE new file mode 100644 index 00000000..ee27ba4b --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/LICENSE @@ -0,0 +1,18 @@ +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/laravel-elixir/node_modules/watchify/bin/args.js b/node_modules/laravel-elixir/node_modules/watchify/bin/args.js new file mode 100644 index 00000000..ccfdd3f8 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/bin/args.js @@ -0,0 +1,16 @@ +var fromArgs = require('browserify/bin/args'); +var watchify = require('../'); +var defined = require('defined'); +var xtend = require('xtend'); + +module.exports = function (args) { + var b = fromArgs(args, watchify.args); + + var opts = {}; + var ignoreWatch = defined(b.argv['ignore-watch'], b.argv.iw); + if (ignoreWatch) { + opts.ignoreWatch = ignoreWatch; + } + + return watchify(b, xtend(opts, b.argv)); +}; diff --git a/node_modules/laravel-elixir/node_modules/watchify/bin/cmd.js b/node_modules/laravel-elixir/node_modules/watchify/bin/cmd.js new file mode 100755 index 00000000..942ac6c9 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/bin/cmd.js @@ -0,0 +1,64 @@ +#!/usr/bin/env node + +var path = require('path'); +var outpipe = require('outpipe'); +var through = require('through2'); + +var fromArgs = require('./args.js'); +var w = fromArgs(process.argv.slice(2)); + +var outfile = w.argv.o || w.argv.outfile; +var verbose = w.argv.v || w.argv.verbose; + +if (w.argv.version) { + console.error('watchify v' + require('../package.json').version + + ' (in ' + path.resolve(__dirname, '..') + ')' + ); + console.error('browserify v' + require('browserify/package.json').version + + ' (in ' + path.dirname(require.resolve('browserify')) + ')' + ); + return; +} + +if (!outfile) { + console.error('You MUST specify an outfile with -o.'); + process.exit(1); +} + +var bytes, time; +w.on('bytes', function (b) { bytes = b }); +w.on('time', function (t) { time = t }); + +w.on('update', bundle); +bundle(); + +function bundle () { + var didError = false; + var writer = through(); + var wb = w.bundle(); + + w.pipeline.get('pack').once('readable', function() { + wb.pipe(writer); + }); + + wb.on('error', function (err) { + console.error(String(err)); + didError = true; + writer.end('console.error(' + JSON.stringify(String(err)) + ');'); + }); + + writer.once('readable', function() { + var outStream = outpipe(outfile); + outStream.on('error', function (err) { + console.error(err); + }); + outStream.on('exit', function () { + if (verbose && !didError) { + console.error(bytes + ' bytes written to ' + outfile + + ' (' + (time / 1000).toFixed(2) + ' seconds)' + ); + } + }); + writer.pipe(outStream); + }); +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/example/files/main.js b/node_modules/laravel-elixir/node_modules/watchify/example/files/main.js new file mode 100644 index 00000000..a01098c1 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/example/files/main.js @@ -0,0 +1,2 @@ +var one = require('./one'); +console.log(one(5)); diff --git a/node_modules/laravel-elixir/node_modules/watchify/example/files/one.js b/node_modules/laravel-elixir/node_modules/watchify/example/files/one.js new file mode 100644 index 00000000..75f7df68 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/example/files/one.js @@ -0,0 +1,3 @@ +var two = require('./two'); + +module.exports = function (x) { return x * two(x + 5) }; diff --git a/node_modules/laravel-elixir/node_modules/watchify/example/files/two.js b/node_modules/laravel-elixir/node_modules/watchify/example/files/two.js new file mode 100644 index 00000000..5d48ef2d --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/example/files/two.js @@ -0,0 +1 @@ +module.exports = function (n) { return n * 11 }; diff --git a/node_modules/laravel-elixir/node_modules/watchify/index.js b/node_modules/laravel-elixir/node_modules/watchify/index.js new file mode 100644 index 00000000..0753b9f1 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/index.js @@ -0,0 +1,165 @@ +var through = require('through2'); +var path = require('path'); +var chokidar = require('chokidar'); +var xtend = require('xtend'); +var anymatch = require('anymatch'); + +module.exports = watchify; +module.exports.args = { + cache: {}, packageCache: {} +}; + +function watchify (b, opts) { + if (!opts) opts = {}; + var cache = b._options.cache; + var pkgcache = b._options.packageCache; + var delay = typeof opts.delay === 'number' ? opts.delay : 100; + var changingDeps = {}; + var pending = false; + var updating = false; + + var wopts = {persistent: true}; + if (opts.ignoreWatch) { + var ignored = opts.ignoreWatch !== true + ? opts.ignoreWatch + : '**/node_modules/**'; + } + if (opts.poll || typeof opts.poll === 'number') { + wopts.usePolling = true; + wopts.interval = opts.poll !== true + ? opts.poll + : undefined; + } + + if (cache) { + b.on('reset', collect); + collect(); + } + + function collect () { + b.pipeline.get('deps').push(through.obj(function(row, enc, next) { + var file = row.expose ? b._expose[row.id] : row.file; + cache[file] = { + source: row.source, + deps: xtend(row.deps) + }; + this.push(row); + next(); + })); + } + + b.on('file', function (file) { + watchFile(file); + }); + + b.on('package', function (pkg) { + var file = path.join(pkg.__dirname, 'package.json'); + watchFile(file); + if (pkgcache) pkgcache[file] = pkg; + }); + + b.on('reset', reset); + reset(); + + function reset () { + var time = null; + var bytes = 0; + b.pipeline.get('record').on('end', function () { + time = Date.now(); + }); + + b.pipeline.get('wrap').push(through(write, end)); + function write (buf, enc, next) { + bytes += buf.length; + this.push(buf); + next(); + } + function end () { + var delta = Date.now() - time; + b.emit('time', delta); + b.emit('bytes', bytes); + b.emit('log', bytes + ' bytes written (' + + (delta / 1000).toFixed(2) + ' seconds)' + ); + this.push(null); + } + } + + var fwatchers = {}; + var fwatcherFiles = {}; + var ignoredFiles = {}; + + b.on('transform', function (tr, mfile) { + tr.on('file', function (dep) { + watchFile(mfile, dep); + }); + }); + b.on('bundle', function (bundle) { + updating = true; + bundle.on('error', onend); + bundle.on('end', onend); + function onend () { updating = false } + }); + + function watchFile (file, dep) { + dep = dep || file; + if (ignored) { + if (!ignoredFiles.hasOwnProperty(file)) { + ignoredFiles[file] = anymatch(ignored, file); + } + if (ignoredFiles[file]) return; + } + if (!fwatchers[file]) fwatchers[file] = []; + if (!fwatcherFiles[file]) fwatcherFiles[file] = []; + if (fwatcherFiles[file].indexOf(dep) >= 0) return; + + var w = b._watcher(dep, wopts); + w.setMaxListeners(0); + w.on('error', b.emit.bind(b, 'error')); + w.on('change', function () { + invalidate(file); + }); + fwatchers[file].push(w); + fwatcherFiles[file].push(dep); + } + + function invalidate (id) { + if (cache) delete cache[id]; + if (pkgcache) delete pkgcache[id]; + changingDeps[id] = true; + + if (!updating && fwatchers[id]) { + fwatchers[id].forEach(function (w) { + w.close(); + }); + delete fwatchers[id]; + delete fwatcherFiles[id]; + } + + // wait for the disk/editor to quiet down first: + if (pending) clearTimeout(pending); + pending = setTimeout(notify, delay); + } + + function notify () { + if (updating) { + pending = setTimeout(notify, delay); + } else { + pending = false; + b.emit('update', Object.keys(changingDeps)); + changingDeps = {}; + } + } + + b.close = function () { + Object.keys(fwatchers).forEach(function (id) { + fwatchers[id].forEach(function (w) { w.close() }); + }); + }; + + b._watcher = function (file, opts) { + return chokidar.watch(file, opts); + }; + + return b; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/package.json b/node_modules/laravel-elixir/node_modules/watchify/package.json new file mode 100644 index 00000000..5c38b07e --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/package.json @@ -0,0 +1,81 @@ +{ + "name": "watchify", + "version": "3.6.0", + "description": "watch mode for browserify builds", + "main": "index.js", + "bin": { + "watchify": "bin/cmd.js" + }, + "dependencies": { + "anymatch": "^1.3.0", + "browserify": "^12.0.1", + "chokidar": "^1.0.0", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "devDependencies": { + "brfs": "^1.0.1", + "mkdirp": "~0.5.1", + "split": "^1.0.0", + "tape": "^4.2.2", + "uglify-js": "^2.5.0", + "win-spawn": "^2.0.0" + }, + "scripts": { + "test": "tape test/*.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/substack/watchify.git" + }, + "homepage": "https://github.com/substack/watchify", + "keywords": [ + "browserify", + "browserify-tool", + "watch", + "bundle", + "build", + "browser" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT", + "gitHead": "8a77ac0476d292980fcf2fb78e5d6c71e711ceb7", + "bugs": { + "url": "https://github.com/substack/watchify/issues" + }, + "_id": "watchify@3.6.0", + "_shasum": "5fe08e9f004b52d6a1c4520abfc71762b5ac62f2", + "_from": "watchify@>=3.2.3 <4.0.0", + "_npmVersion": "2.14.4", + "_nodeVersion": "4.1.2", + "_npmUser": { + "name": "zertosh", + "email": "zertosh@gmail.com" + }, + "maintainers": [ + { + "name": "substack", + "email": "mail@substack.net" + }, + { + "name": "zertosh", + "email": "zertosh@gmail.com" + }, + { + "name": "mafintosh", + "email": "mathiasbuus@gmail.com" + } + ], + "dist": { + "shasum": "5fe08e9f004b52d6a1c4520abfc71762b5ac62f2", + "tarball": "http://registry.npmjs.org/watchify/-/watchify-3.6.0.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/watchify/-/watchify-3.6.0.tgz" +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/readme.markdown b/node_modules/laravel-elixir/node_modules/watchify/readme.markdown new file mode 100644 index 00000000..c277d9e5 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/readme.markdown @@ -0,0 +1,226 @@ +# watchify + +watch mode for [browserify](https://github.com/substack/node-browserify) builds + +[![build status](https://secure.travis-ci.org/substack/watchify.png)](http://travis-ci.org/substack/watchify) + +Update any source file and your browserify bundle will be recompiled on the +spot. + +# example + +``` +$ watchify main.js -o static/bundle.js +``` + +Now as you update files, `static/bundle.js` will be automatically +incrementally rebuilt on the fly. + +The `-o` option can be a file or a shell command (not available on Windows) +that receives piped input: + +``` sh +watchify main.js -o 'exorcist static/bundle.js.map > static/bundle.js' -d +``` + +``` sh +watchify main.js -o 'uglifyjs -cm > static/bundle.min.js' +``` + +You can use `-v` to get more verbose output to show when a file was written and how long the bundling took (in seconds): + +``` +$ watchify browser.js -d -o static/bundle.js -v +610598 bytes written to static/bundle.js (0.23 seconds) +610606 bytes written to static/bundle.js (0.10 seconds) +610597 bytes written to static/bundle.js (0.14 seconds) +610606 bytes written to static/bundle.js (0.08 seconds) +610597 bytes written to static/bundle.js (0.08 seconds) +610597 bytes written to static/bundle.js (0.19 seconds) +``` + +# usage + +Use `watchify` with all the same options as `browserify` except that `-o` (or +`--outfile`) is mandatory. Additionally, there are also: + +``` +Standard Options: + + --outfile=FILE, -o FILE + + This option is required. Write the browserify bundle to this file. If + the file contains the operators `|` or `>`, it will be treated as a + shell command, and the output will be piped to it. + + --verbose, -v [default: false] + + Show when a file was written and how long the bundling took (in + seconds). + + --version + + Show the watchify and browserify versions with their module paths. +``` + +``` +Advanced Options: + + --delay [default: 600] + + Amount of time in milliseconds to wait before emitting an "update" + event after a change. + + --ignore-watch=GLOB, --iw GLOB [default: false] + + Ignore monitoring files for changes that match the pattern. Omitting + the pattern will default to "**/node_modules/**". + + --poll=INTERVAL [default: false] + + Use polling to monitor for changes. Omitting the interval will default + to 100ms. This option is useful if you're watching an NFS volume. +``` + +# methods + +``` js +var watchify = require('watchify'); +``` + +## watchify(b, opts) + +watchify is a browserify [plugin](https://github.com/substack/node-browserify#bpluginplugin-opts), so it can be applied like any other plugin. +However, when creating the browserify instance `b`, **you MUST set the `cache` +and `packageCache` properties**: + +``` js +var b = browserify({ cache: {}, packageCache: {} }); +b.plugin(watchify); +``` + +```js +var b = browserify({ + cache: {}, + packageCache: {}, + plugin: [watchify] +}); +``` + +**By default, watchify doesn't display any output, see [events](https://github.com/substack/watchify#events) for more info.** + +`b` continues to behave like a browserify instance except that it caches file +contents and emits an `'update'` event when a file changes. You should call +`b.bundle()` after the `'update'` event fires to generate a new bundle. +Calling `b.bundle()` extra times past the first time will be much faster due +to caching. + +**Important:** Watchify will not emit `'update'` events until you've called +`w.bundle()` once and completely drained the stream it returns. + +```js +var fs = require('fs'); +var browserify = require('browserify'); +var watchify = require('watchify'); + +var b = browserify({ + entries: ['path/to/entry.js'], + cache: {}, + packageCache: {}, + plugin: [watchify] +}); + +b.on('update', bundle); +bundle(); + +function bundle() { + b.bundle().pipe(fs.createWriteStream('output.js')); +} +``` + +### options + +You can to pass an additional options object as a second parameter of +watchify. Its properties are: + +`opts.delay` is the amount of time in milliseconds to wait before emitting +an "update" event after a change. Defaults to `100`. + +`opts.ignoreWatch` ignores monitoring files for changes. If set to `true`, +then `**/node_modules/**` will be ignored. For other possible values see +Chokidar's [documentation](https://github.com/paulmillr/chokidar#path-filtering) on "ignored". + +`opts.poll` enables polling to monitor for changes. If set to `true`, then +a polling interval of 100ms is used. If set to a number, then that amount of +milliseconds will be the polling interval. For more info see Chokidar's +[documentation](https://github.com/paulmillr/chokidar#performance) on +"usePolling" and "interval". +**This option is useful if you're watching an NFS volume.** + +```js +var b = browserify({ cache: {}, packageCache: {} }); +// watchify defaults: +b.plugin(bundle, { + delay: 100, + ignoreWatch: ['**/node_modules/**'], + poll: false +}); +``` + +## b.close() + +Close all the open watch handles. + +# events + +## b.on('update', function (ids) {}) + +When the bundle changes, emit the array of bundle `ids` that changed. + +## b.on('bytes', function (bytes) {}) + +When a bundle is generated, this event fires with the number of bytes. + +## b.on('time', function (time) {}) + +When a bundle is generated, this event fires with the time it took to create the +bundle in milliseconds. + +## b.on('log', function (msg) {}) + +This event fires after a bundle was created with messages of the form: + +``` +X bytes written (Y seconds) +``` + +with the number of bytes in the bundle X and the time in seconds Y. + +# install + +With [npm](https://npmjs.org) do: + +``` +$ npm install -g watchify +``` + +to get the watchify command and: + +``` +$ npm install watchify +``` + +to get just the library. + +# troubleshooting + +## rebuilds on OS X never trigger + +It may be related to a bug in `fsevents` (see [#250](https://github.com/substack/watchify/issues/205#issuecomment-98672850) +and [stackoverflow](http://stackoverflow.com/questions/26708205/webpack-watch-isnt-compiling-changed-files/28610124#28610124)). +Try the `--poll` flag +and/or renaming the project's directory - that might help. + +# license + +MIT diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api.js b/node_modules/laravel-elixir/node_modules/watchify/test/api.js new file mode 100644 index 00000000..5877b2a3 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api.js @@ -0,0 +1,44 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var file = path.join(tmpdir, 'main.js'); + +mkdirp.sync(tmpdir); +fs.writeFileSync(file, 'console.log(555)'); + +test('api', function (t) { + t.plan(5); + var w = watchify(browserify(file, watchify.args)); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '333\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '555\n'); + setTimeout(function () { + fs.writeFile(file, 'console.log(333)', function (err) { + t.ifError(err); + }); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api_brfs.js b/node_modules/laravel-elixir/node_modules/watchify/test/api_brfs.js new file mode 100644 index 00000000..0078d452 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api_brfs.js @@ -0,0 +1,53 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + lines: path.join(tmpdir, 'lines.txt') +}; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, [ + 'var fs = require("fs");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase());' +].join('\n')); +fs.writeFileSync(files.lines, 'beep\nboop'); + +test('api with brfs', function (t) { + t.plan(5); + var w = watchify(browserify(files.main, watchify.args)); + w.transform('brfs'); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'ROBO-BOOGIE\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'BEEP\nBOOP\n'); + setTimeout(function () { + fs.writeFile(files.lines, 'rObO-bOOgie', function (err) { + t.ifError(err); + }); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch.js b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch.js new file mode 100644 index 00000000..17139a38 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch.js @@ -0,0 +1,60 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch', function (t) { + t.plan(4); + var w = watchify(browserify(files.main, watchify.args), { + ignoreWatch: '**/be*.js' + }); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'beep BOOP ROBOT\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'beep boop robot\n'); + setTimeout(function () { + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_default.js b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_default.js new file mode 100644 index 00000000..9a7a48dc --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_default.js @@ -0,0 +1,60 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch default', function (t) { + t.plan(4); + var w = watchify(browserify(files.main, watchify.args), { + ignoreWatch: true + }); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'BEEP BOOP robot\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'beep boop robot\n'); + setTimeout(function () { + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_multiple.js b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_multiple.js new file mode 100644 index 00000000..91857ef5 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api_ignore_watch_multiple.js @@ -0,0 +1,60 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch multiple paths', function (t) { + t.plan(4); + var w = watchify(browserify(files.main, watchify.args), { + ignoreWatch: ['**/be*.js', '**/robot/*.js'] + }); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'beep BOOP robot\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'beep boop robot\n'); + setTimeout(function () { + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/api_implicit_cache.js b/node_modules/laravel-elixir/node_modules/watchify/test/api_implicit_cache.js new file mode 100644 index 00000000..0f115280 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/api_implicit_cache.js @@ -0,0 +1,44 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var file = path.join(tmpdir, 'main.js'); + +mkdirp.sync(tmpdir); +fs.writeFileSync(file, 'console.log(555)'); + +test('api implicit cache', function (t) { + t.plan(5); + var w = watchify(browserify(file)); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '333\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '555\n'); + setTimeout(function () { + fs.writeFile(file, 'console.log(333)', function (err) { + t.ifError(err); + }); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin.js new file mode 100644 index 00000000..099e87ce --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin.js @@ -0,0 +1,52 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, 'console.log(555)'); + +test('bin', function (t) { + t.plan(4); + var ps = spawn(cmd, [ files.main, '-o', files.bundle, '-v' ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '555\n'); + fs.writeFile(files.main, 'console.log(333)'); + }) + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '333\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_brfs.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_brfs.js new file mode 100644 index 00000000..47b0fcaa --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_brfs.js @@ -0,0 +1,62 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + lines: path.join(tmpdir, 'lines.txt'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, [ + 'var fs = require("fs");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase());' +].join('\n')); +fs.writeFileSync(files.lines, 'beep\nboop'); + +test('bin brfs', function (t) { + t.plan(4); + var ps = spawn(cmd, [ + files.main, + '-t', require.resolve('brfs'), '-v', + '-o', files.bundle + ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'BEEP\nBOOP\n'); + fs.writeFile(files.lines, 'robo-bOOgie'); + }) + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'ROBO-BOOGIE\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch.js new file mode 100644 index 00000000..358090f7 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch.js @@ -0,0 +1,71 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch', function (t) { + t.plan(4); + var ps = spawn(cmd, [ + files.main, + '--ignore-watch', '**/be*.js', + '-o', files.bundle, + '-v' + ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'beep boop robot\n'); + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }); + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'beep BOOP ROBOT\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_default.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_default.js new file mode 100644 index 00000000..f7013488 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_default.js @@ -0,0 +1,71 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch', function (t) { + t.plan(4); + var ps = spawn(cmd, [ + files.main, + '--ignore-watch', + '-o', files.bundle, + '-v' + ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'beep boop robot\n'); + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }); + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'BEEP BOOP robot\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_multiple.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_multiple.js new file mode 100644 index 00000000..37ff91f9 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_ignore_watch_multiple.js @@ -0,0 +1,72 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + robot: path.join(tmpdir, 'node_modules', 'robot', 'index.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.dirname(files.robot)); +fs.writeFileSync(files.main, [ + 'var beep = require("./beep");', + 'var boop = require("./boop");', + 'var robot = require("robot");', + 'console.log(beep + " " + boop + " " + robot);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = "beep";'); +fs.writeFileSync(files.boop, 'module.exports = "boop";'); +fs.writeFileSync(files.robot, 'module.exports = "robot";'); + +test('api ignore watch multiple paths', function (t) { + t.plan(4); + var ps = spawn(cmd, [ + files.main, + '--ignore-watch', '**/be*.js', + '--ignore-watch', '**/robot/*.js', + '-o', files.bundle, + '-v' + ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'beep boop robot\n'); + fs.writeFileSync(files.beep, 'module.exports = "BEEP";'); + fs.writeFileSync(files.boop, 'module.exports = "BOOP";'); + fs.writeFileSync(files.robot, 'module.exports = "ROBOT";'); + }); + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, 'beep BOOP robot\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_pipe.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_pipe.js new file mode 100644 index 00000000..be25f774 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_pipe.js @@ -0,0 +1,56 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, 'console.log(num * 2)'); + +test('bin with pipe', function (t) { + t.plan(4); + var ps = spawn(cmd, [ + files.main, + '-o', 'uglifyjs - --enclose 11:num > ' + files.bundle, + '-v' + ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '22\n'); + fs.writeFile(files.main, 'console.log(num * 3)'); + }); + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '33\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/bin_standalone.js b/node_modules/laravel-elixir/node_modules/watchify/test/bin_standalone.js new file mode 100644 index 00000000..6378253c --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/bin_standalone.js @@ -0,0 +1,52 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, 'console.log(555)'); + +test('bin with standalone', function (t) { + t.plan(4); + var ps = spawn(cmd, [ files.main, '-o', files.bundle, '-v', '-s', 'XXX' ]); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + lineNum ++; + if (lineNum === 1) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '555\n'); + fs.writeFile(files.main, 'console.log(333)'); + }) + } + else if (lineNum === 2) { + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, '333\n'); + ps.kill(); + }); + } + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/errors.js b/node_modules/laravel-elixir/node_modules/watchify/test/errors.js new file mode 100644 index 00000000..059e553b --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/errors.js @@ -0,0 +1,56 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var file = path.join(tmpdir, 'main.js'); + +mkdirp.sync(tmpdir); +fs.writeFileSync(file, 'console.log(555)'); + +test('errors', function (t) { + t.plan(5); + var w = watchify(browserify(file, watchify.args)); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '555\n'); + breakTheBuild(); + }); + function breakTheBuild() { + setTimeout(function() { + fs.writeFileSync(file, 'console.log('); + }, 1000); + w.once('update', function () { + w.bundle(function (err, src) { + t.ok(err instanceof Error, 'should be error'); + fixTheBuild(); + }); + }); + } + function fixTheBuild() { + setTimeout(function() { + fs.writeFileSync(file, 'console.log(333)'); + }, 1000); + w.once('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '333\n'); + w.close(); + }); + }); + } +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/errors_transform.js b/node_modules/laravel-elixir/node_modules/watchify/test/errors_transform.js new file mode 100644 index 00000000..c4586900 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/errors_transform.js @@ -0,0 +1,83 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var through = require('through2'); + +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var main = path.join(tmpdir, 'main.js'); +var file = path.join(tmpdir, 'dep.jsnum'); + +mkdirp.sync(tmpdir); +fs.writeFileSync(main, 'require("./dep.jsnum")'); +fs.writeFileSync(file, 'console.log(555)'); + +function someTransform(file) { + if (!/\.jsnum$/.test(file)) { + return through(); + } + function write (chunk, enc, next) { + if (/\d/.test(chunk)) { + this.push(chunk); + } else { + this.emit('error', new Error('No number in this chunk')); + } + next(); + } + return through(write); +} + +test('errors in transform', function (t) { + t.plan(6); + var b = browserify(main, watchify.args); + b.transform(someTransform); + var w = watchify(b); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '555\n'); + breakTheBuild(); + }); + function breakTheBuild() { + setTimeout(function() { + fs.writeFileSync(file, 'console.log()'); + }, 1000); + w.once('update', function () { + w.bundle(function (err, src) { + t.ok(err instanceof Error, 'should be error'); + t.ok(/^No number in this chunk/.test(err.message)); + fixTheBuild(); + }); + }); + } + function fixTheBuild() { + setTimeout(function() { + fs.writeFileSync(file, 'console.log(333)'); + }, 1000); + var safety = setTimeout(function() { + t.fail("gave up waiting"); + w.close(); + t.end(); + }, 5000); + w.once('update', function () { + clearTimeout(safety); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), '333\n'); + w.close(); + }); + }); + } +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/expose.js b/node_modules/laravel-elixir/node_modules/watchify/test/expose.js new file mode 100644 index 00000000..e42c62de --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/expose.js @@ -0,0 +1,72 @@ +var test = require('tape'); +var watchify = require('../'); +var browserify = require('browserify'); +var vm = require('vm'); + +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); + +var os = require('os'); +var tmpbase = fs.realpathSync((os.tmpdir || os.tmpDir)()); +var tmpdir = path.join(tmpbase, 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + beep: path.join(tmpdir, 'beep.js'), + boop: path.join(tmpdir, 'boop.js'), + abc: path.join(tmpdir, 'lib', 'abc.js'), + xyz: path.join(tmpdir, 'lib', 'xyz.js') +}; + +mkdirp.sync(tmpdir); +mkdirp.sync(path.join(tmpdir, 'lib')); + +fs.writeFileSync(files.main, [ + 'var abc = require("abc");', + 'var xyz = require("xyz");', + 'var beep = require("./beep");', + 'console.log(abc + " " + xyz + " " + beep);' +].join('\n')); +fs.writeFileSync(files.beep, 'module.exports = require("./boop");'); +fs.writeFileSync(files.boop, 'module.exports = require("xyz");'); +fs.writeFileSync(files.abc, 'module.exports = "abc";'); +fs.writeFileSync(files.xyz, 'module.exports = "xyz";'); + +test('properly caches exposed files', function (t) { + t.plan(4); + var cache = {}; + var w = watchify(browserify({ + entries: [files.main], + basedir: tmpdir, + cache: cache, + packageCache: {} + })); + + w.require('./lib/abc', {expose: 'abc'}); + w.require('./lib/xyz', {expose: 'xyz'}); + w.on('update', function () { + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'ABC XYZ XYZ\n'); + w.close(); + }); + }); + w.bundle(function (err, src) { + t.ifError(err); + t.equal(run(src), 'abc xyz xyz\n'); + setTimeout(function () { + // If we're incorrectly caching exposed files, + // then "files.abc" would be re-read from disk. + cache[files.abc].source = 'module.exports = "ABC";'; + fs.writeFileSync(files.xyz, 'module.exports = "XYZ";'); + }, 1000); + }); +}); + +function run (src) { + var output = ''; + function log (msg) { output += msg + '\n' } + vm.runInNewContext(src, { console: { log: log } }); + return output; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/many.js b/node_modules/laravel-elixir/node_modules/watchify/test/many.js new file mode 100644 index 00000000..bc6b22cc --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/many.js @@ -0,0 +1,101 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + robot: path.join(tmpdir, 'robot.js'), + lines: path.join(tmpdir, 'lines.txt'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +var edits = [ + { file: 'lines', source: 'robo-boogie' }, + { file: 'lines', source: 'dinosaurus rex' }, + { + file: 'robot', + source: 'module.exports = function (n) { return n * 111 }', + next: true + }, + { file: 'main', source: [ + 'var fs = require("fs");', + 'var robot = require("./robot.js");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase() + " " + robot(src.length));' + ].join('\n') }, + { file: 'lines', source: 't-rex' }, + { + file: 'robot', + source: 'module.exports = function (n) { return n * 100 }', + } +]; + +var expected = [ + 'BEEP\nBOOP\n', + 'ROBO-BOOGIE\n', + 'DINOSAURUS REX\n', + 'DINOSAURUS REX 1554\n', + 'T-REX 555\n', + 'T-REX 500\n' +]; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, [ + 'var fs = require("fs");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase());' +].join('\n')); +fs.writeFileSync(files.lines, 'beep\nboop'); + +test('many edits', function (t) { + t.plan(expected.length * 2 + edits.length); + var ps = spawn(cmd, [ + files.main, + '-t', require.resolve('brfs'), '-v', + '-o', files.bundle + ]); + ps.stdout.pipe(process.stdout); + ps.stderr.pipe(process.stdout); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + if (line.length === 0) return; + + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, expected.shift()); + + (function next () { + if (edits.length === 0) return; + var edit = edits.shift(); + setTimeout(function () { + fs.writeFile(files[edit.file], edit.source, function (err) { + t.ifError(err); + if (edit.next) next(); + }); + }, 25); + })(); + }) + }); + + t.on('end', function () { + ps.kill(); + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/many_immediate.js b/node_modules/laravel-elixir/node_modules/watchify/test/many_immediate.js new file mode 100644 index 00000000..290b95e8 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/many_immediate.js @@ -0,0 +1,99 @@ +var test = require('tape'); +var fs = require('fs'); +var path = require('path'); +var mkdirp = require('mkdirp'); +var spawn = require('win-spawn'); +var split = require('split'); + +var cmd = path.resolve(__dirname, '../bin/cmd.js'); +var os = require('os'); +var tmpdir = path.join((os.tmpdir || os.tmpDir)(), 'watchify-' + Math.random()); + +var files = { + main: path.join(tmpdir, 'main.js'), + robot: path.join(tmpdir, 'robot.js'), + lines: path.join(tmpdir, 'lines.txt'), + bundle: path.join(tmpdir, 'bundle.js') +}; + +var edits = [ + { file: 'lines', source: 'robo-boogie' }, + { file: 'lines', source: 'dinosaurus rex' }, + { + file: 'robot', + source: 'module.exports = function (n) { return n * 111 }', + next: true + }, + { file: 'main', source: [ + 'var fs = require("fs");', + 'var robot = require("./robot.js");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase() + " " + robot(src.length));' + ].join('\n') }, + { file: 'lines', source: 't-rex' }, + { + file: 'robot', + source: 'module.exports = function (n) { return n * 100 }', + } +]; + +var expected = [ + 'BEEP\nBOOP\n', + 'ROBO-BOOGIE\n', + 'DINOSAURUS REX\n', + 'DINOSAURUS REX 1554\n', + 'T-REX 555\n', + 'T-REX 500\n' +]; + +mkdirp.sync(tmpdir); +fs.writeFileSync(files.main, [ + 'var fs = require("fs");', + 'var src = fs.readFileSync(__dirname + "/lines.txt", "utf8");', + 'console.log(src.toUpperCase());' +].join('\n')); +fs.writeFileSync(files.lines, 'beep\nboop'); + +test('many immediate', function (t) { + t.plan(expected.length * 2 + edits.length); + var ps = spawn(cmd, [ + files.main, + '-t', require.resolve('brfs'), '-v', + '-o', files.bundle + ]); + ps.stdout.pipe(process.stdout); + ps.stderr.pipe(process.stdout); + var lineNum = 0; + ps.stderr.pipe(split()).on('data', function (line) { + if (line.length === 0) return; + + run(files.bundle, function (err, output) { + t.ifError(err); + t.equal(output, expected.shift()); + + (function next () { + if (edits.length === 0) return; + var edit = edits.shift(); + fs.writeFile(files[edit.file], edit.source, function (err) { + t.ifError(err); + if (edit.next) next(); + }); + })(); + }) + }); + + t.on('end', function () { + ps.kill(); + }); +}); + +function run (file, cb) { + var ps = spawn(process.execPath, [ file ]); + var data = []; + ps.stdout.on('data', function (buf) { data.push(buf) }); + ps.stdout.on('end', function () { + cb(null, Buffer.concat(data).toString('utf8')); + }); + ps.on('error', cb); + return ps; +} diff --git a/node_modules/laravel-elixir/node_modules/watchify/test/zzz.js b/node_modules/laravel-elixir/node_modules/watchify/test/zzz.js new file mode 100644 index 00000000..bf1ec919 --- /dev/null +++ b/node_modules/laravel-elixir/node_modules/watchify/test/zzz.js @@ -0,0 +1,10 @@ +var test = require('tape'); + +test('__END__', function (t) { + t.on('end', function () { + setTimeout(function () { + process.exit(0); + }, 100) + }); + t.end(); +}); diff --git a/node_modules/laravel-elixir/package.json b/node_modules/laravel-elixir/package.json new file mode 100644 index 00000000..bf45e85a --- /dev/null +++ b/node_modules/laravel-elixir/package.json @@ -0,0 +1,95 @@ +{ + "name": "laravel-elixir", + "version": "3.4.2", + "description": "Laravel Elixir Core", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/laravel/elixir.git" + }, + "keywords": [ + "laravel", + "elixir", + "gulp" + ], + "author": { + "name": "Taylor Otwell, Jeffrey Way" + }, + "license": "MIT", + "homepage": "https://github.com/laravel/elixir", + "dependencies": { + "babelify": "^6.1.3", + "browser-sync": "^2.7.10", + "browserify": "^11.2.0", + "del": "^1.2.0", + "glob": "^5.0.14", + "gulp-autoprefixer": "^2.3.1", + "gulp-babel": "^5.1.0", + "gulp-batch": "^1.0.5", + "gulp-coffee": "^2.3.1", + "gulp-concat": "^2.6.0", + "gulp-if": "^1.2.5", + "gulp-less": "^3.0.3", + "gulp-load-plugins": "^1.0.0-rc.1", + "gulp-minify-css": "^1.2.0", + "gulp-notify": "^2.2.0", + "gulp-phpspec": "^0.5.3", + "gulp-phpunit": "0.9.0", + "gulp-rename": "^1.2.2", + "gulp-rev": "^5.1.0", + "gulp-rev-replace": "^0.4.2", + "gulp-sass": "^2.0.3", + "gulp-sourcemaps": "^1.5.2", + "gulp-uglify": "^1.4.2", + "gulp-util": "^3.0.6", + "gulp-watch": "^4.2.4", + "insert-css": "^0.2.0", + "merge-stream": "^0.1.8", + "parse-filepath": "^0.5.0", + "partialify": "^3.1.3", + "path": "^0.11.14", + "require-dir": "^0.3.0", + "run-sequence": "^1.1.1", + "underscore": "^1.8.3", + "underscore-deep-extend": "0.0.5", + "vinyl-buffer": "^1.0.0", + "vinyl-paths": "^1.0.0", + "vinyl-source-stream": "^1.1.0", + "vueify": "^4.0.1", + "watchify": "^3.2.3" + }, + "devDependencies": { + "gulp": "^3.8.8", + "chai": "^3.2.0", + "mocha": "^2.2.5", + "rimraf": "^2.4.2" + }, + "gitHead": "d901479b16041166278caf86ac5084577ed1695b", + "bugs": { + "url": "https://github.com/laravel/elixir/issues" + }, + "_id": "laravel-elixir@3.4.2", + "_shasum": "dd6446cfc388d1eeff6946e77b4fdcb6841cbb83", + "_from": "laravel-elixir@*", + "_npmVersion": "2.10.1", + "_nodeVersion": "0.12.4", + "_npmUser": { + "name": "jeffreyway", + "email": "jeffrey@laracasts.com" + }, + "maintainers": [ + { + "name": "jeffreyway", + "email": "jeffrey@laracasts.com" + } + ], + "dist": { + "shasum": "dd6446cfc388d1eeff6946e77b4fdcb6841cbb83", + "tarball": "http://registry.npmjs.org/laravel-elixir/-/laravel-elixir-3.4.2.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/laravel-elixir/-/laravel-elixir-3.4.2.tgz" +} diff --git a/node_modules/laravel-elixir/readme.md b/node_modules/laravel-elixir/readme.md new file mode 100644 index 00000000..4068af1f --- /dev/null +++ b/node_modules/laravel-elixir/readme.md @@ -0,0 +1,16 @@ +# Laravel Elixir + +## Introduction + +Laravel Elixir provides a clean, fluent API for defining basic Gulp tasks for your Laravel application. Elixir supports several common CSS and JavaScript pre-processors, and even testing tools. + +If you've ever been confused about how to get started with Gulp and asset compilation, you will love Laravel Elixir! + + +## Official Documentation + +Documentation for Elixir can be found on the [Laravel website](http://laravel.com/docs/elixir). + +### License + +Laravel Elixir is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) diff --git a/node_modules/laravel-elixir/tasks/browserify.js b/node_modules/laravel-elixir/tasks/browserify.js new file mode 100644 index 00000000..60d6c0cf --- /dev/null +++ b/node_modules/laravel-elixir/tasks/browserify.js @@ -0,0 +1,126 @@ +var gulp = require('gulp'); +var gutil = require('gulp-util'); +var babelify = require('babelify'); +var watchify = require('watchify'); +var buffer = require('vinyl-buffer'); +var Elixir = require('laravel-elixir'); +var browserify = require('browserify'); +var partialify = require('partialify'); +var source = require('vinyl-source-stream'); + +var bundle; +var $ = Elixir.Plugins; +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | Browserify Task + |---------------------------------------------------------------- + | + | This task will manage your entire Browserify workflow, from + | scratch! Also, it will channel all files through Babelify + | so that you may use all the ES6 goodness you can stand. + | + */ + +Elixir.extend('browserify', function(src, output, baseDir, options) { + var paths = prepGulpPaths(src, baseDir, output); + + new Elixir.Task('browserify', function() { + var stream = config.js.browserify.watchify.enabled + ? watchifyStream + : browserifyStream; + + bundle = function(stream, paths) { + this.log(paths.src, paths.output); + + return ( + stream + .bundle() + .on('error', function(e) { + new Elixir.Notification().error(e, 'Browserify Failed!'); + + this.emit('end'); + }) + .pipe(source(paths.output.name)) + .pipe(buffer()) + .pipe($.if(config.production, $.uglify())) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(new Elixir.Notification('Browserify Compiled!')) + ); + }.bind(this); + + return bundle( + stream({ + paths: paths, + options: options || config.js.browserify.options + }), + paths + ); + }) + // We'll add this task to be watched, but Watchify + // will handle the process, to speed things up. + .watch(); +}); + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string} baseDir + * @param {string|null} output + */ +var prepGulpPaths = function(src, baseDir, output) { + baseDir = baseDir || config.get('assets.js.folder'); + + return new Elixir.GulpPaths() + .src(src, baseDir) + .output(output || config.get('public.js.outputFolder'), 'bundle.js'); +}; + + +/** + * Get a standard Browserify stream. + * + * @param {string|array} src + * @param {object} options + */ +var browserifyStream = function(data) { // just use two arguments + var stream = browserify(data.paths.src.path, data.options); + + config.js.browserify.transformers.forEach(function(transformer) { + stream.transform( + require(transformer.name), transformer.options || {} + ); + }); + + config.js.browserify.plugins.forEach(function(plugin) { + stream.plugin( + require(plugin.name), plugin.options || {} + ); + }); + + return stream; +}; + + +/** + * Get a Browserify stream, wrapped in Watchify. + * + * @param {object} data + */ +var watchifyStream = function(data) { + var browserify = watchify( + browserifyStream(data), + config.js.browserify.watchify.options + ); + + browserify.on('log', gutil.log); + browserify.on('update', function() { + bundle(browserify, data.paths); + }); + + return browserify; +}; diff --git a/node_modules/laravel-elixir/tasks/browsersync.js b/node_modules/laravel-elixir/tasks/browsersync.js new file mode 100644 index 00000000..3f5ded57 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/browsersync.js @@ -0,0 +1,40 @@ +var gulp = require('gulp'); +var _ = require('underscore'); +var gutils = require('gulp-util'); +var Elixir = require('laravel-elixir'); +var browserSync = require('browser-sync').create(); + +var config = Elixir.config; + +/* + |---------------------------------------------------------------- + | BrowserSync + |---------------------------------------------------------------- + | + | Browsersync makes your browser testing workflow faster by + | synchronizing URLs, behavior, and code changes across + | across multiple devices. And, now it's in Elixir! + | + */ + +Elixir.extend('browserSync', function (options) { + options = _.extend(config.browserSync, { + files: [ + config.appPath + '/**/*.php', + config.get('public.css.outputFolder') + '/**/*.css', + config.get('public.js.outputFolder') + '/**/*.js', + config.get('public.versioning.buildFolder') + '/rev-manifest.json', + 'resources/views/**/*.php' + ], + watchOptions: { + usePolling: true + } + }, options); + + // Browsersync will only run during `gulp watch`. + if (gutils.env._.indexOf('watch') > -1) { + browserSync.init(options); + } + + new Elixir.Task('browserSync', function () {}).watch(); +}); \ No newline at end of file diff --git a/node_modules/laravel-elixir/tasks/coffee.js b/node_modules/laravel-elixir/tasks/coffee.js new file mode 100644 index 00000000..124561ac --- /dev/null +++ b/node_modules/laravel-elixir/tasks/coffee.js @@ -0,0 +1,57 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + +var $ = Elixir.Plugins; +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | CoffeeScript Compilation + |---------------------------------------------------------------- + | + | This task will compile your CoffeeScript, minify it, and then + | optionally generate a "manifest" file that helps with your + | browser cache-busting of previous versions of your code. + | + */ + +Elixir.extend('coffee', function(src, output, options) { + new Elixir.Task('coffee', function() { + var paths = prepGulpPaths(src, output); + + this.log(paths.src, paths.output); + + return ( + gulp + .src(paths.src.path) + .pipe($.if(config.sourcemaps, $.sourcemaps.init())) + .pipe($.coffee(options || config.js.coffee.options) + .on('error', function(e) { + new Elixir.Notification().error(e, 'CoffeeScript Compilation Failed!'); + + this.emit('end'); + })) + .pipe($.concat(paths.output.name)) + .pipe($.if(config.production, $.uglify())) + .pipe($.if(config.sourcemaps, $.sourcemaps.write('.'))) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(new Elixir.Notification('CoffeeScript Compiled!')) + ); + }) + .watch(config.get('assets.js.coffee.folder') + '/**/*.coffee') +}); + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} output + * @return {object} + */ +var prepGulpPaths = function(src, output) { + return new Elixir.GulpPaths() + .src(src, config.get('assets.js.coffee.folder')) + .output(output || config.get('public.js.outputFolder'), 'app.js'); +}; diff --git a/node_modules/laravel-elixir/tasks/copy.js b/node_modules/laravel-elixir/tasks/copy.js new file mode 100644 index 00000000..8189a43b --- /dev/null +++ b/node_modules/laravel-elixir/tasks/copy.js @@ -0,0 +1,33 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + +var $ = Elixir.Plugins; + + +/* + |---------------------------------------------------------------- + | Copying + |---------------------------------------------------------------- + | + | This task offers a simple way to copy files from one place to + | another. No more complicated than that! You may either set + | a single file or alternatively you can copy a full dir. + | + */ + +Elixir.extend('copy', function(src, output) { + var paths = new Elixir.GulpPaths().src(src).output(output); + + new Elixir.Task('copy', function() { + this.log(paths.src, paths.output); + + return ( + gulp + .src(paths.src.path) + .pipe($.if(! paths.output.isDir, $.rename(paths.output.name))) + .pipe(gulp.dest(paths.output.baseDir)) + ); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); diff --git a/node_modules/laravel-elixir/tasks/default.js b/node_modules/laravel-elixir/tasks/default.js new file mode 100644 index 00000000..628b67f9 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/default.js @@ -0,0 +1,20 @@ +var gulp = require('gulp'); +var _ = require('underscore'); +var Elixir = require('laravel-elixir'); +var inSequence = require('run-sequence'); + + +/* + |---------------------------------------------------------------- + | Default Task + |---------------------------------------------------------------- + | + | This task will run when the developer executes "gulp" on the + | command line. We'll use this configuration object to know + | which tasks should be fired when this task is executed. + | + */ + +gulp.task('default', function() { + inSequence.apply(this, _.pluck(Elixir.tasks, 'name')); +}); diff --git a/node_modules/laravel-elixir/tasks/less.js b/node_modules/laravel-elixir/tasks/less.js new file mode 100644 index 00000000..83f34057 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/less.js @@ -0,0 +1,47 @@ +var gulp = require('gulp'); +var compile = require('./shared/Css'); +var Elixir = require('laravel-elixir'); + +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | Less Compilation Task + |---------------------------------------------------------------- + | + | This task will compile your Less, including minification and + | and auto-prefixing. Less is one of the CSS pre-processors + | supported by Elixir, along with the Sass CSS processor. + | + */ + +Elixir.extend('less', function(src, output, options) { + new Elixir.Task('less', function() { + var paths = prepGulpPaths(src, output); + + return compile({ + name: 'Less', + compiler: require('gulp-less'), + src: paths.src, + output: paths.output, + task: this, + pluginOptions: options || config.css.less.pluginOptions + }); + }) + .watch(config.get('assets.css.less.folder') + '/**/*.less'); +}); + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} output + * @return {object} + */ +var prepGulpPaths = function(src, output) { + return new Elixir.GulpPaths() + .src(src, config.get('assets.css.less.folder')) + .output(output || config.get('public.css.outputFolder'), 'app.css'); +}; diff --git a/node_modules/laravel-elixir/tasks/phpspec.js b/node_modules/laravel-elixir/tasks/phpspec.js new file mode 100644 index 00000000..597989a2 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/phpspec.js @@ -0,0 +1,25 @@ +var Elixir = require('laravel-elixir'); +var runTests = require('./shared/Tests'); + +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | PHPSpec Testing + |---------------------------------------------------------------- + | + | This task will trigger your entire PHPSpec test suite and it + | will show notifications indicating the success or failure + | of that test suite. It's works great with the tdd task. + | + */ + +Elixir.extend('phpSpec', function(src, options) { + runTests({ + name: 'phpSpec', + src: src || (config.testing.phpSpec.path + '/**/*Spec.php'), + plugin: Elixir.Plugins.phpspec, + pluginOptions: options || config.testing.phpSpec.options + }); +}); diff --git a/node_modules/laravel-elixir/tasks/phpunit.js b/node_modules/laravel-elixir/tasks/phpunit.js new file mode 100644 index 00000000..3c86402a --- /dev/null +++ b/node_modules/laravel-elixir/tasks/phpunit.js @@ -0,0 +1,25 @@ +var Elixir = require('laravel-elixir'); +var runTests = require('./shared/Tests'); + +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | PHPUnit Testing + |---------------------------------------------------------------- + | + | This task will trigger your entire PHPUnit test suite and it + | will show notifications indicating the success or failure + | of that test suite. It's works great with the tdd task. + | + */ + +Elixir.extend('phpUnit', function(src, options) { + runTests({ + name: 'phpUnit', + src: src || (config.testing.phpUnit.path + '/**/*Test.php'), + plugin: Elixir.Plugins.phpunit, + pluginOptions: options || config.testing.phpUnit.options + }); +}); diff --git a/node_modules/laravel-elixir/tasks/sass.js b/node_modules/laravel-elixir/tasks/sass.js new file mode 100644 index 00000000..ea3b70f6 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/sass.js @@ -0,0 +1,58 @@ +var gulp = require('gulp'); +var compile = require('./shared/Css'); +var Elixir = require('laravel-elixir'); + +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | Sass Compilation Task + |---------------------------------------------------------------- + | + | This task will compile your Sass, including minification and + | and auto-prefixing. Sass is one of the CSS pre-precessors + | supported by Elixir, along with the Less CSS processor. + | + */ + +var gulpTask = function(src, output, options) { + new Elixir.Task('sass', function() { + var paths = prepGulpPaths(src, output); + + return compile({ + name: 'Sass', + compiler: require('gulp-sass'), + src: paths.src, + output: paths.output, + task: this, + pluginOptions: options || config.css.sass.pluginOptions + }); + }) + .watch(config.get('assets.css.sass.folder') + '/**/*.+(sass|scss)'); +}; + + +Elixir.extend('sass', function() { + gulpTask.apply(this, arguments); +}); + + +// Deprecated. Only for backward compatibility. +Elixir.extend('rubySass', function() { + gulpTask.apply(this, arguments); +}); + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} output + * @return {object} + */ +var prepGulpPaths = function(src, output) { + return new Elixir.GulpPaths() + .src(src, config.get('assets.css.sass.folder')) + .output(output || config.get('public.css.outputFolder'), 'app.css'); +}; diff --git a/node_modules/laravel-elixir/tasks/scripts.js b/node_modules/laravel-elixir/tasks/scripts.js new file mode 100644 index 00000000..5804c760 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/scripts.js @@ -0,0 +1,92 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + +var $ = Elixir.Plugins; +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | JavaScript File Concatenation + |---------------------------------------------------------------- + | + | This task will concatenate and minify your JavaScript files + | in order. This provides a quick and simple way to reduce + | the number of HTTP requests your application executes. + | + */ + +Elixir.extend('scripts', function(scripts, output, baseDir) { + var paths = prepGulpPaths(scripts, baseDir, output); + + new Elixir.Task('scripts', function() { + return gulpTask.call(this, paths); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); + + +Elixir.extend('scriptsIn', function(baseDir, output) { + var paths = prepGulpPaths('**/*.js', baseDir, output); + + new Elixir.Task('scriptsIn', function() { + return gulpTask.call(this, paths); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); + + +Elixir.extend('babel', function(scripts, output, baseDir, options) { + var paths = prepGulpPaths(scripts, baseDir, output); + + new Elixir.Task('babel', function() { + var babelOptions = options || config.js.babel.options; + + return gulpTask.call(this, paths, babelOptions); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); + + +/** + * Trigger the Gulp task logic. + * + * @param {object} paths + * @param {object|null} babel + */ +var gulpTask = function(paths, babel) { + this.log(paths.src, paths.output); + + return ( + gulp + .src(paths.src.path) + .pipe($.if(config.sourcemaps, $.sourcemaps.init())) + .pipe($.concat(paths.output.name)) + .pipe($.if(babel, $.babel(babel))) + .on('error', function(e) { + new Elixir.Notification().error(e, 'Babel Compilation Failed!'); + this.emit('end'); + }) + .pipe($.if(config.production, $.uglify())) + .pipe($.if(config.sourcemaps, $.sourcemaps.write('.'))) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(new Elixir.Notification('Scripts Merged!')) + ); +}; + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} baseDir + * @param {string|null} output + */ +var prepGulpPaths = function(src, baseDir, output) { + return new Elixir.GulpPaths() + .src(src, baseDir || config.get('assets.js.folder')) + .output(output || config.get('public.js.outputFolder'), 'all.js'); +}; diff --git a/node_modules/laravel-elixir/tasks/shared/Css.js b/node_modules/laravel-elixir/tasks/shared/Css.js new file mode 100644 index 00000000..235894a7 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/shared/Css.js @@ -0,0 +1,30 @@ +var gulp = require('gulp'); +var Elixir = require('../../index'); + +var $ = Elixir.Plugins; +var config = Elixir.config; + + +module.exports = function(options) { + var name = options.name; + + options.task.log(options.src, options.output); + + return ( + gulp + .src(options.src.path) + .pipe($.if(config.sourcemaps, $.sourcemaps.init())) + .pipe(options.compiler(options.pluginOptions)) + .on('error', function(e) { + new Elixir.Notification().error(e, name + ' Compilation Failed'); + + this.emit('end'); + }) + .pipe($.if(config.css.autoprefix.enabled, $.autoprefixer(config.css.autoprefix.options))) + .pipe($.concat(options.output.name)) + .pipe($.if(config.production, $.minifyCss(config.css.minifyCss.pluginOptions))) + .pipe($.if(config.sourcemaps, $.sourcemaps.write('.'))) + .pipe(gulp.dest(options.output.baseDir)) + .pipe(new Elixir.Notification(name + ' Compiled!')) + ); +}; diff --git a/node_modules/laravel-elixir/tasks/shared/Tests.js b/node_modules/laravel-elixir/tasks/shared/Tests.js new file mode 100644 index 00000000..22efa170 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/shared/Tests.js @@ -0,0 +1,26 @@ +var gulp = require('gulp'); +var Elixir = require('../../index'); + +var notify = new Elixir.Notification(); + + +module.exports = function(options) { + new Elixir.Task(options.name, function() { + this.log(options.src); + + return ( + gulp + .src(options.src) + .pipe(options.plugin('', options.pluginOptions)) + .on('error', function(e) { + notify.forFailedTests(e, options.name); + + this.emit('end'); + }) + .pipe(notify.forPassedTests(options.name)) + ); + }) + .watch(options.src, 'tdd') + .watch(Elixir.config.appPath + '/**/*.php', 'tdd') + .watch('./resources/views/**/*.php', 'tdd') +}; diff --git a/node_modules/laravel-elixir/tasks/styles.js b/node_modules/laravel-elixir/tasks/styles.js new file mode 100644 index 00000000..240b8391 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/styles.js @@ -0,0 +1,73 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + +var $ = Elixir.Plugins; +var config = Elixir.config; + + +/* + |---------------------------------------------------------------- + | CSS File Concatenation + |---------------------------------------------------------------- + | + | This task will concatenate and minify your style sheet files + | in order, which provides a quick and simple way to reduce + | the number of HTTP requests your application fires off. + | + */ + +Elixir.extend('styles', function(styles, output, baseDir) { + var paths = prepGulpPaths(styles, baseDir, output); + + new Elixir.Task('styles', function() { + return gulpTask.call(this, paths); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); + + +Elixir.extend('stylesIn', function(baseDir, output) { + var paths = prepGulpPaths('**/*.css', baseDir, output); + + new Elixir.Task('stylesIn', function() { + return gulpTask.call(this, paths); + }) + .watch(paths.src.path) + .ignore(paths.output.path); +}); + + +/** + * Trigger the Gulp task logic. + * + * @param {object} paths + */ +var gulpTask = function(paths) { + this.log(paths.src, paths.output); + + return ( + gulp + .src(paths.src.path) + .pipe($.if(config.sourcemaps, $.sourcemaps.init())) + .pipe($.concat(paths.output.name)) + .pipe($.if(config.production, $.minifyCss(config.css.minifyCss.pluginOptions))) + .pipe($.if(config.sourcemaps, $.sourcemaps.write('.'))) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(new Elixir.Notification('Stylesheets Merged!')) + ); +}; + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} output + * @return {object} + */ +var prepGulpPaths = function(src, baseDir, output) { + return new Elixir.GulpPaths() + .src(src, baseDir || config.get('assets.css.folder')) + .output(output || config.get('public.css.outputFolder'), 'all.css'); +}; diff --git a/node_modules/laravel-elixir/tasks/task.js b/node_modules/laravel-elixir/tasks/task.js new file mode 100644 index 00000000..901e8fe7 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/task.js @@ -0,0 +1,24 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + + +/* + |---------------------------------------------------------------- + | Custom Gulp Tasks + |---------------------------------------------------------------- + | + | Sometimes, you'll want to hook your custom Gulp tasks into + | Elixir. Simple! Simply call Elixir's task() method, and + | provide the name of your task, and a regex to watch. + | + */ + +Elixir.extend('task', function(name, watcher) { + var task = new Elixir.Task('task', function() { + return gulp.start(name); + }); + + if (watcher) { + task.watch(watcher); + } +}); diff --git a/node_modules/laravel-elixir/tasks/tdd.js b/node_modules/laravel-elixir/tasks/tdd.js new file mode 100644 index 00000000..50d239c4 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/tdd.js @@ -0,0 +1,26 @@ +var gulp = require('gulp'); +var Elixir = require('laravel-elixir'); + + +/* + |---------------------------------------------------------------- + | TDD Watcher + |---------------------------------------------------------------- + | + | This task will keep an eye on any tasks that are part of the + | tdd category. By default this includes PHPUnit and PHPSpec + | tests. Run `gulp tdd` and your tests will auto-trigger. + | + */ + +gulp.task('tdd', function() { + new Elixir.Log.message('Watching for tests...'); + + Elixir.tasks + .filter(function(task) { + return task.category == 'tdd'; + }) + .forEach(function(task) { + gulp.watch(task.watchers, [task.name]); + }); +}); diff --git a/node_modules/laravel-elixir/tasks/version.js b/node_modules/laravel-elixir/tasks/version.js new file mode 100644 index 00000000..f0493d4a --- /dev/null +++ b/node_modules/laravel-elixir/tasks/version.js @@ -0,0 +1,126 @@ +var fs = require('fs'); +var del = require('del'); +var glob = require('glob'); +var gulp = require('gulp'); +var rev = require('gulp-rev'); +var Elixir = require('laravel-elixir'); +var vinylPaths = require('vinyl-paths'); +var parsePath = require('parse-filepath'); +var publicPath = Elixir.config.publicPath; +var revReplace = require('gulp-rev-replace'); + + +/* + |---------------------------------------------------------------- + | Versioning / Cache Busting + |---------------------------------------------------------------- + | + | This task will append a small hash on the end of your file + | and generate a manifest file which contains the current + | "version" of the filename for the application to use. + | + */ + +Elixir.extend('version', function(src, buildPath) { + var paths = prepGulpPaths(src, buildPath); + + new Elixir.Task('version', function() { + var files = vinylPaths(); + var manifest = paths.output.baseDir + '/rev-manifest.json'; + + this.log(paths.src, paths.output); + + emptyBuildPathFiles(paths.output.baseDir, manifest); + + // We need to remove the publicPath from the output base to get the + // correct prefix path. + var filePathPrefix = paths.output.baseDir.replace(publicPath, '') + '/'; + + return ( + gulp.src(paths.src.path, { base: './' + publicPath }) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(files) + .pipe(rev()) + .pipe(revReplace({prefix: filePathPrefix})) + .pipe(gulp.dest(paths.output.baseDir)) + .pipe(rev.manifest()) + .pipe(gulp.dest(paths.output.baseDir)) + .on('end', function() { + // We'll get rid of the duplicated file that + // usually gets put in the "build" folder, + // alongside the suffixed version. + del(files.paths, { force: true }); + + // We'll also copy over relevant sourcemap files. + copyMaps(paths.src.path, paths.output.baseDir); + }) + ); + }) + .watch(paths.src.path); +}); + + +/** + * Prep the Gulp src and output paths. + * + * @param {string|array} src + * @param {string|null} buildPath + * @return {object} + */ +var prepGulpPaths = function(src, buildPath) { + src = Array.isArray(src) ? src : [src]; + + return new Elixir.GulpPaths() + .src(src, config.publicPath) + .output(buildPath || config.get('public.versioning.buildFolder')); +}; + + +/** + * Empty all relevant files from the build directory. + * + * @param {string} buildPath + * @param {string} manifest + */ +var emptyBuildPathFiles = function(buildPath, manifest) { + fs.stat(manifest, function(err, stat) { + if (! err) { + manifest = JSON.parse(fs.readFileSync(manifest)); + + for (var key in manifest) { + del.sync(buildPath + '/' + manifest[key], { force: true }); + } + } + }); +}; + + +/** + * Copy source maps to the build directory. + * + * @param {string} src + * @param {string} buildPath + * @return {object} + */ +var copyMaps = function(src, buildPath) { + src.forEach(function(file) { + // We'll first get any files from the src + // array that have companion .map files. + + glob(file, {}, function(error, files) { + if (error) return; + + files + .filter(function(file) { + return fs.existsSync(file + '.map'); + }) + .forEach(function(file) { + // We will loop over this files array, and + // copy each map to the build directory. + var map = file.replace(publicPath, buildPath); + + gulp.src(file + '.map').pipe(gulp.dest(parsePath(map).dirname)); + }); + }); + }); +}; diff --git a/node_modules/laravel-elixir/tasks/watch.js b/node_modules/laravel-elixir/tasks/watch.js new file mode 100644 index 00000000..8e4b13b3 --- /dev/null +++ b/node_modules/laravel-elixir/tasks/watch.js @@ -0,0 +1,56 @@ +var gulp = require('gulp'); +var _ = require('underscore'); +var batch = require('gulp-batch'); +var Elixir = require('laravel-elixir'); + +/* + |---------------------------------------------------------------- + | Watcher + |---------------------------------------------------------------- + | + | When you want to keep an eye on your files for changes, and + | then re-trigger Gulp, then you should use the gulp watch + | command. This way, you can auto-compile on each save! + | + */ + +gulp.task('watch', function() { + var tasks = _.sortBy(Elixir.tasks, 'name'); + var mergedTasks = {}; + + if (isWatchingBrowserify(tasks)) { + Elixir.config.js.browserify.watchify.enabled = true; + + gulp.start('browserify'); + } + + tasks.forEach(function(task) { + if (task.name in mergedTasks) { + return mergedTasks[task.name].watchers = _.union(mergedTasks[task.name].watchers, task.watchers); + } + + mergedTasks[task.name] = { + name: task.name, + watchers: Array.isArray(task.watchers) ? task.watchers : [task.watchers] + }; + }); + + _.sortBy(mergedTasks, 'name').forEach(function(task) { + if (task.watchers.length > 0) { + gulp.watch(task.watchers, batch(Elixir.config.batchOptions, function(events) { + events.on('end', gulp.start(task.name)); + })); + } + }); +}); + + +/** + * Determine if Browserify is included in the list. + * + * @param {object} tasks + * @return {Boolean} + */ +var isWatchingBrowserify = function(tasks) { + return _.contains(_.pluck(tasks, 'name'), 'browserify'); +}; diff --git a/public/themes/default/css/components/boxed-group.css b/public/themes/default/css/components/boxed-group.css new file mode 100755 index 00000000..6c88ea98 --- /dev/null +++ b/public/themes/default/css/components/boxed-group.css @@ -0,0 +1,187 @@ +.boxed-group { + position: relative; + border-radius: 3px; + margin-bottom: 30px +} + +.boxed-group .counter { + color: #fff; + background-color: #babec0 +} + +.boxed-group.flush .boxed-group-inner { + padding: 0 +} + +.boxed-group.condensed .boxed-group-inner { + font-size: 12px; + padding: 0 +} + +.boxed-group .heading, .boxed-group > h3 { + background-color: #f5f5f5; + margin: 0; + border-radius: 3px 3px 0 0; + border: 1px solid #d8d8d8; + border-bottom: 0; + padding: 9px 10px 10px; + font-size: 14px; + line-height: 17px; + display: block +} + +.boxed-group .heading a, .boxed-group > h3 a { + color: inherit +} + +.boxed-group .heading a.boxed-group-breadcrumb, .boxed-group > h3 a.boxed-group-breadcrumb { + color: #666; + font-weight: 400; + text-decoration: none +} + +.boxed-group .heading .avatar, .boxed-group > h3 .avatar { + margin-top: -4px +} + +.boxed-group .tabnav.heading { + padding: 0 +} + +.boxed-group .tabnav.heading .tabnav-tab.selected { + border-top: 0 +} + +.boxed-group .tabnav.heading li:first-child .selected { + border-left-color: #fff; + border-top-left-radius: 3px +} + +.boxed-group .tabnav-tab { + border-radius: 0; + border-top: 0 +} + +.boxed-group code.heading { + font-size: 12px +} + +.boxed-group.dangerzone > h3 { + background-color: #df3e3e; + border: 1px solid #a00; + color: #fff; + text-shadow: 0 -1px 0 #900 +} + +.boxed-group.dangerzone .boxed-group-inner { + border-top: 0 +} + +.boxed-group.condensed > h3 { + padding: 6px 6px 7px; + font-size: 12px +} + +.boxed-group.condensed > h3 .octicon { + padding: 0 6px 0 2px +} + +.dashboard-sidebar .boxed-group, .one-half .boxed-group { + margin-bottom: 20px +} + +.boxed-group .bleed-flush { + width: 100%; + padding: 0 10px; + margin-left: -10px +} + +.boxed-group .compact { + margin-top: 10px; + margin-bottom: 10px +} + +.boxed-group-inner { + padding: 1px 10px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + color: #666; + font-size: 13px +} + +.boxed-group-inner .help, .boxed-group-inner .tabnav-tab.selected { + border-top: 1px solid #ddd +} + +.boxed-group-inner .markdown-body { + padding: 20px 10px 10px; + font-size: 13px +} + +.boxed-group-inner.markdown-body { + padding-top: 10px; + padding-bottom: 10px +} + +.boxed-group-inner.seamless { + padding: 0 +} + +.boxed-group-inner h4 { + margin: 15px 0 -5px; + font-size: 14px; + color: #000 +} + +.boxed-group-inner .tabnav { + margin-left: -10px; + margin-right: -10px; + padding-left: 10px; + padding-right: 10px +} + +.boxed-group-inner .help { + clear: both; + margin: 1em -10px 0; + padding: 1em 10px 1em 35px; + color: #999 +} + +.boxed-group-inner .help .octicon { + margin-left: -25px; + margin-right: 5px +} + +.boxed-group-inner .flash-global { + margin-left: -10px; + margin-right: -10px; + border-top: 0 +} + +.boxed-action { + float: right; + margin-left: 10px +} + +.boxed-group-action { + float: right; + margin: 6px 10px 0 0; + position: relative; + z-index: 2 +} + +.boxed-group-action.flush { + margin-top: 0; + margin-right: 0 +} + +.boxed-group-action > button { + background-color: transparent; + border: 0; + -webkit-appearance: none +} + +.boxed-group-icon { + padding: 4px; + color: #777 +} \ No newline at end of file diff --git a/public/themes/default/css/components/collection.css b/public/themes/default/css/components/collection.css new file mode 100755 index 00000000..e7d51f80 --- /dev/null +++ b/public/themes/default/css/components/collection.css @@ -0,0 +1 @@ +.collection-head,.side-collection-image{-webkit-box-shadow:inset 0 10px 20px rgba(0,0,0,.1);text-shadow:0 1px 2px rgba(0,0,0,.3)}.collection-card-image,.collection-head,.side-collection-image{text-shadow:0 1px 2px rgba(0,0,0,.3)}.collection-head{padding:1.5rem 0;margin-top:-20px;margin-bottom:20px;background:url(/assets/images/octicons-bg.png) center #302F2F;box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff}.collection-head.small{padding:.8rem 0}.collection-head.small .collection-title{padding:10px 0}.collection-head.small .collection-title h1.collection-header{font-size:30px}.collection-head a{color:#fff}.collection-head a:hover{text-decoration:none}.collection-head .collection-title{display:table-cell;padding:20px 0;vertical-align:middle}.collection-head .collection-info{margin:0}.collection-head .collection-info .meta-info{margin-right:15px}.collection-head .collection-info .avatar{background-color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.7)}.collection-head .collection-head .container{position:relative}.collection-head .draft-tag{position:absolute;top:0;left:0}.collection-head .collection-header{margin-top:0;font-size:45px;line-height:1.5;font-weight:400}.collection-head .collection-description{position:relative;font-size:16px}.collection-page .collection-info{margin-top:10px;margin-bottom:20px;font-size:13px;color:#999}.collection-page .column.main{margin-right:260px!important}.collection-page .column.sidebar{width:240px}.collection-page .other-content{padding:20px 0 20px 20px;border-left:1px solid #f1f1f1}.collection-page .other-content .subnav-search{margin-left:0}.collection-page .other-content input.subnav-search-input{width:100%}.collection-page .other-content-title{margin-top:40px}.collection-page .other-content-title:first-child,.collection-search-result-title{margin-top:0}.side-collection-list{margin:0;list-style-type:none}.side-collection-link{display:table;width:100%;height:100px;color:#fff}.collection-card-title,.side-collection-image{height:100%;text-align:center;vertical-align:middle}.side-collection-item-title{font-size:16px;font-weight:100}.side-collection-image{background:url(/assets/images/octicons-bg.png) center #555;box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff;display:table-cell;width:100%;margin-bottom:5px;border-radius:3px}.side-collection-list-item{margin-bottom:20px}.collection-tools{list-style-type:none;margin-bottom:10px;font-size:15px}.collection-tools .edit-link{color:#333}.collection-tools .edit-link:hover{color:#4183c4;cursor:pointer}.collection-tools .octicon{margin-right:5px}.collection-tools .select-menu-button{position:relative;display:inline-block;color:#333}.collection-tools .select-menu-button :hover{color:#4183c4;cursor:pointer}.collection-tool{margin-left:20px}.collection-search-results em{padding:.1em;background-color:#faffa6}.collection-search-result{margin-bottom:40px;list-style-type:none}.collection-search-page .search-results-info{line-height:33px;float:right;margin-left:10px;font-size:15px}.collection-listing{text-align:center}.collection-card{position:relative;display:inline-block;width:30%;max-width:313px;margin:0 10px 20px;list-style-type:none;background:#f7f7f7;border:1px solid #ddd;border-radius:3px;overflow:hidden}.collection-card .draft-tag{position:absolute;top:-1px;left:10px}.collection-card-title{padding:0 15px;margin:10px 0;display:table-cell;width:100%;font-size:19px;font-weight:700}.collection-card-body{padding:0 15px;margin:0 0 10px;height:3em;overflow:hidden;font-size:15px;line-height:1.5em}.collection-card-image{position:relative;display:table;width:101%;height:120px;margin:-1px -1px 15px;background:url(/assets/images/octicons-bg.png) center #555;-webkit-box-shadow:inset 0 10px 20px rgba(0,0,0,.1);box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff;border-top-right-radius:3px;border-top-left-radius:3px}.collection-card-meta{padding:0 15px;margin-top:5px;margin-bottom:15px;color:#777;font-size:12px}.collection-card-meta .meta-info{margin-right:10px}.collection-card-meta .last-updated{float:right;margin-right:0} \ No newline at end of file diff --git a/public/themes/default/css/components/repo-card.css b/public/themes/default/css/components/repo-card.css new file mode 100755 index 00000000..2764482a --- /dev/null +++ b/public/themes/default/css/components/repo-card.css @@ -0,0 +1,96 @@ +.repo-card { + position: relative; + width: 100%; + margin-bottom: 20px; + list-style-type: none; + border-radius: 3px; + overflow: hidden +} + +.repo-card:hover .repo-card-title { + text-shadow: 0 0 8px #fffcfc; + color: transparent +} + +.repo-card:hover .repo-card-body { + opacity: 1 +} + +.repo-card .draft-tag { + position: absolute; + top: -1px; + left: 10px +} + +.repo-card:nth-child(3n+3) { + margin-right: 0 +} + +.repo-card-title { + padding: 0 15px; + margin: 10px 0; + display: table-cell; + width: 100%; + height: 100%; + font-size: 19px; + font-weight: 700; + text-align: center; + vertical-align: middle +} + +.repo-card-body-wrapper { + display: table +} + +.repo-card-body { + padding: 10px; + margin-top: 0; + display: table-cell; + overflow: hidden; + font-size: 12px; + line-height: 1.5em; + position: absolute; + bottom: 0; + top: 0; + right: 0; + left: 0; + background: rgba(0, 0, 0, .6); + opacity: 0; + color: #fff; + text-align: center; + -webkit-transition: opacity .3s ease-in-out; + -moz-transition: opacity .3s ease-in-out; + transition: opacity .3s ease-in-out +} + +.repo-card-image { + position: relative; + display: table; + width: 100.5%; + height: 100px; + margin: -1px; + background: url(/assets/images/octicons-bg.png) center #555; + -webkit-box-shadow: inset 0 10px 20px rgba(0, 0, 0, .1); + box-shadow: inset 0 10px 20px rgba(0, 0, 0, .1); + text-shadow: 0 1px 2px rgba(0, 0, 0, .3); + color: #fff; + border-top-right-radius: 3px; + border-top-left-radius: 3px +} + +.repo-card-meta { + padding: 0 8px; + margin-top: 5px; + margin-bottom: 5px; + color: #fff; + font-size: 13px +} + +.repo-card-meta .meta-info { + margin-right: 10px +} + +.repo-card-meta .last-updated { + float: right; + margin-right: 0 +} \ No newline at end of file diff --git a/public/themes/default/css/globals/common.css b/public/themes/default/css/globals/common.css new file mode 100755 index 00000000..95d911b0 --- /dev/null +++ b/public/themes/default/css/globals/common.css @@ -0,0 +1 @@ +.site-header,.site-header-actions .select-menu{position:relative}body{font-family:"PingFang SC","Lantinghei SC","Open Sans",Arial,"Hiragino Sans GB","Microsoft YaHei","微软雅黑",STHeiti,"WenQuanYi Micro Hei",SimSun,sans-serif;font-size:16px;line-height:1.6;word-wrap:break-word;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}@font-face{font-family:octicons;src:font-url(../fonts/octicons.eot?#iefix) format("embedded-opentype"),font-url(../fonts/octicons.woff) format("woff"),font-url(../fonts/octicons.ttf) format("truetype"),font-url(../fonts/octicons.svg#octicons) format("svg");font-weight:400;font-style:normal}.pagination{padding:20px 0}.pagination a.active{background:#337ab7;border-color:#337ab7;z-index:2;color:#fff;cursor:default}.text-center{text-align:center}.btn-inline .btn{margin:5px}.site-header{padding-top:20px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #eee}.site-header .account-switcher{display:inline-block;margin-top:-2px;margin-bottom:-6px}.site-header-actions .select-menu:after,.site-header-actions .select-menu:before{display:table;content:""}.site-header ul.site-header-actions{z-index:21;float:right;margin:0}.site-header ul.site-header-actions .feed-icon{margin-top:5px}.site-header .path-divider{margin:0 .25em}.site-header h1{float:left}.site-header h1,.site-header h1 .octicon{margin-top:0;margin-bottom:0;font-size:32px;font-weight:400;line-height:28px}.context-loader,.markdown-body dl dt,.markdown-body table th,.pl-mb,.pl-mdr,.pl-mh,.pl-mh .pl-en,.pl-ms,.pl-sr .pl-cce,.site-header h1 strong{font-weight:700}.site-header h1 a{white-space:nowrap;color:#333}.site-header h1 a:hover{text-decoration:none}.site-header h1 .avatar{margin-top:-2px;margin-right:9px;margin-bottom:-2px}.site-header-actions>li{float:left;margin:0 10px 0 0;font-size:11px;color:#333;list-style-type:none}.site-header-actions>li:last-child{margin-right:0}.site-header-actions .octicon-mute{color:#c00}.site-header-actions .select-menu:after{clear:both}.site-header-actions .select-menu-modal-holder{top:100%}.context-loader{position:absolute;top:0;left:50%;z-index:20;width:154px;padding:10px 10px 10px 30px;margin-left:-75px;font-size:12px;color:#666;background:url(../images/min/octocat-spinner-16px.gif) 10px 50% no-repeat #eee;border:1px solid #ddd;border-top:1px solid #fff;border-radius:0 0 5px 5px}.site-header-nav{float:right;margin-bottom:-20px}.site-header-nav-item{display:inline-block;padding:6px 10px 15px;margin-left:1.25rem;font-size:1rem;color:#777}.site-footer:after,.site-footer:before{display:table;content:""}.site-header-nav-item:hover{color:#333;text-decoration:none}.site-header-nav-item.selected{color:#333;padding:6px 10px 13px;border-bottom:2px solid #d26911}.site-header-nav-item+.btn-outline{margin-top:-1px;margin-left:20px}.site-footer{position:relative;margin-top:40px;padding-top:40px;padding-bottom:40px;font-size:12px;line-height:1.5;color:#777;border-top:1px solid #eee}.site-footer .copyright{padding-right:20px}.site-footer:after{clear:both}.site-footer .octicon-mark-github{position:absolute;top:38px;left:50%;height:24px;width:24px;margin-left:-12px;font-size:24px;color:#ccc}.site-footer .octicon-mark-github:hover{color:#bbb}.site-footer-links{margin:0;list-style:none}.site-footer-links li{display:inline-block;line-height:16px}.site-footer-links li+li{margin-left:10px}.sns-share{padding:30px 0}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.sns-share i{display:inline-block;margin-right:6px}.sns-share i svg{display:inline-block;width:32px;height:32px;fill:#666;cursor:pointer}.sns-share i svg:hover{fill:#1abc9c}.markdown-body{overflow:hidden}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{position:absolute;top:0;left:0;display:block;padding-right:6px;padding-left:30px;margin-left:-30px}.markdown-body .anchor:focus{outline:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative;margin-top:1em;margin-bottom:16px;font-weight:700;line-height:1.4}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{display:none;color:#000;vertical-align:middle}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{padding-left:8px;margin-left:-30px;text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{display:inline-block}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2.25em;line-height:1.2}.markdown-body h1 .anchor{line-height:1}.markdown-body h2{font-size:1.75em;line-height:1.225}.markdown-body h2 .anchor{line-height:1}.markdown-body h3{font-size:1.5em;line-height:1.43}.markdown-body h3 .anchor,.markdown-body h4 .anchor{line-height:1.2}.markdown-body h4{font-size:1.25em}.markdown-body h5 .anchor,.markdown-body h6 .anchor{line-height:1.1}.markdown-body h5{font-size:1em}.markdown-body h6{font-size:1em;color:#777}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:4px;padding:0;margin:16px 0;background-color:#e7e7e7;border:0}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body blockquote{padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.markdown-body .emoji{max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:" "}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #bbb;box-shadow:inset 0 -1px 0 #bbb}.pl-c{color:#969896}.pl-c1,.pl-s .pl-v{color:#0086b3}.pl-e,.pl-en{color:#795da3}.pl-s .pl-s1,.pl-smi{color:#333}.pl-ent{color:#63a35c}.pl-k{color:#a71d5d}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:#183691}.pl-v{color:#ed6a43}.pl-id{color:#b52a1d}.pl-ii{background-color:#b52a1d;color:#f8f8f8}.pl-sr .pl-cce{color:#63a35c}.pl-ml{color:#693a17}.pl-mh,.pl-mh .pl-en,.pl-ms{color:#1d3e81}.pl-mq{color:teal}.pl-mi{color:#333;font-style:italic}.pl-mb{color:#333}.pl-md{background-color:#ffecec;color:#bd2c00}.pl-mi1{background-color:#eaffea;color:#55a532}.pl-mdr{color:#795da3}.pl-mo{color:#1d3e81}@media screen and (-webkit-min-device-pixel-ratio:2),screen and (max--moz-device-pixel-ratio:2){.context-loader{background:url(../images/min/octocat-spinner-32-EAF2F5.gif) 10px 50% no-repeat #eee;background-size:16px auto}} \ No newline at end of file diff --git a/public/themes/default/css/globals/prism.css b/public/themes/default/css/globals/prism.css new file mode 100755 index 00000000..1603467e --- /dev/null +++ b/public/themes/default/css/globals/prism.css @@ -0,0 +1,98 @@ +code[class*=language-], pre[class*=language-] { + color: #000; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none +} + +code[class*=language-] ::-moz-selection, code[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection, pre[class*=language-]::-moz-selection { + text-shadow: none; + background: #b3d4fc +} + +code[class*=language-] ::selection, code[class*=language-]::selection, pre[class*=language-] ::selection, pre[class*=language-]::selection { + text-shadow: none; + background: #b3d4fc +} + +pre[class*=language-] { + padding: 1em; + margin: .5em 0; + overflow: auto +} + +:not(pre) > code[class*=language-], pre[class*=language-] { + background: #f9f9f9 +} + +:not(pre) > code[class*=language-] { + padding: .1em; + border-radius: .3em +} + +.token.cdata, .token.comment, .token.doctype, .token.prolog { + color: #708090 +} + +.token.punctuation { + color: #999 +} + +.namespace { + opacity: .7 +} + +.token.boolean, .token.constant, .token.deleted, .token.number, .token.property, .token.symbol, .token.tag { + color: #905 +} + +.token.attr-name, .token.builtin, .token.char, .token.inserted, .token.selector, .token.string { + color: #690 +} + +.language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { + color: #a67f59; + background: rgba(255, 255, 255, .5) +} + +.token.atrule, .token.attr-value, .token.keyword { + color: #07a +} + +.token.function { + color: #DD4A68 +} + +.token.important, .token.regex, .token.variable { + color: #e90 +} + +.token.bold, .token.important { + font-weight: 700 +} + +.token.italic { + font-style: italic +} + +.token.entity { + cursor: help +} + +@media print { + code[class*=language-], pre[class*=language-] { + text-shadow: none + } +} \ No newline at end of file diff --git a/public/themes/default/css/globals/responsive.css b/public/themes/default/css/globals/responsive.css new file mode 100755 index 00000000..802a39f0 --- /dev/null +++ b/public/themes/default/css/globals/responsive.css @@ -0,0 +1 @@ +.container{width:auto;max-width:1020px;padding-left:20px;padding-right:20px}.mobile-visible{display:none}@media (max-width:60em){.collection-card{width:45%;height:225px}}@media (max-width:50em){.mobile-block{display:block;float:none}.mobile-hidden{display:none}.mobile-visible{display:inline-block}.mobile-md-section{padding:10px 0}.column{width:100%!important;float:none;margin-bottom:1.25rem}.home .banner .collection-head{padding:1rem!important}.collection-head h1.collection-header{font-size:2rem!important}.site-header{padding-bottom:0}.site-header h1{float:none;text-align:center;border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:20px}.site-header .site-header-nav{float:none;display:block;margin-bottom:0;text-align:center}.site-header .site-header-nav .site-header-nav-item{padding:0 .5rem;margin-left:0;font-size:1rem;height:2rem;line-height:2rem;display:inline-block}.mini-repo-list-item .owner.css-truncate-target,.mini-repo-list-item .repo-and-owner.css-truncate-target{max-width:300px}.markdown-body h1{font-size:2rem}.markdown-body h2{font-size:1.4rem}.markdown-body h3{font-size:1.2rem}.markdown-body h4{font-size:1.1em}.markdown-body h5{font-size:1em}}@media (max-width:35em){.collection-card{width:100%;max-width:350px;margin:10px auto}}@media (max-width:20em){.site-header-nav .site-header-nav-item{min-width:20%}.collection-head .collection-info .meta-info{display:block;margin-top:15px}} \ No newline at end of file diff --git a/public/themes/default/css/pages/index.css b/public/themes/default/css/pages/index.css new file mode 100755 index 00000000..46c30428 --- /dev/null +++ b/public/themes/default/css/pages/index.css @@ -0,0 +1,128 @@ +.home .site-header { + background: #ffffff; + color: #fff +} + + +.home .banner .collection-head { + padding: 4rem 0; + color: #fff; + background: 0 0; + box-shadow: none; + -webkit-box-shadow: none +} + +.home .site-header { + border-bottom: none +} + +.home .site-header h1 a { + color: #777 +} + +.home .site-header .site-header-nav-item { + color: #777 +} + +.home .site-header .site-header-nav-item:hover { + color: #f4645f +} +.banner{ + background-image: url('../../images/header.jpg'); +} + + +a:hover{ + color: #f4645f; + text-decoration: none; +} + +.widget .tag-cloud a { + border: 1px solid #ebebeb; + padding: 2px 7px; + color: #959595; + line-height: 1.2em; + display: inline-block; + margin: 0 7px 7px 0; + -webkit-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; +} + +.widget .tag-cloud a:hover { + color: #ffffff; + background: #f4645f; + border: 1px solid #f4645f; + text-decoration: none; +} + +.tag-cloud{ + padding: 1px 10px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; + font-size: 14px; +} + +.pager li { + display: inline; +} + +.pager li>a, .pager li>span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} + +.pager .previous>a, .pager .previous>span { + float: left; +} + + +.demo_search { + display: inline-block; + padding: 6px 10px 15px; + margin-left: 1.25rem; + height:27px; +} + + +.demo_search .demo_sinput { + float:left; + height:19px; + line-height:19px; + padding:3px 5px; + border:#ebebeb 1px solid; + background:white; + color:#888; + font-size:12px; + + width:200px; + display:none; +} + + + + +.icon_search{ + background:url(../../images/search.png) no-repeat 1% 50%; + width:28px; + height:28px; + display:block; + cursor:pointer; +} + +.img-circle { + border-radius: 50%; +} +#author img { + width: 80px; + height: 80px; + top: 2em; +} \ No newline at end of file diff --git a/public/themes/default/css/sections/article.css b/public/themes/default/css/sections/article.css new file mode 100755 index 00000000..e69de29b diff --git a/public/themes/default/css/sections/mini-repo-list.css b/public/themes/default/css/sections/mini-repo-list.css new file mode 100755 index 00000000..c03a9ee9 --- /dev/null +++ b/public/themes/default/css/sections/mini-repo-list.css @@ -0,0 +1,70 @@ +.mini-repo-list .repo-name, .mini-repo-list-item .repo { + font-weight: 700 +} + +.mini-repo-list { + list-style: none +} + +.mini-repo-list > li:first-child .mini-repo-list-item { + border-top: 0 +} + +.mini-repo-list > li:last-child .mini-repo-list-item { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px +} + +.mini-repo-list .no-repo { + padding: 15px; + color: #999; + text-align: center +} + +.mini-repo-list-item { + position: relative; + display: block; + padding: 6px 64px 6px 3px; + font-size: 14px; + border-top: 1px solid #e5e5e5 +} + +.mini-repo-list-item.nostars { + padding: 6px 6px 6px 30px +} + +.mini-repo-list-item:hover { + text-decoration: none +} + +.mini-repo-list-item:hover .owner, .mini-repo-list-item:hover .repo { + text-decoration: underline +} + +.mini-repo-list-item .repo-icon { + float: left; + margin-top: 2px; + margin-left: -20px; + color: #666 +} + +.mini-repo-list-item .owner, .mini-repo-list-item .owner.css-truncate-target, .mini-repo-list-item .repo-and-owner.css-truncate-target { + max-width: 100% +} + +.mini-repo-list-item .stars { + position: absolute; + top: 0; + right: 10px; + margin-top: 6px; + font-size: 12px; + color: #888 +} + +.mini-repo-list-item .repo-description { + display: block; + max-width: 100%; + font-size: 12px; + color: #777; + line-height: 21px +} \ No newline at end of file diff --git a/public/themes/default/css/sections/repo-list.css b/public/themes/default/css/sections/repo-list.css new file mode 100755 index 00000000..80165b53 --- /dev/null +++ b/public/themes/default/css/sections/repo-list.css @@ -0,0 +1,111 @@ +.repo-list-name, .repo-list-name .prefix, .repo-list-name .slash { + font-weight: 400 +} + +.repo-list { + position: relative; + padding-left: 0 +} + +.repo-list .participation-graph { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: -1 +} + +.repo-list .participation-graph.disabled { + display: none +} + +.repo-list .participation-graph .bars { + position: absolute; + bottom: 0 +} + +.repo-list-item { + position: relative; + padding-top: 30px; + padding-bottom: 30px; + list-style: none; + border-bottom: 1px solid #eee +} + +.repo-list-name { + margin: 0 0 8px; + font-size: 20px; + line-height: 1.2 +} + +.repo-list-name:hover { + text-decoration: none; +} + +.repo-list-name .slash { + margin-right: -4px; + margin-left: -4px +} + +.repo-list-description { + max-width: 550px; + margin-top: 8px; + margin-bottom: 0; + font-size: 14px; + color: #666 +} + +.repo-list-stats { + margin-top: 6px; + float: right; + font-size: 12px; + font-weight: 700; + color: #888 +} + +.repo-list-stats .repo-list-stat-item { + margin-left: 8px; + display: inline-block; + color: #888; + text-decoration: none +} + +.repo-list-stats .repo-list-stat-item:hover { + color: #4183c4 +} + +.repo-list-stats .repo-list-stat-item > .octicon { + font-size: 14px +} + +.repo-list-info { + display: inline-block; + height: 100%; + margin-top: 0; + margin-bottom: 0; + font-size: 12px; + color: #888; + vertical-align: middle +} + +.repo-list-info .octicon { + margin-top: -3px; + font-size: 12px; + vertical-align: middle +} + +.repo-list-meta { + display: block; + margin-top: 8px; + margin-bottom: 0; + font-size: 13px; + color: #888 +} + +.repo-list-meta .avatar { + margin-top: -2px +} + +.repo-list-meta a:hover { + text-decoration: none +} \ No newline at end of file diff --git a/public/themes/default/fonts/codropsicons/codropsicons.eot b/public/themes/default/fonts/codropsicons/codropsicons.eot new file mode 100755 index 0000000000000000000000000000000000000000..f46c7f4844855ac4e6ae8d283280440004f2f8be GIT binary patch literal 2244 zcmds3Uuaup6hG%C_vZd-vSdx0P}?oNw`*FrwrT!tcI#H9%hsW;c2YJRxR9o4ZJUI& zg9$za`fi6f*GE~0PYU&E(ib}r6zSXs!a$@BMVJrD9#jyd@%P=_?w?Hd>_@+Qe&^5k z<$ULS-#Pt4C2GKAl1L1RWS0#fxyS;&JX+_;?@(x{Dsb+Oj+IZ2Fy*L36I8*sO!G8t z^F<&cAB|C-3Ur=kDGLjtW*Ud2V%wFdND=C%UW!5UU;98UeDlH&7ma2zufI~b{6hzk z=RTyZ$A*t)C`}6ZTi_!nPxZxnfBX(QJ`H|6HQT$g$w#69F%xf@Ux{{ zmVcAZVSNmIa4vhHOrwOo_yG7wF*}$4+5GY?BKaz0pO;JX3pf8-`xL)F0sVx1Hk?n@ z@8sUxap(^+cpY-O@yV{|AJW=7U*{@#)kz(;!e6zvPF=!&YlyGgJBcORL$f6sy-2bx z5=m!UHsqKvf5aD|RoUVfAUo{PJ4h8$`0#!Rd%v?tkkQGb6Et*}?r-~0rJ<_rlhD>r z0C361XW+SC$ixXA=nybih}r6RJ`PS~x|Q5C0IF`E_OAOrA!iuk7wgEc+P26$hJuwc zd9aQc60wOGEKXd%>NanGwv`Vh|6dfr6a1Jq+2k1FaHjSR7kCQC4G=Z<``k^tIG&Cs zdtIB#&K|3cPnJ${TeQ1{3!at}!((lU<0lerqsL$B5D{YX*KTl?Pf>(uPg79Y%c17r z4puC)k2_PzBb-jece4;B;>}$3dsjzvy;1Xe^%YH9(Y;=+QP)RSz5Wj)-o_JZs~Xg_ zt3rK6*LUhI`bZ;kNVR*o>8DXVOgcb^XbA77-HZ;eQfyT9$&0be38MT_)_as6V>@B{$^d8|}|2iF!C*B0Mj zo|##mS?Ov}1L3e4R`yAK!+qv+U0p*^F0OG9+L`4_s9S9ao1sv^&<(vk7He_elY`Q1a6OZ-7@EP5HN;@6TSLUZn#YlfITGBIa^{+Z + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/themes/default/fonts/codropsicons/codropsicons.ttf b/public/themes/default/fonts/codropsicons/codropsicons.ttf new file mode 100755 index 0000000000000000000000000000000000000000..72bed1fc166049e8b1a6865d60876c7b66c9c33f GIT binary patch literal 2060 zcmd^AT}&KR6h3EmXLf$r?QU6Ef|ZN|77g9DBnpBdZ6vW9SQZ3!Hw#T_ z;=?AqOJl6%(Lm#qCiSU?7wMD6P}?RZO^m@tV^SY9eNYnwmtPMhMn_XPKs$Zu$=(mKvP?*Z_FVbbKk3tVFX08@#l&}|{gdWak7PCK^pT9{Y z--PY6Vqt0d-XEKv;QiC^Pm?$srm8=jdgD<4Z)ETmEOhtdmgoPLl`X!*W#}qN!is@4 zT&`?Uhlt-DG; z)#_;xf|yn~1^U#8tj*i!fHf|3HRmj6R|rHaQ9& zE>*tb9M9t10ixPopS!MwW2s1@+qI({?y{PBq%gwGkW?ln5V7QP=39imR^B66GUiBzmUD49yIK9)*&>a1h}6-Xu8P4E%2 zP!jl2Cy$kk^T6iH%I3;@YxDDK^BWyCYM`OPY*3C%JwrX_a~&OnaIS1}5Z?KO>0sHP@33npmU>ChYXB_NC%xwqD=vzAuR;U5r{}dI_ zV@r4z(b48?JuiCORAIVQC@#%S74p!=C`&oILJO2ZFpXt%R~9k=X)MgsvMo!9$l~(H zsGFjYeVEVMe$Sgip^}&}#P?Dh+ZFQ5=|U-&4ad5p;lA*}B%r3cl3lTAF9M&n??2L> zKtd(^Tq4adULsPXiEL?Uu87(Tm7p~+9f^k(14jFme|E^mRVts=SqI=Y&6>I y$b=(fj*L1oE@V0y75_&@_m=ER`=E*HiVn@Fnds-Z=T06h9NPoy_k=w7FZ>JB7%cJt literal 0 HcmV?d00001 diff --git a/public/themes/default/fonts/codropsicons/codropsicons.woff b/public/themes/default/fonts/codropsicons/codropsicons.woff new file mode 100755 index 0000000000000000000000000000000000000000..1003218f04a098dcf26cf9260f28f9e58ea77b5f GIT binary patch literal 2072 zcmZXWdpy(oAIHCA47p6UnTVNAx#f~eb{QTrOKoOzopLBsIOg6FLUIq?b18%h zoyIie{&NbOTE-$B)FPL5IA7<{f4|S;@p^n7ujl*ycz-^h$LI0*ygxAnJf1)#5&%F3 z4eS8Gp#TRU+w=bqdpsTk01z1ffQ|tG><8h6k0TyWbOivZ4`B8#P#Qsn{5_6G9q=F% zgMK$C3}6mG37*CW060fl%*IK z=MfA-kWGSK6Vx8b(5;?edNc!M+iR$U(vSmy5IUIw)`OuzFa4ij?mz^YP6ZhT^q;{s zUJ9|@q36#LzV6muAN&o8Y;qD+xhNBz)vp`Q zEml)lP->n#fI8HFMCz*E(btJyv01Xp*omFDFC3m+;3(-lSTp5_`^DNGwEmXB-2If2 zS6!@UR|ltYOP6=_Z(6OkFWJoEv{qxQnWM5L_v(0jpDpLl$LX#=e0{k`q7tRO-lEdI zuG54#hl?dW7g2$BBNvtA8U%r#19Ff})<#-!?eAgr9kBb0Uu@F|Tl--0921hwjNKuG zy&kdi_U`?z7D6F%zQNw6rN;63rOD$t{?R_XL3$k|*mOZ*!IgeQh3i`xg@i3zwcO2W zy*U=OvOgjvQ_HLJ?XZ`?L2;{9*vcex_-P!HEcSDeVaKyY zhKpZL;3#`D7zQNloTO}5DO)>bIi2~!hxY_EXSCoZLM3aH4ZS_N)5}R&nE^>uVD|keSoe-E!1MbHZ(dePZgQ^Ds(DfPDQ>Xq&hXJW`cP9%ruUJ z4qy>|%_kqc@QqT7jKEgBRLzA}1>SO#NtjVzX811aXg&{uPK}nF?y6mDau13N?{r-3 zTPSbZyOF!4ZX0<961rY0|5xZe^(()(g}tAxmk~6a$F1~|^-m$No5%{h1~OgQdg?&= zXuLS$hB-%;deO7(q1CD&U~bgil^U>s2pNP3Or> z=hu24!o@)yL7szl$!Q0vPF)2Lln(C1eMAKkWgTo{-Z=zB8lk?4%!-cW>1@cI^E0z8 z&2iBm)9*t@(GUIbb_#K--pm=Qg<0yq}nj5J#g<- z@!N`$_n~g|6l_7l-{i4*f?m;zqvw5MPj%DEeMGqaS8m_O9lRdQ<~OwilbH*bGv1U_ znx1d4KDXpLS~8*ys~78y;ndNA7@PT5^Se{WjdknpyU!0hm0hY-ocdJD&e%8GmcipE zkV^Bv~cI$5Xu`=#BBKGm-G4$QsxEsTI z8|Ql$VIh&(;aE$Kfgil@#n8izvK(J}zUPJfKY5>`yTamC={h+N z+a#)V1_?G-7}F<=iw&BX>yKZ{3HhnlYaboG>KRqR@ZNH|GkIZE6xlcJ^46!hl~=uD zsJW_04cdgU51O}u?;3?fA_W3TW-Xb6$#YM_giR!Kz)^eqf!vM-l1LvU17xM)qyQ4s z&Jsg|d_x1!s{rn2oaV=|VloSu$sWZcc}!-9qVw4xI7OF60`sY~L`euVUmG)Ek=ii@ zVZ)?3Xe&&a-{hnx>{1uR7ABJIM5w?)OffRKq zup5DKYZi;eNYu`2VA>`scSQi-Ism{`2nE{+;10Hp?VPOahETQ%Jnb;f%{gT5lwEIS zU4GU=9-=Y2Z(Q5{`v){d=H#{f*}1pgpQ4tfHqhlicq7Ai;T=wVCw{qNk%(D!7B5Cy z3DOE#IyV_g8hz_>)*rJgSSt5uMx$L%TZjP%6h#@E$kojvNQP9yO>`_pPvwqZHij= zkgIfOX02<=!w6xspI@UwXx`tK;Le4;SiMF+K>_8Q#Wk&z&58N^1oM`HrCnoO>w!n~ Ul^xt5XNmvrh{ggx0r3FzU+*`ItpET3 literal 0 HcmV?d00001 diff --git a/public/themes/default/fonts/codropsicons/license.txt b/public/themes/default/fonts/codropsicons/license.txt new file mode 100755 index 00000000..88a5cbc9 --- /dev/null +++ b/public/themes/default/fonts/codropsicons/license.txt @@ -0,0 +1,6 @@ +Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/ +License: SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL + + +Icon Set: Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico +License: CC0 -- http://creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/public/themes/default/fonts/font-awesome-4.2.0/css/font-awesome.min.css b/public/themes/default/fonts/font-awesome-4.2.0/css/font-awesome.min.css new file mode 100755 index 00000000..ec53d4d6 --- /dev/null +++ b/public/themes/default/fonts/font-awesome-4.2.0/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file diff --git a/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.eot b/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 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�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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.ttf b/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄ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 V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.woff b/public/themes/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/public/themes/default/images/header.jpg b/public/themes/default/images/header.jpg new file mode 100755 index 0000000000000000000000000000000000000000..93d95655699f1dd070f84d2addb3f3586f0639a7 GIT binary patch literal 43740 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 Gcm5xT8Mq$+ literal 0 HcmV?d00001 diff --git a/public/themes/keylime/img/ico/120.png b/public/themes/default/images/ico/120.png old mode 100755 new mode 100644 similarity index 100% rename from public/themes/keylime/img/ico/120.png rename to public/themes/default/images/ico/120.png diff --git a/public/themes/keylime/img/ico/152.png b/public/themes/default/images/ico/152.png old mode 100755 new mode 100644 similarity index 100% rename from public/themes/keylime/img/ico/152.png rename to public/themes/default/images/ico/152.png diff --git a/public/themes/keylime/img/ico/32.png b/public/themes/default/images/ico/32.png old mode 100755 new mode 100644 similarity index 100% rename from public/themes/keylime/img/ico/32.png rename to public/themes/default/images/ico/32.png diff --git a/public/themes/keylime/img/ico/60.png b/public/themes/default/images/ico/60.png old mode 100755 new mode 100644 similarity index 100% rename from public/themes/keylime/img/ico/60.png rename to public/themes/default/images/ico/60.png diff --git a/public/themes/keylime/img/ico/72.png b/public/themes/default/images/ico/72.png old mode 100755 new mode 100644 similarity index 100% rename from public/themes/keylime/img/ico/72.png rename to public/themes/default/images/ico/72.png diff --git a/public/themes/default/images/line-transparent.png b/public/themes/default/images/line-transparent.png new file mode 100755 index 0000000000000000000000000000000000000000..39a0017ecbe5d92d39905de6e20ef71300b05018 GIT binary patch literal 19205 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 u@TaeB*1@|tkQ5 + + + + + diff --git a/public/themes/default/images/octicons-bg.png b/public/themes/default/images/octicons-bg.png new file mode 100755 index 0000000000000000000000000000000000000000..86eccbcbb922260e67e4d6cb37d438b154b3de1c GIT binary patch literal 7292 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 HJ4F2tPkH&b literal 0 HcmV?d00001 diff --git a/public/themes/default/images/octocat-spinner-16px.gif b/public/themes/default/images/octocat-spinner-16px.gif new file mode 100755 index 0000000000000000000000000000000000000000..91c532842fcef5aab805d12589a4ee79dddb4e6a GIT binary patch literal 2398 zcmbW1eOwdw9mg-1T)2cJzy%>nqDMdp3dvo_bAtpf37|p|X?>V=gd{?QJdgy5=qlkU z7J+IjEm&unozmH^!?v!p+BO1;(vDTst<1U!c53Ytw5u&^E4v`Lz53$SKX(7z{eJg- zcz-|N@9&qLYgDOCkw7HyS_CjTIXOH$eCyV&?(Xj1-rlCBrjCw|D_5>eO-(r*j?vN4 zk&%&m_wHT2dUa@MXnJ}&emXqgP_&N7EHFsL7?lD50J*gxuK?AXye9Ik&G5NQ=5nhS zEwPr`9O=R@PrWNdZI*Q5dU+m}=OV0SwwxNbbzMze=D&ntZ7aPr_UTz13rO+gx6o(}9K}no68i-gF^JdcOp_D=+UsV24LM zQ;^u~v`c&@mjoAM61zQA*NnBtTWI|+#=O>^q8%=)q|oYdR=Leq(mY|#nbhv*6NL;( z8qLFQ8`%_7h2CkdvRfVATz$Hb{3Ev5EE)_~VK}aoVM-~cP~o^ri5t~&HKCR%3EU`6 zn~O1@Z>Azku2yF1<#Id?#|^kjB~uvmDqL!i5_)--YR)&;;qjUrX6syD8<}_3m-ty< z4dJ$$yiRwK(^)Y$0R?4FuhUcJbfLsLIhtoO+Z>^Fs6F?q)mz=R?N*D??X;sa`f677q*-@5tFk8g~RUH`}5uYGj&Z=)an z^)FX0UmCgi!Jmi!^!|H87tRl!J3G+dcP9AmJ8z#p_12rcZ~XD(>#x0fqUR5<{Ql*a zj{ok(?qf%P`@)gmbUlCg*N2`v*xB*yGwlbSero@|C)-+E_BKDUC(zW`P+#Y--TnBl zcI~X$;j7+W<@LBLT~3F+qI{dJtaPi@VlFWi|8mP?n}4xsq&fQ&ucb79}lPnwTJrN0%%X@Z%OOMPO$m z!Hd~F;l7lZu(NDe41JM(;OWX(fLDYig;C;)!72jLu8gQnhxKqV&Sim#`i`aiBrrTH z{17*4KBiqH)8;pq)v7z=+Hls!5|o>T+@?k6UPL-UG{_d!=dx2sCVemxq_pL{zmysn z^s8IM$Joh_@a#1H=((65Cblf8oxFK)fO5J|XRbdDMT3C(PQjXJ3M&HSfGz@Q0Fj-= ziwT(7CIBf7MEhQT3%Dz+hCeS*9SJmyZRN|7xPEEmKvy*9MsizU-uVL7odi`K$;1&g zfMaLic>eiB>7zQBrakJ;-juR9%=XoUC=q189CJaQ$R9h$`w^4$*2=H%&(ZFvH3E#o z2{~{)2(UJ$B8`;g+rXMth!WhBB3=a_knf`?bJ3>+d%&h}urp#_EV6fl18xUHR?2>6 zq>KpqnlHJyS-gQMSz8wX*HV+$Kr31bZZASM07>@_`jfR<7QO30^9c@f)1o&f zzY`x>Exx`@cN1vsruNdc3;p##utO8gg&5_ayplku3_8L}X2N-OPznN~1jwLD1q)(1 zHRbd7u91{#fZ<>$NU3^cLtum81r=Kv|I)bPK2vkBkOK8(rXVK&lW3`IJUVc8tg%W`%wYz^LEchv)eYNiBEB?xgYdut<2*8eWm|>ik&#IjmDKiS=HRw`E+E6L^vN zEqq@v=CuMp6(kbh0bwwHeabkkPCs60E8$!=^yyA+A+e4CcQucXO;U^LmUgv{$1UrP zD$tuyQZOd6o5H6-G>;xxSx4VV=vnL)(r6A8Mm zeV;>8?Tv&5g^AF<XG=xIUFf5A` OAaFcy>9gd(KlC3+WDQCH literal 0 HcmV?d00001 diff --git a/public/themes/default/images/octocat-spinner-32-EAF2F5.gif b/public/themes/default/images/octocat-spinner-32-EAF2F5.gif new file mode 100755 index 0000000000000000000000000000000000000000..13cc6553bd0f11e0f7a59f9a21dbfcdada48879c GIT binary patch literal 2673 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 literal 0 HcmV?d00001 diff --git a/public/themes/default/images/search.png b/public/themes/default/images/search.png new file mode 100755 index 0000000000000000000000000000000000000000..4897a3bb02f764bf5ab90aa6869d906478fa2d82 GIT binary patch literal 1204 zcmeAS@N?(olHy`uVBq!ia0vp^{214Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>SBZp=l35jMy+$saeU$1ouk*kGvJT1;=CZqn*yOb4~0$4E)BeyZxTJ@_By_RScCFn z+ckd=7PPP(=v5DHJm(Mg_VIp{*EJ3C>nC}Q!>*kachu!TC)tO!4G6Zaei7!d16s2gJ*7Hda7?? zdS-IAf|;I$o(0e@g+N0yg$fI^crz0Pu=NJ!x`vht86_nJR{Hwo<>h*rAYDKV)TNhS zl+MaC#}sI?1jyu&jMCgBD=U}$#`0HD%h2E*n5ck8360o!e5<&m11o>9VJ zW@yxV`t1#%8gV3ZplZT1Q%W)zOf4-;3KC8Ml}I8f@y*OlEvYO>WdOTMzaTH&ep8qq znmN89KvfKeCMG79Mux`5Ms=^IlmnFrBbgJNSp`&Ku4n1(.5?l/(2-o-a):l/(o+a),o){case r:i=(s-e)/l+(e>s?6:0);break;case s:i=(e-r)/l+2;break;case e:i=(r-s)/l+4}i/=6}return{h:i,s:n,l:h}}function n(t){function r(t,r,s){return 0>s&&(s+=1),s>1&&(s-=1),1/6>s?t+6*(r-t)*s:.5>s?r:2/3>s?t+(r-t)*(2/3-s)*6:t}var s,e,i,n=t.h,o=t.s,a=t.l;if(0===o)s=e=i=a;else{var h=.5>a?a*(1+o):a+o-a*o,l=2*a-h;s=r(l,h,n+1/3),e=r(l,h,n),i=r(l,h,n-1/3)}return{r:Math.round(255*s),g:Math.round(255*e),b:Math.round(255*i)}}r.exports={hex2rgb:s,rgb2hex:e,rgb2hsl:i,hsl2rgb:n,rgb2rgbString:function(t){return"rgb("+[t.r,t.g,t.b].join(",")+")"}}},{}],3:[function(t,r){!function(s){"use strict";function e(t){return function(r,s){return"object"==typeof r&&(s=r,r=null),(null===r||void 0===r)&&(r=(new Date).toString()),s||(s={}),t.call(this,r,s)}}var i=t("./pattern"),n=r.exports={generate:e(function(t,r){return new i(t,r)})};s&&(s.fn.geopattern=e(function(t,r){return this.each(function(){var e=s(this).attr("data-title-sha");e&&(r=s.extend({hash:e},r));var i=n.generate(t,r);s(this).css("background-image",i.toDataUrl())})}))}("undefined"!=typeof jQuery?jQuery:null)},{"./pattern":4}],4:[function(t,r){(function(s){"use strict";function e(t,r,s){return parseInt(t.substr(r,s||1),16)}function i(t,r,s,e,i){var n=parseFloat(t),o=s-r,a=i-e;return(n-r)*a/o+e}function n(t){return t%2===0?C:j}function o(t){return i(t,0,15,M,W)}function a(t){var r=t,s=r/2,e=Math.sin(60*Math.PI/180)*r;return[0,e,s,0,s+r,0,2*r,e,s+r,2*e,s,2*e,0,e].join(",")}function h(t,r){var s=.66*r;return[[0,0,t/2,r-s,t/2,r,0,s,0,0],[t/2,r-s,t,0,t,s,t/2,r,t/2,r-s]].map(function(t){return t.join(",")})}function l(t){return[[t,0,t,3*t],[0,t,3*t,t]]}function c(t){var r=t,s=.33*r;return[s,0,r-s,0,r,s,r,r-s,r-s,r,s,r,0,r-s,0,s,s,0].join(",")}function f(t,r){var s=t/2;return[s,0,t,r,0,r,s,0].join(",")}function u(t,r){return[t/2,0,t,r/2,t/2,r,0,r/2].join(",")}function p(t){return[0,0,t,t,0,t,0,0].join(",")}function g(t,r,s,e,i){var a=p(e),h=o(i[0]),l=n(i[0]),c={stroke:S,"stroke-opacity":A,"fill-opacity":h,fill:l};t.polyline(a,c).transform({translate:[r+e,s],scale:[-1,1]}),t.polyline(a,c).transform({translate:[r+e,s+2*e],scale:[1,-1]}),h=o(i[1]),l=n(i[1]),c={stroke:S,"stroke-opacity":A,"fill-opacity":h,fill:l},t.polyline(a,c).transform({translate:[r+e,s+2*e],scale:[-1,-1]}),t.polyline(a,c).transform({translate:[r+e,s],scale:[1,1]})}function v(t,r,s,e,i){var a=o(i),h=n(i),l=p(e),c={stroke:S,"stroke-opacity":A,"fill-opacity":a,fill:h};t.polyline(l,c).transform({translate:[r,s+e],scale:[1,-1]}),t.polyline(l,c).transform({translate:[r+2*e,s+e],scale:[-1,-1]}),t.polyline(l,c).transform({translate:[r,s+e],scale:[1,1]}),t.polyline(l,c).transform({translate:[r+2*e,s+e],scale:[-1,1]})}function y(t,r){var s=t/2;return[0,0,r,s,0,t,0,0].join(",")}var d=t("extend"),b=t("./color"),m=t("./sha1"),k=t("./svg"),x={baseColor:"#933c3c"},w=["octogons","overlappingCircles","plusSigns","xes","sineWaves","hexagons","overlappingRings","plaid","triangles","squares","concentricCircles","diamonds","tessellation","nestedSquares","mosaicSquares","chevrons"],j="#222",C="#ddd",S="#000",A=.02,M=.02,W=.15,H=r.exports=function(t,r){return this.opts=d({},x,r),this.hash=r.hash||m(t),this.svg=new k,this.generateBackground(),this.generatePattern(),this};H.prototype.toSvg=function(){return this.svg.toString()},H.prototype.toString=function(){return this.toSvg()},H.prototype.toBase64=function(){var t,r=this.toSvg();return t="undefined"!=typeof window&&"function"==typeof window.btoa?window.btoa(r):new s(r).toString("base64")},H.prototype.toDataUri=function(){return"data:image/svg+xml;base64,"+this.toBase64()},H.prototype.toDataUrl=function(){return'url("'+this.toDataUri()+'")'},H.prototype.generateBackground=function(){var t,r,s,n;this.opts.color?s=b.hex2rgb(this.opts.color):(r=i(e(this.hash,14,3),0,4095,0,359),n=e(this.hash,17),t=b.rgb2hsl(b.hex2rgb(this.opts.baseColor)),t.h=(360*t.h-r+360)%360/360,t.s=n%2===0?Math.min(1,(100*t.s+n)/100):Math.max(0,(100*t.s-n)/100),s=b.hsl2rgb(t)),this.color=b.rgb2hex(s),this.svg.rect(0,0,"100%","100%",{fill:b.rgb2rgbString(s)})},H.prototype.generatePattern=function(){var t=this.opts.generator;if(t){if(w.indexOf(t)<0)throw new Error("The generator "+t+" does not exist.")}else t=w[e(this.hash,20)];return this["geo"+t.slice(0,1).toUpperCase()+t.slice(1)]()},H.prototype.geoHexagons=function(){var t,r,s,h,l,c,f,u,p=e(this.hash,0),g=i(p,0,15,8,60),v=g*Math.sqrt(3),y=2*g,d=a(g);for(this.svg.setWidth(3*y+3*g),this.svg.setHeight(6*v),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),t=f%2===0?u*v:u*v+v/2,h=o(c),r=n(c),l={fill:r,"fill-opacity":h,stroke:S,"stroke-opacity":A},this.svg.polyline(d,l).transform({translate:[f*g*1.5-y/2,t-v/2]}),0===f&&this.svg.polyline(d,l).transform({translate:[6*g*1.5-y/2,t-v/2]}),0===u&&(t=f%2===0?6*v:6*v+v/2,this.svg.polyline(d,l).transform({translate:[f*g*1.5-y/2,t-v/2]})),0===f&&0===u&&this.svg.polyline(d,l).transform({translate:[6*g*1.5-y/2,5*v+v/2]}),s++},H.prototype.geoSineWaves=function(){var t,r,s,a,h,l,c,f=Math.floor(i(e(this.hash,0),0,15,100,400)),u=Math.floor(i(e(this.hash,1),0,15,30,100)),p=Math.floor(i(e(this.hash,2),0,15,3,30));for(this.svg.setWidth(f),this.svg.setHeight(36*p),r=0;36>r;r++)l=e(this.hash,r),s=o(l),t=n(l),c=f/4*.7,h={fill:"none",stroke:t,opacity:s,"stroke-width":""+p+"px"},a="M0 "+u+" C "+c+" 0, "+(f/2-c)+" 0, "+f/2+" "+u+" S "+(f-c)+" "+2*u+", "+f+" "+u+" S "+(1.5*f-c)+" 0, "+1.5*f+", "+u,this.svg.path(a,h).transform({translate:[-f/4,p*r-1.5*u]}),this.svg.path(a,h).transform({translate:[-f/4,p*r-1.5*u+36*p]})},H.prototype.geoChevrons=function(){var t,r,s,a,l,c,f,u=i(e(this.hash,0),0,15,30,80),p=i(e(this.hash,0),0,15,30,80),g=h(u,p);for(this.svg.setWidth(6*u),this.svg.setHeight(6*p*.66),r=0,f=0;6>f;f++)for(c=0;6>c;c++)l=e(this.hash,r),s=o(l),t=n(l),a={stroke:S,"stroke-opacity":A,fill:t,"fill-opacity":s,"stroke-width":1},this.svg.group(a).transform({translate:[c*u,f*p*.66-p/2]}).polyline(g).end(),0===f&&this.svg.group(a).transform({translate:[c*u,6*p*.66-p/2]}).polyline(g).end(),r+=1},H.prototype.geoPlusSigns=function(){var t,r,s,a,h,c,f,u,p=i(e(this.hash,0),0,15,10,25),g=3*p,v=l(p);for(this.svg.setWidth(12*p),this.svg.setHeight(12*p),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),a=o(c),r=n(c),t=u%2===0?0:1,h={fill:r,stroke:S,"stroke-opacity":A,"fill-opacity":a},this.svg.group(h).transform({translate:[f*g-f*p+t*p-p,u*g-u*p-g/2]}).rect(v).end(),0===f&&this.svg.group(h).transform({translate:[4*g-f*p+t*p-p,u*g-u*p-g/2]}).rect(v).end(),0===u&&this.svg.group(h).transform({translate:[f*g-f*p+t*p-p,4*g-u*p-g/2]}).rect(v).end(),0===f&&0===u&&this.svg.group(h).transform({translate:[4*g-f*p+t*p-p,4*g-u*p-g/2]}).rect(v).end(),s++},H.prototype.geoXes=function(){var t,r,s,a,h,c,f,u,p=i(e(this.hash,0),0,15,10,25),g=l(p),v=3*p*.943;for(this.svg.setWidth(3*v),this.svg.setHeight(3*v),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),a=o(c),t=f%2===0?u*v-.5*v:u*v-.5*v+v/4,r=n(c),h={fill:r,opacity:a},this.svg.group(h).transform({translate:[f*v/2-v/2,t-u*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===f&&this.svg.group(h).transform({translate:[6*v/2-v/2,t-u*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===u&&(t=f%2===0?6*v-v/2:6*v-v/2+v/4,this.svg.group(h).transform({translate:[f*v/2-v/2,t-6*v/2],rotate:[45,v/2,v/2]}).rect(g).end()),5===u&&this.svg.group(h).transform({translate:[f*v/2-v/2,t-11*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===f&&0===u&&this.svg.group(h).transform({translate:[6*v/2-v/2,t-6*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),s++},H.prototype.geoOverlappingCircles=function(){var t,r,s,a,h,l,c,f=e(this.hash,0),u=i(f,0,15,25,200),p=u/2;for(this.svg.setWidth(6*p),this.svg.setHeight(6*p),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:t,opacity:s},this.svg.circle(l*p,c*p,p,a),0===l&&this.svg.circle(6*p,c*p,p,a),0===c&&this.svg.circle(l*p,6*p,p,a),0===l&&0===c&&this.svg.circle(6*p,6*p,p,a),r++},H.prototype.geoOctogons=function(){var t,r,s,a,h,l,f=i(e(this.hash,0),0,15,10,60),u=c(f);for(this.svg.setWidth(6*f),this.svg.setHeight(6*f),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.polyline(u,{fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A}).transform({translate:[h*f,l*f]}),r+=1},H.prototype.geoSquares=function(){var t,r,s,a,h,l,c=i(e(this.hash,0),0,15,10,60);for(this.svg.setWidth(6*c),this.svg.setHeight(6*c),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.rect(h*c,l*c,c,c,{fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A}),r+=1},H.prototype.geoConcentricCircles=function(){var t,r,s,a,h,l,c=e(this.hash,0),f=i(c,0,15,10,60),u=f/5;for(this.svg.setWidth(6*(f+u)),this.svg.setHeight(6*(f+u)),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.circle(h*f+h*u+(f+u)/2,l*f+l*u+(f+u)/2,f/2,{fill:"none",stroke:t,opacity:s,"stroke-width":u+"px"}),a=e(this.hash,39-r),s=o(a),t=n(a),this.svg.circle(h*f+h*u+(f+u)/2,l*f+l*u+(f+u)/2,f/4,{fill:t,"fill-opacity":s}),r+=1},H.prototype.geoOverlappingRings=function(){var t,r,s,a,h,l,c,f=e(this.hash,0),u=i(f,0,15,10,60),p=u/4;for(this.svg.setWidth(6*u),this.svg.setHeight(6*u),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":p+"px"},this.svg.circle(l*u,c*u,u-p/2,a),0===l&&this.svg.circle(6*u,c*u,u-p/2,a),0===c&&this.svg.circle(l*u,6*u,u-p/2,a),0===l&&0===c&&this.svg.circle(6*u,6*u,u-p/2,a),r+=1},H.prototype.geoTriangles=function(){var t,r,s,a,h,l,c,u,p=e(this.hash,0),g=i(p,0,15,15,80),v=g/2*Math.sqrt(3),y=f(g,v);for(this.svg.setWidth(3*g),this.svg.setHeight(6*v),r=0,u=0;6>u;u++)for(c=0;6>c;c++)l=e(this.hash,r),s=o(l),t=n(l),h={fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A},a=u%2===0?c%2===0?180:0:c%2!==0?180:0,this.svg.polyline(y,h).transform({translate:[c*g*.5-g/2,v*u],rotate:[a,g/2,v/2]}),0===c&&this.svg.polyline(y,h).transform({translate:[6*g*.5-g/2,v*u],rotate:[a,g/2,v/2]}),r+=1},H.prototype.geoDiamonds=function(){var t,r,s,a,h,l,c,f,p=i(e(this.hash,0),0,15,10,50),g=i(e(this.hash,1),0,15,10,50),v=u(p,g);for(this.svg.setWidth(6*p),this.svg.setHeight(3*g),s=0,f=0;6>f;f++)for(c=0;6>c;c++)l=e(this.hash,s),a=o(l),r=n(l),h={fill:r,"fill-opacity":a,stroke:S,"stroke-opacity":A},t=f%2===0?0:p/2,this.svg.polyline(v,h).transform({translate:[c*p-p/2+t,g/2*f-g/2]}),0===c&&this.svg.polyline(v,h).transform({translate:[6*p-p/2+t,g/2*f-g/2]}),0===f&&this.svg.polyline(v,h).transform({translate:[c*p-p/2+t,g/2*6-g/2]}),0===c&&0===f&&this.svg.polyline(v,h).transform({translate:[6*p-p/2+t,g/2*6-g/2]}),s+=1},H.prototype.geoNestedSquares=function(){var t,r,s,a,h,l,c,f=i(e(this.hash,0),0,15,4,12),u=7*f;for(this.svg.setWidth(6*(u+f)+6*f),this.svg.setHeight(6*(u+f)+6*f),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":f+"px"},this.svg.rect(l*u+l*f*2+f/2,c*u+c*f*2+f/2,u,u,a),h=e(this.hash,39-r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":f+"px"},this.svg.rect(l*u+l*f*2+f/2+2*f,c*u+c*f*2+f/2+2*f,3*f,3*f,a),r+=1},H.prototype.geoMosaicSquares=function(){var t,r,s,n=i(e(this.hash,0),0,15,15,50);for(this.svg.setWidth(8*n),this.svg.setHeight(8*n),t=0,s=0;4>s;s++)for(r=0;4>r;r++)r%2===0?s%2===0?v(this.svg,r*n*2,s*n*2,n,e(this.hash,t)):g(this.svg,r*n*2,s*n*2,n,[e(this.hash,t),e(this.hash,t+1)]):s%2===0?g(this.svg,r*n*2,s*n*2,n,[e(this.hash,t),e(this.hash,t+1)]):v(this.svg,r*n*2,s*n*2,n,e(this.hash,t)),t+=1},H.prototype.geoPlaid=function(){var t,r,s,i,a,h,l,c=0,f=0;for(r=0;36>r;)i=e(this.hash,r),c+=i+5,l=e(this.hash,r+1),s=o(l),t=n(l),a=l+5,this.svg.rect(0,c,"100%",a,{opacity:s,fill:t}),c+=a,r+=2;for(r=0;36>r;)i=e(this.hash,r),f+=i+5,l=e(this.hash,r+1),s=o(l),t=n(l),h=l+5,this.svg.rect(f,0,h,"100%",{opacity:s,fill:t}),f+=h,r+=2;this.svg.setWidth(f),this.svg.setHeight(c)},H.prototype.geoTessellation=function(){var t,r,s,a,h,l=i(e(this.hash,0),0,15,5,40),c=l*Math.sqrt(3),f=2*l,u=l/2*Math.sqrt(3),p=y(l,u),g=3*l+2*u,v=2*c+2*l;for(this.svg.setWidth(g),this.svg.setHeight(v),r=0;20>r;r++)switch(h=e(this.hash,r),s=o(h),t=n(h),a={stroke:S,"stroke-opacity":A,fill:t,"fill-opacity":s,"stroke-width":1},r){case 0:this.svg.rect(-l/2,-l/2,l,l,a),this.svg.rect(g-l/2,-l/2,l,l,a),this.svg.rect(-l/2,v-l/2,l,l,a),this.svg.rect(g-l/2,v-l/2,l,l,a);break;case 1:this.svg.rect(f/2+u,c/2,l,l,a);break;case 2:this.svg.rect(-l/2,v/2-l/2,l,l,a),this.svg.rect(g-l/2,v/2-l/2,l,l,a);break;case 3:this.svg.rect(f/2+u,1.5*c+l,l,l,a);break;case 4:this.svg.polyline(p,a).transform({translate:[l/2,-l/2],rotate:[0,l/2,u/2]}),this.svg.polyline(p,a).transform({translate:[l/2,v- -l/2],rotate:[0,l/2,u/2],scale:[1,-1]});break;case 5:this.svg.polyline(p,a).transform({translate:[g-l/2,-l/2],rotate:[0,l/2,u/2],scale:[-1,1]}),this.svg.polyline(p,a).transform({translate:[g-l/2,v+l/2],rotate:[0,l/2,u/2],scale:[-1,-1]});break;case 6:this.svg.polyline(p,a).transform({translate:[g/2+l/2,c/2]});break;case 7:this.svg.polyline(p,a).transform({translate:[g-g/2-l/2,c/2],scale:[-1,1]});break;case 8:this.svg.polyline(p,a).transform({translate:[g/2+l/2,v-c/2],scale:[1,-1]});break;case 9:this.svg.polyline(p,a).transform({translate:[g-g/2-l/2,v-c/2],scale:[-1,-1]});break;case 10:this.svg.polyline(p,a).transform({translate:[l/2,v/2-l/2]});break;case 11:this.svg.polyline(p,a).transform({translate:[g-l/2,v/2-l/2],scale:[-1,1]});break;case 12:this.svg.rect(0,0,l,l,a).transform({translate:[l/2,l/2],rotate:[-30,0,0]});break;case 13:this.svg.rect(0,0,l,l,a).transform({scale:[-1,1],translate:[-g+l/2,l/2],rotate:[-30,0,0]});break;case 14:this.svg.rect(0,0,l,l,a).transform({translate:[l/2,v/2-l/2-l],rotate:[30,0,l]});break;case 15:this.svg.rect(0,0,l,l,a).transform({scale:[-1,1],translate:[-g+l/2,v/2-l/2-l],rotate:[30,0,l]});break;case 16:this.svg.rect(0,0,l,l,a).transform({scale:[1,-1],translate:[l/2,-v+v/2-l/2-l],rotate:[30,0,l]});break;case 17:this.svg.rect(0,0,l,l,a).transform({scale:[-1,-1],translate:[-g+l/2,-v+v/2-l/2-l],rotate:[30,0,l]});break;case 18:this.svg.rect(0,0,l,l,a).transform({scale:[1,-1],translate:[l/2,-v+l/2],rotate:[-30,0,0]});break;case 19:this.svg.rect(0,0,l,l,a).transform({scale:[-1,-1],translate:[-g+l/2,-v+l/2],rotate:[-30,0,0]})}}}).call(this,t("buffer").Buffer)},{"./color":2,"./sha1":5,"./svg":6,buffer:8,extend:9}],5:[function(t,r){"use strict";function s(){function t(){for(var t=16;80>t;t++){var r=f[t-3]^f[t-8]^f[t-14]^f[t-16];f[t]=r<<1|r>>>31}var s,e,i=o,n=a,p=h,g=l,v=c;for(t=0;80>t;t++){20>t?(s=g^n&(p^g),e=1518500249):40>t?(s=n^p^g,e=1859775393):60>t?(s=n&p|g&(n|p),e=2400959708):(s=n^p^g,e=3395469782);var y=(i<<5|i>>>27)+s+v+e+(0|f[t]);v=g,g=p,p=n<<30|n>>>2,n=i,i=y}for(o=o+i|0,a=a+n|0,h=h+p|0,l=l+g|0,c=c+v|0,u=0,t=0;16>t;t++)f[t]=0}function r(r){f[u]|=(255&r)<e;e++)r(t.charCodeAt(e))}function e(t){if("string"==typeof t)return s(t);var e=t.length;g+=8*e;for(var i=0;e>i;i++)r(t[i])}function i(t){for(var r="",s=28;s>=0;s-=4)r+=(t>>s&15).toString(16);return r}function n(){r(128),(u>14||14===u&&24>p)&&t(),u=14,p=24,r(0),r(0),r(g>0xffffffffff?g/1099511627776:0),r(g>4294967295?g/4294967296:0);for(var s=24;s>=0;s-=8)r(g>>s);return i(o)+i(a)+i(h)+i(l)+i(c)}var o=1732584193,a=4023233417,h=2562383102,l=271733878,c=3285377520,f=new Uint32Array(80),u=0,p=24,g=0;return{update:e,digest:n}}r.exports=function(t){if(void 0===t)return s();var r=s();return r.update(t),r.digest()}},{}],6:[function(t,r){"use strict";function s(){return this.width=100,this.height=100,this.svg=new i("svg"),this.context=[],this.setAttributes(this.svg,{xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height}),this}var e=t("extend"),i=t("./xml");r.exports=s,s.prototype.currentContext=function(){return this.context[this.context.length-1]||this.svg},s.prototype.end=function(){return this.context.pop(),this},s.prototype.currentNode=function(){var t=this.currentContext();return t.lastChild||t},s.prototype.transform=function(t){return this.currentNode().setAttribute("transform",Object.keys(t).map(function(r){return r+"("+t[r].join(",")+")"}).join(" ")),this},s.prototype.setAttributes=function(t,r){Object.keys(r).forEach(function(s){t.setAttribute(s,r[s])})},s.prototype.setWidth=function(t){this.svg.setAttribute("width",Math.floor(t))},s.prototype.setHeight=function(t){this.svg.setAttribute("height",Math.floor(t))},s.prototype.toString=function(){return this.svg.toString()},s.prototype.rect=function(t,r,s,n,o){var a=this;if(Array.isArray(t))return t.forEach(function(t){a.rect.apply(a,t.concat(o))}),this;var h=new i("rect");return this.currentContext().appendChild(h),this.setAttributes(h,e({x:t,y:r,width:s,height:n},o)),this},s.prototype.circle=function(t,r,s,n){var o=new i("circle");return this.currentContext().appendChild(o),this.setAttributes(o,e({cx:t,cy:r,r:s},n)),this},s.prototype.path=function(t,r){var s=new i("path");return this.currentContext().appendChild(s),this.setAttributes(s,e({d:t},r)),this},s.prototype.polyline=function(t,r){var s=this;if(Array.isArray(t))return t.forEach(function(t){s.polyline(t,r)}),this;var n=new i("polyline");return this.currentContext().appendChild(n),this.setAttributes(n,e({points:t},r)),this},s.prototype.group=function(t){var r=new i("g");return this.currentContext().appendChild(r),this.context.push(r),this.setAttributes(r,e({},t)),this}},{"./xml":7,extend:9}],7:[function(t,r){"use strict";var s=r.exports=function(t){return this instanceof s?(this.tagName=t,this.attributes=Object.create(null),this.children=[],this.lastChild=null,this):new s(t)};s.prototype.appendChild=function(t){return this.children.push(t),this.lastChild=t,this},s.prototype.setAttribute=function(t,r){return this.attributes[t]=r,this},s.prototype.toString=function(){var t=this;return["<",t.tagName,Object.keys(t.attributes).map(function(r){return[" ",r,'="',t.attributes[r],'"'].join("")}).join(""),">",t.children.map(function(t){return t.toString()}).join(""),""].join("")}},{}],8:[function(){},{}],9:[function(t,r){function s(t){if(!t||"[object Object]"!==i.call(t)||t.nodeType||t.setInterval)return!1;var r=e.call(t,"constructor"),s=e.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!s)return!1;var n;for(n in t);return void 0===n||e.call(t,n)}var e=Object.prototype.hasOwnProperty,i=Object.prototype.toString;r.exports=function n(){var t,r,e,i,o,a,h=arguments[0]||{},l=1,c=arguments.length,f=!1;for("boolean"==typeof h&&(f=h,h=arguments[1]||{},l=2),"object"!=typeof h&&"function"!=typeof h&&(h={});c>l;l++)if(null!=(t=arguments[l]))for(r in t)e=h[r],i=t[r],h!==i&&(f&&i&&(s(i)||(o=Array.isArray(i)))?(o?(o=!1,a=e&&Array.isArray(e)?e:[]):a=e&&s(e)?e:{},h[r]=n(f,a,i)):void 0!==i&&(h[r]=i));return h}},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/public/themes/default/js/prism.js b/public/themes/default/js/prism.js new file mode 100755 index 00000000..37340c9e --- /dev/null +++ b/public/themes/default/js/prism.js @@ -0,0 +1 @@ +self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{};var Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/e.length)break e;if(!(m instanceof a)){u.lastIndex=0;var h=u.exec(m);if(h){p&&(g=h[1].length);var b=h.index-1+g,h=h[0].slice(g),w=h.length,y=b+w,k=m.slice(0,b+1),P=m.slice(y+1),v=[f,1];k&&v.push(k);var _=new a(s,c?t.tokenize(h,c):h,d);v.push(_),P&&v.push(P),Array.prototype.splice.apply(i,v)}}}}}return i},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var i,r=0;i=a[r++];)i(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,i){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var r={type:e.type,content:n.stringify(e.content,a,i),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:i};if("comment"==r.type&&(r.attributes.spellcheck="true"),e.alias){var s="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}t.hooks.run("wrap",r);var o="";for(var l in r.attributes)o+=l+'="'+(r.attributes[l]||"")+'"';return"<"+r.tag+' class="'+r.classes.join(" ")+'" '+o+">"+r.content+""},!self.document)return self.addEventListener?(self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,i=n.code;self.postMessage(JSON.stringify(t.util.encode(t.tokenize(i,t.languages[a])))),self.close()},!1),self.Prism):self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),Prism.languages.markup={comment://,prolog:/<\?.+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/i,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/=|>|"/}},punctuation:/\/?>/,"attr-name":{pattern:/[\w:-]+/,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{punctuation:/[;:]/}},url:/url\((?:(["'])(\\\n|\\?.)*?\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/,string:/("|')(\\\n|\\?.)*?\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,punctuation:/[\{\};:]/,"function":/[-a-z0-9]+(?=\()/i},Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/[\w\W]*?<\/style>/i,inside:{tag:{pattern:/|<\/style>/i,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css},alias:"language-css"}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},Prism.languages.markup.tag)),Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/("|')(\\\n|\\?.)*?\1/,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":{pattern:/[a-z0-9_]+\(/i,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/,ignore:/&(lt|gt|amp);/i,punctuation:/[{}[\];(),.:]/},Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|-?Infinity)\b/,"function":/(?!\d)[a-z0-9_$]+(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/[\w\W]*?<\/script>/i,inside:{tag:{pattern:/|<\/script>/i,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript},alias:"language-javascript"}}),Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+(?:\(.*\))?/,"class":/\.[-:\.\w]+/,id:/#[-:\.\w]+/}},Prism.languages.insertBefore("css","function",{hexcode:/#[\da-f]{3,6}/i,entity:/\\[\da-f]{1,8}/i,number:/[\d%\.]+/}),Prism.languages.php=Prism.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])(\/\/).*?(\r?\n|$))/,lookbehind:!0}}),Prism.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*?(\r?\n|$)/,lookbehind:!0,alias:"comment"}}),Prism.languages.insertBefore("php","keyword",{delimiter:/(\?>|<\?php|<\?)/i,variable:/(\$\w+)\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),Prism.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),Prism.languages.markup&&(Prism.hooks.add("before-highlight",function(e){"php"===e.language&&(e.tokenStack=[],e.backupCode=e.code,e.code=e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(t){return e.tokenStack.push(t),"{{{PHP"+e.tokenStack.length+"}}}"}))}),Prism.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),Prism.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t,n=0;t=e.tokenStack[n];n++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(n+1)+"}}}",Prism.highlight(t,e.grammar,"php"));e.element.innerHTML=e.highlightedCode}}),Prism.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),Prism.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:Prism.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),Prism.languages.insertBefore("php","variable",{"this":/\$this/,global:/\$_?(GLOBALS|SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/(static|self|parent)/,punctuation:/(::|\\)/}}}),Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*?(\r?\n|$))/,lookbehind:!0},atrule:/@[\w-]+(?=\s+(\(|\{|;))/i,url:/([-a-z]+-)*url(?=\()/i,selector:/([^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+)(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m}),Prism.languages.insertBefore("scss","atrule",{keyword:/@(if|else if|else|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)|(?=@for\s+\$[-_\w]+\s)+from/i}),Prism.languages.insertBefore("scss","property",{variable:/((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i}),Prism.languages.insertBefore("scss","function",{placeholder:/%[-_\w]+/i,statement:/\B!(default|optional)\b/i,"boolean":/\b(true|false)\b/,"null":/\b(null)\b/,operator:/\s+([-+]{1,2}|={1,2}|!=|\|?\||\?|\*|\/|%)\s+/}),Prism.languages.swift=Prism.languages.extend("clike",{keyword:/\b(as|associativity|break|case|class|continue|convenience|default|deinit|didSet|do|dynamicType|else|enum|extension|fallthrough|final|for|func|get|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|required|return|right|safe|self|Self|set|static|struct|subscript|super|switch|Type|typealias|unowned|unowned|unsafe|var|weak|where|while|willSet|__COLUMN__|__FILE__|__FUNCTION__|__LINE__)\b/,number:/\b([\d_]+(\.[\de_]+)?|0x[a-f0-9_]+(\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,constant:/\b(nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,atrule:/@\b(IBOutlet|IBDesignable|IBAction|IBInspectable|class_protocol|exported|noreturn|NSCopying|NSManaged|objc|UIApplicationMain|auto_closure)\b/,builtin:/\b([A-Z]\S+|abs|advance|alignof|alignofValue|assert|contains|count|countElements|debugPrint|debugPrintln|distance|dropFirst|dropLast|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lazy|lexicographicalCompare|map|max|maxElement|min|minElement|numericCast|overlaps|partition|prefix|print|println|reduce|reflect|reverse|sizeof|sizeofValue|sort|sorted|split|startsWith|stride|strideof|strideofValue|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|withExtendedLifetime|withUnsafeMutablePointer|withUnsafeMutablePointers|withUnsafePointer|withUnsafePointers|withVaList)\b/}),Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(![^\s]+)?[ \t]*[|>])[ \t]*(?:(\n[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#[^\n]+/,key:{pattern:/(\s*[:\-,[{\n?][ \t]*(![^\s]+)?[ \t]*)[^\n{[\]},#]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/((^|\n)[ \t]*)%[^\n]+/,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(\d{4}-\d\d?-\d\d?([tT]|[ \t]+)\d\d?:\d{2}:\d{2}(\.\d*)?[ \t]*(Z|[-+]\d\d?(:\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(:\d{2}(\.\d*)?)?)(?=[ \t]*(\n|$|,|]|}))/,lookbehind:!0,alias:"number"},"boolean":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(true|false)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0,alias:"important"},"null":{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)(null|~)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')(?=[ \t]*(\n|$|,|]|}))/,lookbehind:!0},number:{pattern:/([:\-,[{]\s*(![^\s]+)?[ \t]*)[+\-]?(0x[\dA-Fa-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)[ \t]*(?=\n|$|,|]|})/i,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/([:[\]{}\-,|>?]|---|\.\.\.)/}; \ No newline at end of file diff --git a/public/themes/default/vendor/jquery/MIT-LICENSE.txt b/public/themes/default/vendor/jquery/MIT-LICENSE.txt new file mode 100755 index 00000000..cdd31b5c --- /dev/null +++ b/public/themes/default/vendor/jquery/MIT-LICENSE.txt @@ -0,0 +1,21 @@ +Copyright 2014 jQuery Foundation and other contributors +http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/public/themes/default/vendor/jquery/bower.json b/public/themes/default/vendor/jquery/bower.json new file mode 100755 index 00000000..0c80cd53 --- /dev/null +++ b/public/themes/default/vendor/jquery/bower.json @@ -0,0 +1,28 @@ +{ + "name": "jquery", + "version": "2.1.4", + "main": "dist/jquery.js", + "license": "MIT", + "ignore": [ + "**/.*", + "build", + "dist/cdn", + "speed", + "test", + "*.md", + "AUTHORS.txt", + "Gruntfile.js", + "package.json" + ], + "devDependencies": { + "sizzle": "2.1.1-jquery.2.1.2", + "requirejs": "2.1.10", + "qunit": "1.14.0", + "sinon": "1.8.1" + }, + "keywords": [ + "jquery", + "javascript", + "library" + ] +} diff --git a/public/themes/default/vendor/jquery/dist/jquery.js b/public/themes/default/vendor/jquery/dist/jquery.js new file mode 100755 index 00000000..eed17778 --- /dev/null +++ b/public/themes/default/vendor/jquery/dist/jquery.js @@ -0,0 +1,9210 @@ +/*! + * jQuery JavaScript Library v2.1.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-04-28T16:01Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// + +var arr = []; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + version = "2.1.4", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; + }, + + isPlainObject: function( obj ) { + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.constructor && + !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + return false; + } + + // If the function hasn't returned already, we're confident that + // |obj| is a plain object, created by {} or constructed with new Object + return true; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + // Support: Android<4.0, iOS<6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call(obj) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf("use strict") === 1 ) { + script = document.createElement("script"); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE9-11+ + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.2.0-pre + * http://sizzlejs.com/ + * + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-12-16 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + characterEncoding + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + nodeType = context.nodeType; + + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + if ( !seed && documentIsHTML ) { + + // Try to shortcut find operations when possible (e.g., not under DocumentFragment) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (jQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType !== 1 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + parent = doc.defaultView; + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Support tests + ---------------------------------------------------------------------- */ + documentIsHTML = !isXML( doc ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; + }); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +}); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Support: Blackberry 4.6 + // gEBID returns nodes no longer in the document (#6963) + if ( elem && elem.parentNode ) { + // Inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof rootjQuery.ready !== "undefined" ? + rootjQuery.ready( selector ) : + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.extend({ + dir: function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; + }, + + sibling: function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; + } +}); + +jQuery.fn.extend({ + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter(function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.unique( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.unique( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +}); +var rnotwhite = (/\S+/g); + + + +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // Add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // If we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +}); + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + jQuery.ready(); +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // We once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[0], key ) : emptyGet; +}; + + +/** + * Determines whether an object can have data + */ +jQuery.acceptData = function( owner ) { + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + +function Data() { + // Support: Android<4, + // Old WebKit does not have Object.preventExtensions/freeze method, + // return new empty object instead with no [[set]] accessor + Object.defineProperty( this.cache = {}, 0, { + get: function() { + return {}; + } + }); + + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; +Data.accepts = jQuery.acceptData; + +Data.prototype = { + key: function( owner ) { + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return the key for a frozen object. + if ( !Data.accepts( owner ) ) { + return 0; + } + + var descriptor = {}, + // Check if the owner object already has a cache key + unlock = owner[ this.expando ]; + + // If not, create one + if ( !unlock ) { + unlock = Data.uid++; + + // Secure it in a non-enumerable, non-writable property + try { + descriptor[ this.expando ] = { value: unlock }; + Object.defineProperties( owner, descriptor ); + + // Support: Android<4 + // Fallback to a less secure definition + } catch ( e ) { + descriptor[ this.expando ] = unlock; + jQuery.extend( owner, descriptor ); + } + } + + // Ensure the cache object + if ( !this.cache[ unlock ] ) { + this.cache[ unlock ] = {}; + } + + return unlock; + }, + set: function( owner, data, value ) { + var prop, + // There may be an unlock assigned to this node, + // if there is no entry for this "owner", create one inline + // and set the unlock as though an owner entry had always existed + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + // Fresh assignments by object are shallow copied + if ( jQuery.isEmptyObject( cache ) ) { + jQuery.extend( this.cache[ unlock ], data ); + // Otherwise, copy the properties one-by-one to the cache object + } else { + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + } + return cache; + }, + get: function( owner, key ) { + // Either a valid cache is found, or will be created. + // New caches will be created and the unlock returned, + // allowing direct access to the newly created + // empty data object. A valid owner object must be provided. + var cache = this.cache[ this.key( owner ) ]; + + return key === undefined ? + cache : cache[ key ]; + }, + access: function( owner, key, value ) { + var stored; + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ((key && typeof key === "string") && value === undefined) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase(key) ); + } + + // [*]When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + if ( key === undefined ) { + this.cache[ unlock ] = {}; + + } else { + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + }, + hasData: function( owner ) { + return !jQuery.isEmptyObject( + this.cache[ owner[ this.expando ] ] || {} + ); + }, + discard: function( owner ) { + if ( owner[ this.expando ] ) { + delete this.cache[ owner[ this.expando ] ]; + } + } +}; +var data_priv = new Data(); + +var data_user = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + data_user.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend({ + hasData: function( elem ) { + return data_user.hasData( elem ) || data_priv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return data_user.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + data_user.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to data_priv methods, these can be deprecated. + _data: function( elem, name, data ) { + return data_priv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + data_priv.remove( elem, name ); + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = data_user.get( elem ); + + if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + data_priv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + data_user.set( this, key ); + }); + } + + return access( this, function( value ) { + var data, + camelKey = jQuery.camelCase( key ); + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + // Attempt to get data from the cache + // with the key as-is + data = data_user.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to get data from the cache + // with the key camelized + data = data_user.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each(function() { + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = data_user.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + data_user.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf("-") !== -1 && data !== undefined ) { + data_user.set( this, key, value ); + } + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + data_user.remove( this, key ); + }); + } +}); + + +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = data_priv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = data_priv.access( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return data_priv.get( elem, key ) || data_priv.access( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + data_priv.remove( elem, [ type + "queue", key ] ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = data_priv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + }; + +var rcheckableType = (/^(?:checkbox|radio)$/i); + + + +(function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +})(); +var strundefined = typeof undefined; + + + +support.focusinBubbles = "onfocusin" in window; + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.hasData( elem ) && data_priv.get( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + data_priv.remove( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && jQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome<28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } +}; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: Android<4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && e.preventDefault ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && e.stopPropagation ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// Support: Chrome 15+ +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// Support: Firefox, Chrome, Safari +// Create "bubbling" focus and blur events +if ( !support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + data_priv.remove( doc, fix ); + + } else { + data_priv.access( doc, fix, attaches ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] + }; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: 1.x compatibility +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute("type"); + } + + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + data_priv.set( + elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) + ); + } +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( data_priv.hasData( src ) ) { + pdataOld = data_priv.access( src ); + pdataCur = data_priv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( data_user.hasData( src ) ) { + udataOld = data_user.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + data_user.set( dest, udataCur ); + } +} + +function getAll( context, tag ) { + var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : + context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + // Support: QtWebKit, PhantomJS + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: QtWebKit, PhantomJS + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; + }, + + cleanData: function( elems ) { + var data, elem, type, key, + special = jQuery.event.special, + i = 0; + + for ( ; (elem = elems[ i ]) !== undefined; i++ ) { + if ( jQuery.acceptData( elem ) ) { + key = elem[ data_priv.expando ]; + + if ( key && (data = data_priv.cache[ key ]) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + if ( data_priv.cache[ key ] ) { + // Discard any remaining `private` data + delete data_priv.cache[ key ]; + } + } + } + // Discard any remaining `user` data + delete data_user.cache[ elem[ data_user.expando ] ]; + } + } +}); + +jQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each(function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + }); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + jQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return this; + } +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optimization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || jQuery( "