cssesc-source 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (908) hide show
  1. checksums.yaml +15 -0
  2. data/lib/cssesc/source.rb +7 -0
  3. data/vendor/LICENSE-MIT.txt +20 -0
  4. data/vendor/README.md +207 -0
  5. data/vendor/bin/cssesc +122 -0
  6. data/vendor/cssesc.js +177 -0
  7. data/vendor/man/cssesc.1 +70 -0
  8. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/MIT-LICENSE.txt +21 -0
  9. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/README.md +43 -0
  10. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/bin/stripcolorcodes.js +18 -0
  11. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/index.js +3 -0
  12. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/package.json +42 -0
  13. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/fixture/with-colors +2 -0
  14. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/fixture/without-colors +2 -0
  15. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/stripcolorcodes-test.js +20 -0
  16. data/vendor/node_modules/grunt-shell/package.json +53 -0
  17. data/vendor/node_modules/grunt-shell/readme.md +221 -0
  18. data/vendor/node_modules/grunt-shell/tasks/shell.js +54 -0
  19. data/vendor/node_modules/grunt-template/LICENSE-MIT.txt +20 -0
  20. data/vendor/node_modules/grunt-template/README.md +123 -0
  21. data/vendor/node_modules/grunt-template/package.json +50 -0
  22. data/vendor/node_modules/grunt-template/tasks/template.js +44 -0
  23. data/vendor/node_modules/grunt/CONTRIBUTING.md +1 -0
  24. data/vendor/node_modules/grunt/LICENSE-MIT +22 -0
  25. data/vendor/node_modules/grunt/README.md +16 -0
  26. data/vendor/node_modules/grunt/internal-tasks/bump.js +151 -0
  27. data/vendor/node_modules/grunt/internal-tasks/subgrunt.js +34 -0
  28. data/vendor/node_modules/grunt/lib/grunt.js +156 -0
  29. data/vendor/node_modules/grunt/lib/grunt/cli.js +128 -0
  30. data/vendor/node_modules/grunt/lib/grunt/config.js +118 -0
  31. data/vendor/node_modules/grunt/lib/grunt/event.js +16 -0
  32. data/vendor/node_modules/grunt/lib/grunt/fail.js +84 -0
  33. data/vendor/node_modules/grunt/lib/grunt/file.js +440 -0
  34. data/vendor/node_modules/grunt/lib/grunt/help.js +129 -0
  35. data/vendor/node_modules/grunt/lib/grunt/log.js +352 -0
  36. data/vendor/node_modules/grunt/lib/grunt/option.js +42 -0
  37. data/vendor/node_modules/grunt/lib/grunt/task.js +451 -0
  38. data/vendor/node_modules/grunt/lib/grunt/template.js +95 -0
  39. data/vendor/node_modules/grunt/lib/grunt/util.js +188 -0
  40. data/vendor/node_modules/grunt/lib/util/task.js +323 -0
  41. data/vendor/node_modules/grunt/node_modules/async/LICENSE +19 -0
  42. data/vendor/node_modules/grunt/node_modules/async/Makefile +25 -0
  43. data/vendor/node_modules/grunt/node_modules/async/README.md +1021 -0
  44. data/vendor/node_modules/grunt/node_modules/async/index.js +3 -0
  45. data/vendor/node_modules/grunt/node_modules/async/lib/async.js +692 -0
  46. data/vendor/node_modules/grunt/node_modules/async/package.json +32 -0
  47. data/vendor/node_modules/grunt/node_modules/coffee-script/CNAME +1 -0
  48. data/vendor/node_modules/grunt/node_modules/coffee-script/LICENSE +22 -0
  49. data/vendor/node_modules/grunt/node_modules/coffee-script/README +51 -0
  50. data/vendor/node_modules/grunt/node_modules/coffee-script/Rakefile +78 -0
  51. data/vendor/node_modules/grunt/node_modules/coffee-script/bin/cake +7 -0
  52. data/vendor/node_modules/grunt/node_modules/coffee-script/bin/coffee +7 -0
  53. data/vendor/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf +44 -0
  54. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
  55. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js +111 -0
  56. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js +167 -0
  57. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js +500 -0
  58. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
  59. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js +77 -0
  60. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
  61. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
  62. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js +2986 -0
  63. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
  64. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
  65. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js +261 -0
  66. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
  67. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
  68. data/vendor/node_modules/grunt/node_modules/coffee-script/package.json +47 -0
  69. data/vendor/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt +22 -0
  70. data/vendor/node_modules/grunt/node_modules/colors/ReadMe.md +77 -0
  71. data/vendor/node_modules/grunt/node_modules/colors/colors.js +342 -0
  72. data/vendor/node_modules/grunt/node_modules/colors/example.html +76 -0
  73. data/vendor/node_modules/grunt/node_modules/colors/example.js +77 -0
  74. data/vendor/node_modules/grunt/node_modules/colors/package.json +29 -0
  75. data/vendor/node_modules/grunt/node_modules/colors/test.js +70 -0
  76. data/vendor/node_modules/grunt/node_modules/colors/themes/winston-dark.js +12 -0
  77. data/vendor/node_modules/grunt/node_modules/colors/themes/winston-light.js +12 -0
  78. data/vendor/node_modules/grunt/node_modules/dateformat/Readme.md +67 -0
  79. data/vendor/node_modules/grunt/node_modules/dateformat/lib/dateformat.js +165 -0
  80. data/vendor/node_modules/grunt/node_modules/dateformat/package.json +20 -0
  81. data/vendor/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js +4 -0
  82. data/vendor/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh +27 -0
  83. data/vendor/node_modules/grunt/node_modules/eventemitter2/README.md +212 -0
  84. data/vendor/node_modules/grunt/node_modules/eventemitter2/index.js +1 -0
  85. data/vendor/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js +561 -0
  86. data/vendor/node_modules/grunt/node_modules/eventemitter2/package.json +62 -0
  87. data/vendor/node_modules/grunt/node_modules/exit/Gruntfile.js +48 -0
  88. data/vendor/node_modules/grunt/node_modules/exit/LICENSE-MIT +22 -0
  89. data/vendor/node_modules/grunt/node_modules/exit/README.md +75 -0
  90. data/vendor/node_modules/grunt/node_modules/exit/lib/exit.js +41 -0
  91. data/vendor/node_modules/grunt/node_modules/exit/package.json +51 -0
  92. data/vendor/node_modules/grunt/node_modules/exit/test/exit_test.js +121 -0
  93. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
  94. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
  95. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
  96. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
  97. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
  98. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
  99. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
  100. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
  101. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
  102. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh +8 -0
  103. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js +23 -0
  104. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/log.js +25 -0
  105. data/vendor/node_modules/grunt/node_modules/findup-sync/Gruntfile.js +25 -0
  106. data/vendor/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT +22 -0
  107. data/vendor/node_modules/grunt/node_modules/findup-sync/README.md +44 -0
  108. data/vendor/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js +46 -0
  109. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md +164 -0
  110. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js +5152 -0
  111. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js +42 -0
  112. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.js +4983 -0
  113. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js +40 -0
  114. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js +4307 -0
  115. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js +34 -0
  116. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json +62 -0
  117. data/vendor/node_modules/grunt/node_modules/findup-sync/package.json +48 -0
  118. data/vendor/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js +48 -0
  119. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt +0 -0
  120. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt +0 -0
  121. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt +0 -0
  122. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt +0 -0
  123. data/vendor/node_modules/grunt/node_modules/getobject/Gruntfile.js +48 -0
  124. data/vendor/node_modules/grunt/node_modules/getobject/LICENSE-MIT +22 -0
  125. data/vendor/node_modules/grunt/node_modules/getobject/README.md +20 -0
  126. data/vendor/node_modules/grunt/node_modules/getobject/lib/getobject.js +60 -0
  127. data/vendor/node_modules/grunt/node_modules/getobject/package.json +48 -0
  128. data/vendor/node_modules/grunt/node_modules/getobject/test/namespace_test.js +51 -0
  129. data/vendor/node_modules/grunt/node_modules/glob/LICENSE +27 -0
  130. data/vendor/node_modules/grunt/node_modules/glob/README.md +233 -0
  131. data/vendor/node_modules/grunt/node_modules/glob/examples/g.js +9 -0
  132. data/vendor/node_modules/grunt/node_modules/glob/examples/usr-local.js +9 -0
  133. data/vendor/node_modules/grunt/node_modules/glob/glob.js +643 -0
  134. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE +27 -0
  135. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md +33 -0
  136. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js +442 -0
  137. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json +49 -0
  138. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js +46 -0
  139. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js +158 -0
  140. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md +51 -0
  141. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js +29 -0
  142. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json +30 -0
  143. data/vendor/node_modules/grunt/node_modules/glob/package.json +40 -0
  144. data/vendor/node_modules/grunt/node_modules/glob/test/00-setup.js +176 -0
  145. data/vendor/node_modules/grunt/node_modules/glob/test/bash-comparison.js +63 -0
  146. data/vendor/node_modules/grunt/node_modules/glob/test/bash-results.json +348 -0
  147. data/vendor/node_modules/grunt/node_modules/glob/test/cwd-test.js +55 -0
  148. data/vendor/node_modules/grunt/node_modules/glob/test/mark.js +74 -0
  149. data/vendor/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js +113 -0
  150. data/vendor/node_modules/grunt/node_modules/glob/test/pause-resume.js +73 -0
  151. data/vendor/node_modules/grunt/node_modules/glob/test/root-nomount.js +39 -0
  152. data/vendor/node_modules/grunt/node_modules/glob/test/root.js +46 -0
  153. data/vendor/node_modules/grunt/node_modules/glob/test/zz-cleanup.js +11 -0
  154. data/vendor/node_modules/grunt/node_modules/hooker/LICENSE-MIT +22 -0
  155. data/vendor/node_modules/grunt/node_modules/hooker/README.md +186 -0
  156. data/vendor/node_modules/grunt/node_modules/hooker/child.js +101 -0
  157. data/vendor/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js +169 -0
  158. data/vendor/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js +4 -0
  159. data/vendor/node_modules/grunt/node_modules/hooker/grunt.js +47 -0
  160. data/vendor/node_modules/grunt/node_modules/hooker/lib/hooker.js +174 -0
  161. data/vendor/node_modules/grunt/node_modules/hooker/package.json +45 -0
  162. data/vendor/node_modules/grunt/node_modules/hooker/parent.js +17 -0
  163. data/vendor/node_modules/grunt/node_modules/hooker/test/hooker_test.js +435 -0
  164. data/vendor/node_modules/grunt/node_modules/iconv-lite/LICENSE +21 -0
  165. data/vendor/node_modules/grunt/node_modules/iconv-lite/README.md +72 -0
  166. data/vendor/node_modules/grunt/node_modules/iconv-lite/README.md~ +54 -0
  167. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js +9 -0
  168. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js +9 -0
  169. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js +340 -0
  170. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js +1 -0
  171. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js +1 -0
  172. data/vendor/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js +25 -0
  173. data/vendor/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js +142 -0
  174. data/vendor/node_modules/grunt/node_modules/iconv-lite/index.js +231 -0
  175. data/vendor/node_modules/grunt/node_modules/iconv-lite/package.json +80 -0
  176. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js +36 -0
  177. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt +13 -0
  178. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js +86 -0
  179. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js +38 -0
  180. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt +14 -0
  181. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js +79 -0
  182. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/main-test.js +55 -0
  183. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/performance.js +67 -0
  184. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js +90 -0
  185. data/vendor/node_modules/grunt/node_modules/js-yaml/HISTORY.md +155 -0
  186. data/vendor/node_modules/grunt/node_modules/js-yaml/LICENSE +21 -0
  187. data/vendor/node_modules/grunt/node_modules/js-yaml/README.md +249 -0
  188. data/vendor/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js +125 -0
  189. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js +104 -0
  190. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml +18 -0
  191. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/dumper.js +31 -0
  192. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/dumper.json +22 -0
  193. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js +15 -0
  194. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml +197 -0
  195. data/vendor/node_modules/grunt/node_modules/js-yaml/index.js +1 -0
  196. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js +33 -0
  197. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js +60 -0
  198. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js +437 -0
  199. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
  200. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js +1549 -0
  201. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
  202. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js +23 -0
  203. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
  204. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js +16 -0
  205. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js +13 -0
  206. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js +25 -0
  207. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js +82 -0
  208. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js +118 -0
  209. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js +74 -0
  210. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js +102 -0
  211. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js +85 -0
  212. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js +56 -0
  213. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +56 -0
  214. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  215. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js +11 -0
  216. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js +18 -0
  217. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
  218. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js +53 -0
  219. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js +41 -0
  220. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js +11 -0
  221. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js +31 -0
  222. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js +11 -0
  223. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +91 -0
  224. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md +109 -0
  225. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
  226. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
  227. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
  228. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
  229. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
  230. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
  231. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
  232. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
  233. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
  234. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
  235. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
  236. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
  237. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
  238. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
  239. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
  240. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
  241. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
  242. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
  243. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
  244. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
  245. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
  246. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
  247. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
  248. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
  249. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
  250. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
  251. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
  252. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
  253. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
  254. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1165 -0
  255. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
  256. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
  257. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +803 -0
  258. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
  259. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile +4 -0
  260. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock +17 -0
  261. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +814 -0
  262. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile +23 -0
  263. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
  264. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js +1 -0
  265. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
  266. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  267. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +73 -0
  268. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js +45 -0
  269. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js +148 -0
  270. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js +685 -0
  271. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings_standalone.js +12 -0
  272. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test.html +31 -0
  273. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html +18 -0
  274. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js +200 -0
  275. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js +59 -0
  276. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js +426 -0
  277. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js +259 -0
  278. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html +45 -0
  279. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js +548 -0
  280. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js +75 -0
  281. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js +249 -0
  282. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jquery.js +9404 -0
  283. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js +670 -0
  284. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.css +235 -0
  285. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.js +1977 -0
  286. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/underscore.js +1201 -0
  287. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CNAME +1 -0
  288. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CONTRIBUTING.md +9 -0
  289. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +22 -0
  290. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +19 -0
  291. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/favicon.ico +0 -0
  292. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.html +2467 -0
  293. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js +1 -0
  294. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +35 -0
  295. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +1 -0
  296. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1226 -0
  297. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json +50 -0
  298. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
  299. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
  300. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
  301. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
  302. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json +59 -0
  303. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
  304. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
  305. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
  306. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
  307. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
  308. data/vendor/node_modules/grunt/node_modules/js-yaml/package.json +60 -0
  309. data/vendor/node_modules/grunt/node_modules/lodash/README.md +140 -0
  310. data/vendor/node_modules/grunt/node_modules/lodash/lodash.js +4258 -0
  311. data/vendor/node_modules/grunt/node_modules/lodash/lodash.min.js +35 -0
  312. data/vendor/node_modules/grunt/node_modules/lodash/lodash.underscore.js +3688 -0
  313. data/vendor/node_modules/grunt/node_modules/lodash/lodash.underscore.min.js +28 -0
  314. data/vendor/node_modules/grunt/node_modules/lodash/package.json +62 -0
  315. data/vendor/node_modules/grunt/node_modules/minimatch/LICENSE +23 -0
  316. data/vendor/node_modules/grunt/node_modules/minimatch/README.md +218 -0
  317. data/vendor/node_modules/grunt/node_modules/minimatch/minimatch.js +1055 -0
  318. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  319. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  320. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  321. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  322. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  323. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  324. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  325. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  326. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  327. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  328. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  329. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  330. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  331. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  332. data/vendor/node_modules/grunt/node_modules/minimatch/package.json +40 -0
  333. data/vendor/node_modules/grunt/node_modules/minimatch/test/basic.js +399 -0
  334. data/vendor/node_modules/grunt/node_modules/minimatch/test/brace-expand.js +33 -0
  335. data/vendor/node_modules/grunt/node_modules/minimatch/test/caching.js +14 -0
  336. data/vendor/node_modules/grunt/node_modules/minimatch/test/defaults.js +274 -0
  337. data/vendor/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  338. data/vendor/node_modules/grunt/node_modules/nopt/LICENSE +23 -0
  339. data/vendor/node_modules/grunt/node_modules/nopt/README.md +208 -0
  340. data/vendor/node_modules/grunt/node_modules/nopt/bin/nopt.js +44 -0
  341. data/vendor/node_modules/grunt/node_modules/nopt/examples/my-program.js +30 -0
  342. data/vendor/node_modules/grunt/node_modules/nopt/lib/nopt.js +552 -0
  343. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE +23 -0
  344. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md +23 -0
  345. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js +111 -0
  346. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json +29 -0
  347. data/vendor/node_modules/grunt/node_modules/nopt/package.json +36 -0
  348. data/vendor/node_modules/grunt/node_modules/rimraf/AUTHORS +6 -0
  349. data/vendor/node_modules/grunt/node_modules/rimraf/LICENSE +23 -0
  350. data/vendor/node_modules/grunt/node_modules/rimraf/README.md +21 -0
  351. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE +23 -0
  352. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md +5 -0
  353. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js +312 -0
  354. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json +40 -0
  355. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js +41 -0
  356. data/vendor/node_modules/grunt/node_modules/rimraf/package.json +59 -0
  357. data/vendor/node_modules/grunt/node_modules/rimraf/rimraf.js +161 -0
  358. data/vendor/node_modules/grunt/node_modules/rimraf/test/run.sh +10 -0
  359. data/vendor/node_modules/grunt/node_modules/rimraf/test/setup.sh +47 -0
  360. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-async.js +5 -0
  361. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-fiber.js +0 -0
  362. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-sync.js +3 -0
  363. data/vendor/node_modules/grunt/node_modules/underscore.string/Gemfile +5 -0
  364. data/vendor/node_modules/grunt/node_modules/underscore.string/Gemfile.lock +34 -0
  365. data/vendor/node_modules/grunt/node_modules/underscore.string/README.markdown +668 -0
  366. data/vendor/node_modules/grunt/node_modules/underscore.string/Rakefile +28 -0
  367. data/vendor/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js +1 -0
  368. data/vendor/node_modules/grunt/node_modules/underscore.string/lib/underscore.string.js +525 -0
  369. data/vendor/node_modules/grunt/node_modules/underscore.string/package.json +72 -0
  370. data/vendor/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js +44 -0
  371. data/vendor/node_modules/grunt/node_modules/underscore.string/test/speed.js +138 -0
  372. data/vendor/node_modules/grunt/node_modules/underscore.string/test/strings.js +438 -0
  373. data/vendor/node_modules/grunt/node_modules/underscore.string/test/strings_standalone.js +12 -0
  374. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test.html +31 -0
  375. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html +18 -0
  376. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js +166 -0
  377. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js +59 -0
  378. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js +270 -0
  379. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js +198 -0
  380. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js +535 -0
  381. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js +70 -0
  382. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js +27 -0
  383. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html +19 -0
  384. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html +43 -0
  385. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js +155 -0
  386. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jquery.js +19 -0
  387. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js +670 -0
  388. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.css +196 -0
  389. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.js +2360 -0
  390. data/vendor/node_modules/grunt/node_modules/underscore.string/test/underscore.js +999 -0
  391. data/vendor/node_modules/grunt/node_modules/which/LICENSE +23 -0
  392. data/vendor/node_modules/grunt/node_modules/which/README.md +5 -0
  393. data/vendor/node_modules/grunt/node_modules/which/bin/which +14 -0
  394. data/vendor/node_modules/grunt/node_modules/which/package.json +31 -0
  395. data/vendor/node_modules/grunt/node_modules/which/which.js +104 -0
  396. data/vendor/node_modules/grunt/package.json +82 -0
  397. data/vendor/node_modules/istanbul/CHANGELOG.md +57 -0
  398. data/vendor/node_modules/istanbul/LICENSE +24 -0
  399. data/vendor/node_modules/istanbul/README.md +205 -0
  400. data/vendor/node_modules/istanbul/index.js +115 -0
  401. data/vendor/node_modules/istanbul/lib/cli.js +74 -0
  402. data/vendor/node_modules/istanbul/lib/collector.js +121 -0
  403. data/vendor/node_modules/istanbul/lib/command/check-coverage.js +115 -0
  404. data/vendor/node_modules/istanbul/lib/command/common/run-with-cover.js +199 -0
  405. data/vendor/node_modules/istanbul/lib/command/cover.js +33 -0
  406. data/vendor/node_modules/istanbul/lib/command/help.js +58 -0
  407. data/vendor/node_modules/istanbul/lib/command/index.js +33 -0
  408. data/vendor/node_modules/istanbul/lib/command/instrument.js +244 -0
  409. data/vendor/node_modules/istanbul/lib/command/report.js +97 -0
  410. data/vendor/node_modules/istanbul/lib/command/test.js +31 -0
  411. data/vendor/node_modules/istanbul/lib/hook.js +187 -0
  412. data/vendor/node_modules/istanbul/lib/instrumenter.js +759 -0
  413. data/vendor/node_modules/istanbul/lib/object-utils.js +341 -0
  414. data/vendor/node_modules/istanbul/lib/register-plugins.js +15 -0
  415. data/vendor/node_modules/istanbul/lib/report/cobertura.js +207 -0
  416. data/vendor/node_modules/istanbul/lib/report/html.js +517 -0
  417. data/vendor/node_modules/istanbul/lib/report/index.js +60 -0
  418. data/vendor/node_modules/istanbul/lib/report/json.js +55 -0
  419. data/vendor/node_modules/istanbul/lib/report/lcov.js +49 -0
  420. data/vendor/node_modules/istanbul/lib/report/lcovonly.js +93 -0
  421. data/vendor/node_modules/istanbul/lib/report/none.js +20 -0
  422. data/vendor/node_modules/istanbul/lib/report/teamcity.js +82 -0
  423. data/vendor/node_modules/istanbul/lib/report/templates/foot.txt +102 -0
  424. data/vendor/node_modules/istanbul/lib/report/templates/head.txt +200 -0
  425. data/vendor/node_modules/istanbul/lib/report/text-summary.js +72 -0
  426. data/vendor/node_modules/istanbul/lib/report/text.js +210 -0
  427. data/vendor/node_modules/istanbul/lib/store/fslookup.js +60 -0
  428. data/vendor/node_modules/istanbul/lib/store/index.js +122 -0
  429. data/vendor/node_modules/istanbul/lib/store/memory.js +55 -0
  430. data/vendor/node_modules/istanbul/lib/store/tmp.js +80 -0
  431. data/vendor/node_modules/istanbul/lib/util/factory.js +88 -0
  432. data/vendor/node_modules/istanbul/lib/util/file-matcher.js +60 -0
  433. data/vendor/node_modules/istanbul/lib/util/file-writer.js +131 -0
  434. data/vendor/node_modules/istanbul/lib/util/flow-control.js +26 -0
  435. data/vendor/node_modules/istanbul/lib/util/help-formatter.js +24 -0
  436. data/vendor/node_modules/istanbul/lib/util/input-error.js +12 -0
  437. data/vendor/node_modules/istanbul/lib/util/insertion-text.js +109 -0
  438. data/vendor/node_modules/istanbul/lib/util/meta.js +13 -0
  439. data/vendor/node_modules/istanbul/lib/util/tree-summarizer.js +213 -0
  440. data/vendor/node_modules/istanbul/lib/util/writer.js +56 -0
  441. data/vendor/node_modules/istanbul/lib/util/yui-load-hook.js +49 -0
  442. data/vendor/node_modules/istanbul/lib/vendor/prettify.css +1 -0
  443. data/vendor/node_modules/istanbul/lib/vendor/prettify.js +1 -0
  444. data/vendor/node_modules/istanbul/node_modules/abbrev/LICENSE +23 -0
  445. data/vendor/node_modules/istanbul/node_modules/abbrev/README.md +23 -0
  446. data/vendor/node_modules/istanbul/node_modules/abbrev/lib/abbrev.js +111 -0
  447. data/vendor/node_modules/istanbul/node_modules/abbrev/package.json +29 -0
  448. data/vendor/node_modules/istanbul/node_modules/async/LICENSE +19 -0
  449. data/vendor/node_modules/istanbul/node_modules/async/README.md +1414 -0
  450. data/vendor/node_modules/istanbul/node_modules/async/component.json +11 -0
  451. data/vendor/node_modules/istanbul/node_modules/async/lib/async.js +955 -0
  452. data/vendor/node_modules/istanbul/node_modules/async/package.json +43 -0
  453. data/vendor/node_modules/istanbul/node_modules/escodegen/LICENSE.BSD +19 -0
  454. data/vendor/node_modules/istanbul/node_modules/escodegen/LICENSE.source-map +27 -0
  455. data/vendor/node_modules/istanbul/node_modules/escodegen/README.md +99 -0
  456. data/vendor/node_modules/istanbul/node_modules/escodegen/bin/escodegen.js +45 -0
  457. data/vendor/node_modules/istanbul/node_modules/escodegen/bin/esgenerate.js +45 -0
  458. data/vendor/node_modules/istanbul/node_modules/escodegen/component.json +48 -0
  459. data/vendor/node_modules/istanbul/node_modules/escodegen/escodegen.browser.js +3072 -0
  460. data/vendor/node_modules/istanbul/node_modules/escodegen/escodegen.js +2275 -0
  461. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
  462. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/README.md +29 -0
  463. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/estraverse.js +315 -0
  464. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/package.json +41 -0
  465. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/CHANGELOG.md +112 -0
  466. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/LICENSE +28 -0
  467. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js +166 -0
  468. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/README.md +434 -0
  469. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/assert-shim.js +56 -0
  470. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/mini-require.js +152 -0
  471. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  472. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm +18 -0
  473. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js +8 -0
  474. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  475. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm +21 -0
  476. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/test-prefix.js +8 -0
  477. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/test-suffix.js +3 -0
  478. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map.js +8 -0
  479. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js +97 -0
  480. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  481. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js +42 -0
  482. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  483. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js +477 -0
  484. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  485. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js +371 -0
  486. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js +205 -0
  487. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  488. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  489. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  490. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  491. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json +36 -0
  492. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/package.json +110 -0
  493. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/run-tests.js +71 -0
  494. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js +26 -0
  495. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  496. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  497. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js +35 -0
  498. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  499. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  500. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  501. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  502. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  503. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/util.js +161 -0
  504. data/vendor/node_modules/istanbul/node_modules/escodegen/package.json +58 -0
  505. data/vendor/node_modules/istanbul/node_modules/esprima/README.md +73 -0
  506. data/vendor/node_modules/istanbul/node_modules/esprima/bin/esparse.js +117 -0
  507. data/vendor/node_modules/istanbul/node_modules/esprima/bin/esvalidate.js +177 -0
  508. data/vendor/node_modules/istanbul/node_modules/esprima/esprima.js +3908 -0
  509. data/vendor/node_modules/istanbul/node_modules/esprima/package.json +59 -0
  510. data/vendor/node_modules/istanbul/node_modules/esprima/test/compat.js +239 -0
  511. data/vendor/node_modules/istanbul/node_modules/esprima/test/reflect.js +422 -0
  512. data/vendor/node_modules/istanbul/node_modules/esprima/test/run.js +66 -0
  513. data/vendor/node_modules/istanbul/node_modules/esprima/test/runner.js +387 -0
  514. data/vendor/node_modules/istanbul/node_modules/esprima/test/test.js +20238 -0
  515. data/vendor/node_modules/istanbul/node_modules/fileset/LICENSE-MIT +22 -0
  516. data/vendor/node_modules/istanbul/node_modules/fileset/README.md +87 -0
  517. data/vendor/node_modules/istanbul/node_modules/fileset/lib/fileset.js +64 -0
  518. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/LICENSE +27 -0
  519. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/README.md +250 -0
  520. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/examples/g.js +9 -0
  521. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/examples/usr-local.js +9 -0
  522. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/glob.js +680 -0
  523. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  524. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/README.md +42 -0
  525. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  526. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  527. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/package.json +33 -0
  528. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/test.js +25 -0
  529. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/package.json +39 -0
  530. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/00-setup.js +176 -0
  531. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/bash-comparison.js +63 -0
  532. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/bash-results.json +350 -0
  533. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/cwd-test.js +55 -0
  534. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/globstar-match.js +19 -0
  535. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/mark.js +74 -0
  536. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/new-glob-optional-options.js +10 -0
  537. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/nocase-nomagic.js +113 -0
  538. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/pause-resume.js +73 -0
  539. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/root-nomount.js +39 -0
  540. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/root.js +46 -0
  541. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/stat.js +32 -0
  542. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/zz-cleanup.js +11 -0
  543. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/LICENSE +23 -0
  544. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/README.md +218 -0
  545. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/minimatch.js +1055 -0
  546. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  547. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  548. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  549. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  550. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  551. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  552. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  553. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  554. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  555. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  556. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  557. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  558. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  559. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  560. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/package.json +40 -0
  561. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/basic.js +399 -0
  562. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/brace-expand.js +33 -0
  563. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/caching.js +14 -0
  564. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/defaults.js +274 -0
  565. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  566. data/vendor/node_modules/istanbul/node_modules/fileset/package.json +34 -0
  567. data/vendor/node_modules/istanbul/node_modules/fileset/tests/fixtures/an (odd) filename.js +1 -0
  568. data/vendor/node_modules/istanbul/node_modules/fileset/tests/helper.js +61 -0
  569. data/vendor/node_modules/istanbul/node_modules/fileset/tests/test.js +133 -0
  570. data/vendor/node_modules/istanbul/node_modules/handlebars/LICENSE +19 -0
  571. data/vendor/node_modules/istanbul/node_modules/handlebars/README.markdown +391 -0
  572. data/vendor/node_modules/istanbul/node_modules/handlebars/bin/handlebars +213 -0
  573. data/vendor/node_modules/istanbul/node_modules/handlebars/bower.json +9 -0
  574. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.js +2278 -0
  575. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.min.js +2 -0
  576. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.js +362 -0
  577. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.min.js +1 -0
  578. data/vendor/node_modules/istanbul/node_modules/handlebars/global-test.js +18 -0
  579. data/vendor/node_modules/istanbul/node_modules/handlebars/global.js +4 -0
  580. data/vendor/node_modules/istanbul/node_modules/handlebars/handlebars-source.gemspec +21 -0
  581. data/vendor/node_modules/istanbul/node_modules/handlebars/handlebars.js.nuspec +17 -0
  582. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars.js +43 -0
  583. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/base.js +166 -0
  584. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/browser-prefix.js +3 -0
  585. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/browser-suffix.js +1 -0
  586. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/ast.js +138 -0
  587. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/base.js +21 -0
  588. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/compiler.js +1305 -0
  589. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/index.js +16 -0
  590. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/parser.js +483 -0
  591. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/printer.js +138 -0
  592. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/visitor.js +18 -0
  593. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/runtime.js +106 -0
  594. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/source.rb +11 -0
  595. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/utils.js +83 -0
  596. data/vendor/node_modules/istanbul/node_modules/handlebars/min.sh +11 -0
  597. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/LICENSE +21 -0
  598. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/bool.js +10 -0
  599. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/boolean_double.js +7 -0
  600. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/boolean_single.js +7 -0
  601. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/default_hash.js +8 -0
  602. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/default_singles.js +7 -0
  603. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/divide.js +8 -0
  604. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count.js +20 -0
  605. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count_options.js +29 -0
  606. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js +29 -0
  607. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/nonopt.js +4 -0
  608. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/reflect.js +2 -0
  609. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/short.js +3 -0
  610. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/string.js +11 -0
  611. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/usage-options.js +19 -0
  612. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/xup.js +10 -0
  613. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/index.js +478 -0
  614. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/package.json +46 -0
  615. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/readme.markdown +487 -0
  616. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_.js +71 -0
  617. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_/argv.js +2 -0
  618. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_/bin.js +3 -0
  619. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/parse.js +446 -0
  620. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/usage.js +292 -0
  621. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/LICENSE +29 -0
  622. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/README.md +588 -0
  623. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/bin/uglifyjs +402 -0
  624. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/ast.js +985 -0
  625. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/compress.js +2028 -0
  626. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js +267 -0
  627. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/output.js +1229 -0
  628. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/parse.js +1410 -0
  629. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/scope.js +581 -0
  630. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js +81 -0
  631. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/transform.js +217 -0
  632. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/utils.js +295 -0
  633. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md +112 -0
  634. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE +28 -0
  635. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js +166 -0
  636. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md +434 -0
  637. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js +56 -0
  638. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js +152 -0
  639. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  640. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm +18 -0
  641. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js +8 -0
  642. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  643. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm +21 -0
  644. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js +8 -0
  645. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js +3 -0
  646. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js +8 -0
  647. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js +97 -0
  648. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  649. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js +42 -0
  650. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  651. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js +477 -0
  652. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  653. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js +371 -0
  654. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js +205 -0
  655. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  656. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  657. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  658. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  659. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json +37 -0
  660. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json +110 -0
  661. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js +71 -0
  662. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js +26 -0
  663. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  664. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  665. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js +35 -0
  666. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  667. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  668. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  669. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  670. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  671. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js +161 -0
  672. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/package.json +39 -0
  673. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/arrays.js +12 -0
  674. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/blocks.js +49 -0
  675. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/conditionals.js +143 -0
  676. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/dead-code.js +89 -0
  677. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/debugger.js +24 -0
  678. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/drop-unused.js +97 -0
  679. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-105.js +25 -0
  680. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-12.js +11 -0
  681. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-143.js +48 -0
  682. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js +17 -0
  683. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js +31 -0
  684. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js +30 -0
  685. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js +163 -0
  686. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js +123 -0
  687. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js +54 -0
  688. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js +161 -0
  689. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js +260 -0
  690. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js +25 -0
  691. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js +170 -0
  692. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/tools/node.js +165 -0
  693. data/vendor/node_modules/istanbul/node_modules/handlebars/package.json +42 -0
  694. data/vendor/node_modules/istanbul/node_modules/handlebars/release-notes.md +93 -0
  695. data/vendor/node_modules/istanbul/node_modules/handlebars/test.js +20 -0
  696. data/vendor/node_modules/istanbul/node_modules/mkdirp/LICENSE +21 -0
  697. data/vendor/node_modules/istanbul/node_modules/mkdirp/examples/pow.js +6 -0
  698. data/vendor/node_modules/istanbul/node_modules/mkdirp/index.js +82 -0
  699. data/vendor/node_modules/istanbul/node_modules/mkdirp/package.json +34 -0
  700. data/vendor/node_modules/istanbul/node_modules/mkdirp/readme.markdown +63 -0
  701. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/chmod.js +38 -0
  702. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/clobber.js +37 -0
  703. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/mkdirp.js +28 -0
  704. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/perm.js +32 -0
  705. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/perm_sync.js +39 -0
  706. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/race.js +41 -0
  707. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/rel.js +32 -0
  708. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/return.js +25 -0
  709. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/return_sync.js +24 -0
  710. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/root.js +18 -0
  711. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/sync.js +32 -0
  712. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/umask.js +28 -0
  713. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/umask_sync.js +32 -0
  714. data/vendor/node_modules/istanbul/node_modules/nopt/LICENSE +23 -0
  715. data/vendor/node_modules/istanbul/node_modules/nopt/README.md +210 -0
  716. data/vendor/node_modules/istanbul/node_modules/nopt/bin/nopt.js +51 -0
  717. data/vendor/node_modules/istanbul/node_modules/nopt/examples/my-program.js +30 -0
  718. data/vendor/node_modules/istanbul/node_modules/nopt/lib/nopt.js +612 -0
  719. data/vendor/node_modules/istanbul/node_modules/nopt/package.json +36 -0
  720. data/vendor/node_modules/istanbul/node_modules/resolve/LICENSE +18 -0
  721. data/vendor/node_modules/istanbul/node_modules/resolve/example/async.js +5 -0
  722. data/vendor/node_modules/istanbul/node_modules/resolve/example/sync.js +3 -0
  723. data/vendor/node_modules/istanbul/node_modules/resolve/index.js +5 -0
  724. data/vendor/node_modules/istanbul/node_modules/resolve/lib/async.js +125 -0
  725. data/vendor/node_modules/istanbul/node_modules/resolve/lib/caller.js +8 -0
  726. data/vendor/node_modules/istanbul/node_modules/resolve/lib/core.js +4 -0
  727. data/vendor/node_modules/istanbul/node_modules/resolve/lib/core.json +38 -0
  728. data/vendor/node_modules/istanbul/node_modules/resolve/lib/node-modules-paths.js +25 -0
  729. data/vendor/node_modules/istanbul/node_modules/resolve/lib/sync.js +80 -0
  730. data/vendor/node_modules/istanbul/node_modules/resolve/package.json +36 -0
  731. data/vendor/node_modules/istanbul/node_modules/resolve/readme.markdown +144 -0
  732. data/vendor/node_modules/istanbul/node_modules/resolve/test/core.js +12 -0
  733. data/vendor/node_modules/istanbul/node_modules/resolve/test/filter.js +18 -0
  734. data/vendor/node_modules/istanbul/node_modules/resolve/test/filter_sync.js +15 -0
  735. data/vendor/node_modules/istanbul/node_modules/resolve/test/mock.js +142 -0
  736. data/vendor/node_modules/istanbul/node_modules/resolve/test/mock_sync.js +68 -0
  737. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver.js +270 -0
  738. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
  739. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  740. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/package.json +3 -0
  741. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  742. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js +1 -0
  743. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json +3 -0
  744. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
  745. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
  746. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/cup.coffee +1 -0
  747. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/foo.js +1 -0
  748. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  749. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  750. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/mug.coffee +0 -0
  751. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/mug.js +0 -0
  752. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  753. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  754. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  755. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/without_basedir/main.js +6 -0
  756. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js +1 -0
  757. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver_sync.js +170 -0
  758. data/vendor/node_modules/istanbul/node_modules/which/LICENSE +23 -0
  759. data/vendor/node_modules/istanbul/node_modules/which/README.md +5 -0
  760. data/vendor/node_modules/istanbul/node_modules/which/bin/which +14 -0
  761. data/vendor/node_modules/istanbul/node_modules/which/package.json +32 -0
  762. data/vendor/node_modules/istanbul/node_modules/which/which.js +104 -0
  763. data/vendor/node_modules/istanbul/node_modules/wordwrap/README.markdown +70 -0
  764. data/vendor/node_modules/istanbul/node_modules/wordwrap/example/center.js +10 -0
  765. data/vendor/node_modules/istanbul/node_modules/wordwrap/example/meat.js +3 -0
  766. data/vendor/node_modules/istanbul/node_modules/wordwrap/index.js +76 -0
  767. data/vendor/node_modules/istanbul/node_modules/wordwrap/package.json +45 -0
  768. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/break.js +30 -0
  769. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/idleness.txt +63 -0
  770. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/wrap.js +31 -0
  771. data/vendor/node_modules/istanbul/package.json +117 -0
  772. data/vendor/node_modules/istanbul/test/browser/support/index.html +153 -0
  773. data/vendor/node_modules/istanbul/test/browser/support/phantom-test.client.js +49 -0
  774. data/vendor/node_modules/istanbul/test/browser/support/server.js +154 -0
  775. data/vendor/node_modules/istanbul/test/browser/test-browser-instrumentation.js +94 -0
  776. data/vendor/node_modules/istanbul/test/cli-helper.js +219 -0
  777. data/vendor/node_modules/istanbul/test/cli/package.json +8 -0
  778. data/vendor/node_modules/istanbul/test/cli/sample-project/amd/ipsum.js +11 -0
  779. data/vendor/node_modules/istanbul/test/cli/sample-project/amd/lorem.js +7 -0
  780. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/bar.js +13 -0
  781. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/foo.js +12 -0
  782. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/util/bad.js +1 -0
  783. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/util/generate-names.js +5 -0
  784. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/dependency/index.js +9 -0
  785. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/post-require/hook.js +11 -0
  786. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/post-require/package.json +5 -0
  787. data/vendor/node_modules/istanbul/test/cli/sample-project/test/amd-run.js +16 -0
  788. data/vendor/node_modules/istanbul/test/cli/sample-project/test/global-leak.js +30 -0
  789. data/vendor/node_modules/istanbul/test/cli/sample-project/test/run.js +25 -0
  790. data/vendor/node_modules/istanbul/test/cli/sample-project/vendor/dummy_vendor_lib.js +9 -0
  791. data/vendor/node_modules/istanbul/test/cli/test-base-cli.js +39 -0
  792. data/vendor/node_modules/istanbul/test/cli/test-check-coverage-command.js +97 -0
  793. data/vendor/node_modules/istanbul/test/cli/test-cobertura-report.js +54 -0
  794. data/vendor/node_modules/istanbul/test/cli/test-cover-command.js +170 -0
  795. data/vendor/node_modules/istanbul/test/cli/test-html-report.js +125 -0
  796. data/vendor/node_modules/istanbul/test/cli/test-instrument-command.js +167 -0
  797. data/vendor/node_modules/istanbul/test/cli/test-json-report.js +60 -0
  798. data/vendor/node_modules/istanbul/test/cli/test-lcov-report.js +58 -0
  799. data/vendor/node_modules/istanbul/test/cli/test-lcovonly-report.js +61 -0
  800. data/vendor/node_modules/istanbul/test/cli/test-lots-of-files.js +87 -0
  801. data/vendor/node_modules/istanbul/test/cli/test-none-report.js +17 -0
  802. data/vendor/node_modules/istanbul/test/cli/test-report-command.js +65 -0
  803. data/vendor/node_modules/istanbul/test/cli/test-teamcity-report.js +54 -0
  804. data/vendor/node_modules/istanbul/test/cli/test-test-command.js +43 -0
  805. data/vendor/node_modules/istanbul/test/common.js +19 -0
  806. data/vendor/node_modules/istanbul/test/helper.js +122 -0
  807. data/vendor/node_modules/istanbul/test/instrumentation/test-do.js +53 -0
  808. data/vendor/node_modules/istanbul/test/instrumentation/test-expressions.js +70 -0
  809. data/vendor/node_modules/istanbul/test/instrumentation/test-for.js +206 -0
  810. data/vendor/node_modules/istanbul/test/instrumentation/test-forin.js +50 -0
  811. data/vendor/node_modules/istanbul/test/instrumentation/test-functions.js +102 -0
  812. data/vendor/node_modules/istanbul/test/instrumentation/test-if.js +393 -0
  813. data/vendor/node_modules/istanbul/test/instrumentation/test-misc.js +35 -0
  814. data/vendor/node_modules/istanbul/test/instrumentation/test-statement.js +182 -0
  815. data/vendor/node_modules/istanbul/test/instrumentation/test-strict.js +121 -0
  816. data/vendor/node_modules/istanbul/test/instrumentation/test-switch.js +155 -0
  817. data/vendor/node_modules/istanbul/test/instrumentation/test-while.js +104 -0
  818. data/vendor/node_modules/istanbul/test/loader.js +38 -0
  819. data/vendor/node_modules/istanbul/test/other/data-complete-copy/baz.js +3 -0
  820. data/vendor/node_modules/istanbul/test/other/data-complete-copy/fixture.xml +1 -0
  821. data/vendor/node_modules/istanbul/test/other/data-complete-copy/foo.js +4 -0
  822. data/vendor/node_modules/istanbul/test/other/data-complete-copy/myfile1 +0 -0
  823. data/vendor/node_modules/istanbul/test/other/data-complete-copy/myfile2 +1 -0
  824. data/vendor/node_modules/istanbul/test/other/data-complete-copy/subdir/x.css +3 -0
  825. data/vendor/node_modules/istanbul/test/other/data/baz.js +3 -0
  826. data/vendor/node_modules/istanbul/test/other/data/foo.js +4 -0
  827. data/vendor/node_modules/istanbul/test/other/data/matcher/general/general.js +2 -0
  828. data/vendor/node_modules/istanbul/test/other/data/matcher/general/node_modules/mod-file.js +2 -0
  829. data/vendor/node_modules/istanbul/test/other/data/matcher/lib/lib-top.js +2 -0
  830. data/vendor/node_modules/istanbul/test/other/data/matcher/node_modules/dep/mod-file.js +2 -0
  831. data/vendor/node_modules/istanbul/test/other/data/matcher/node_modules/mod-file.js +2 -0
  832. data/vendor/node_modules/istanbul/test/other/data/matcher/top.js +2 -0
  833. data/vendor/node_modules/istanbul/test/other/test-collector.js +85 -0
  834. data/vendor/node_modules/istanbul/test/other/test-command-xface.js +35 -0
  835. data/vendor/node_modules/istanbul/test/other/test-file-writer.js +71 -0
  836. data/vendor/node_modules/istanbul/test/other/test-help-formatter.js +31 -0
  837. data/vendor/node_modules/istanbul/test/other/test-hook.js +87 -0
  838. data/vendor/node_modules/istanbul/test/other/test-index-xface.js +17 -0
  839. data/vendor/node_modules/istanbul/test/other/test-input-error.js +10 -0
  840. data/vendor/node_modules/istanbul/test/other/test-insertion-text.js +102 -0
  841. data/vendor/node_modules/istanbul/test/other/test-matcher.js +93 -0
  842. data/vendor/node_modules/istanbul/test/other/test-object-utils.js +201 -0
  843. data/vendor/node_modules/istanbul/test/other/test-store.js +129 -0
  844. data/vendor/node_modules/istanbul/test/other/test-summarizer.js +172 -0
  845. data/vendor/node_modules/istanbul/test/run-again.js +19 -0
  846. data/vendor/node_modules/istanbul/test/run.js +108 -0
  847. data/vendor/node_modules/istanbul/yui-coverage-comparison.md +85 -0
  848. data/vendor/node_modules/qunit-clib/LICENSE.txt +20 -0
  849. data/vendor/node_modules/qunit-clib/README.md +2 -0
  850. data/vendor/node_modules/qunit-clib/package.json +36 -0
  851. data/vendor/node_modules/qunit-clib/qunit-clib.js +570 -0
  852. data/vendor/node_modules/qunitjs/AUTHORS.txt +55 -0
  853. data/vendor/node_modules/qunitjs/History.md +496 -0
  854. data/vendor/node_modules/qunitjs/README.md +62 -0
  855. data/vendor/node_modules/qunitjs/addons/canvas/README.md +17 -0
  856. data/vendor/node_modules/qunitjs/addons/canvas/canvas-test.js +76 -0
  857. data/vendor/node_modules/qunitjs/addons/canvas/canvas.html +15 -0
  858. data/vendor/node_modules/qunitjs/addons/canvas/qunit-canvas.js +6 -0
  859. data/vendor/node_modules/qunitjs/addons/close-enough/README.md +18 -0
  860. data/vendor/node_modules/qunitjs/addons/close-enough/close-enough-test.js +35 -0
  861. data/vendor/node_modules/qunitjs/addons/close-enough/close-enough.html +14 -0
  862. data/vendor/node_modules/qunitjs/addons/close-enough/qunit-close-enough.js +32 -0
  863. data/vendor/node_modules/qunitjs/addons/composite/README.md +26 -0
  864. data/vendor/node_modules/qunitjs/addons/composite/composite-demo-test.html +24 -0
  865. data/vendor/node_modules/qunitjs/addons/composite/index.html +34 -0
  866. data/vendor/node_modules/qunitjs/addons/composite/qunit-composite.css +13 -0
  867. data/vendor/node_modules/qunitjs/addons/composite/qunit-composite.js +112 -0
  868. data/vendor/node_modules/qunitjs/addons/junitlogger/README.md +18 -0
  869. data/vendor/node_modules/qunitjs/addons/junitlogger/index.html +44 -0
  870. data/vendor/node_modules/qunitjs/addons/junitlogger/junitlogger.js +306 -0
  871. data/vendor/node_modules/qunitjs/addons/phantomjs/README.md +16 -0
  872. data/vendor/node_modules/qunitjs/addons/phantomjs/runner.js +127 -0
  873. data/vendor/node_modules/qunitjs/addons/step/README.md +20 -0
  874. data/vendor/node_modules/qunitjs/addons/step/qunit-step.js +26 -0
  875. data/vendor/node_modules/qunitjs/addons/step/step-test.js +15 -0
  876. data/vendor/node_modules/qunitjs/addons/step/step.html +14 -0
  877. data/vendor/node_modules/qunitjs/addons/themes/README.md +6 -0
  878. data/vendor/node_modules/qunitjs/addons/themes/gabe.css +371 -0
  879. data/vendor/node_modules/qunitjs/addons/themes/gabe.html +15 -0
  880. data/vendor/node_modules/qunitjs/addons/themes/ninja.css +196 -0
  881. data/vendor/node_modules/qunitjs/addons/themes/ninja.html +15 -0
  882. data/vendor/node_modules/qunitjs/addons/themes/nv.css +217 -0
  883. data/vendor/node_modules/qunitjs/addons/themes/nv.html +15 -0
  884. data/vendor/node_modules/qunitjs/grunt.js +101 -0
  885. data/vendor/node_modules/qunitjs/package.json +49 -0
  886. data/vendor/node_modules/qunitjs/qunit/qunit.css +244 -0
  887. data/vendor/node_modules/qunitjs/qunit/qunit.js +2152 -0
  888. data/vendor/node_modules/qunitjs/test/async.html +26 -0
  889. data/vendor/node_modules/qunitjs/test/async.js +6 -0
  890. data/vendor/node_modules/qunitjs/test/deepEqual.js +1438 -0
  891. data/vendor/node_modules/qunitjs/test/headless.html +28 -0
  892. data/vendor/node_modules/qunitjs/test/index.html +16 -0
  893. data/vendor/node_modules/qunitjs/test/logs.html +14 -0
  894. data/vendor/node_modules/qunitjs/test/logs.js +184 -0
  895. data/vendor/node_modules/qunitjs/test/narwhal-test.js +22 -0
  896. data/vendor/node_modules/qunitjs/test/node-test.js +22 -0
  897. data/vendor/node_modules/qunitjs/test/swarminject.js +10 -0
  898. data/vendor/node_modules/qunitjs/test/test.js +804 -0
  899. data/vendor/node_modules/regenerate/LICENSE-MIT.txt +20 -0
  900. data/vendor/node_modules/regenerate/README.md +467 -0
  901. data/vendor/node_modules/regenerate/package.json +50 -0
  902. data/vendor/node_modules/regenerate/regenerate.js +617 -0
  903. data/vendor/node_modules/requirejs/README.md +9 -0
  904. data/vendor/node_modules/requirejs/bin/r.js +26059 -0
  905. data/vendor/node_modules/requirejs/package.json +39 -0
  906. data/vendor/node_modules/requirejs/require.js +2054 -0
  907. data/vendor/package.json +56 -0
  908. metadata +949 -0
@@ -0,0 +1,28 @@
1
+ /*!
2
+ Lo-Dash 0.9.2 lodash.com/license
3
+ Underscore.js 1.4.2 underscorejs.org/LICENSE
4
+ */
5
+ ;(function(n,t){function r(n,t,r){var e;if(!n)return n;var t=l(t,r),u=n.length,r=-1;if(typeof u=="number"){for(;++r<u;)if(e=n[r],t(e,r,n)===Q)return n}else for(r in n)if(it.call(n,r)&&(e=n[r],t(e,r,n)===Q))return n}function e(n){var t,r,e=n;if(!n)return n;for(var u=1,i=arguments.length;u<i;u++)if(e=arguments[u])for(t in e)r=e[t],n[t]=r;return n}function u(n){var t,r,e=n;if(!n)return n;for(var u=1,i=arguments.length;u<i;u++)if(e=arguments[u])for(t in e)r=e[t],n[t]==V&&(n[t]=r);return n}function i(n,t){var r,e;
6
+ if(n)for(r in t=l(t),n)if(it.call(n,r)&&(e=n[r],t(e,r,n)===Q))break}function o(n,t){var r,e;if(n)for(r in t=l(t),n)if(e=n[r],t(e,r,n)===Q)break}function a(n){return n&&n.__wrapped__?n:this instanceof a?(this.__wrapped__=n,void 0):new a(n)}function c(n,r){var e=n.b,u=r.b,n=n.a,r=r.a;if(n!==r){if(n>r||n===t)return 1;if(n<r||r===t)return-1}return e<u?-1:1}function f(n,t,r){function e(){var u=arguments,i=t;return r.length&&(u=u.length?r.concat(at.call(u)):r),this instanceof e?(h.prototype=n.prototype,i=new h,u=n.apply(i,u),b(u)?u:i):n.apply(i,u)
7
+ }return e}function l(n,r){return n?typeof n!="function"?function(t){return t[n]}:r!==t?function(t,e,u){return n.call(r,t,e,u)}:n:C}function s(n){return"\\"+Et[n]}function p(n){return St[n]}function h(){}function g(n){return kt[n]}function v(n){var t=[];return i(n,function(n,r){t.push(r)}),t}function _(n){var t=[];return o(n,function(n,r){d(n)&&t.push(r)}),t.sort()}function m(n){var t={};return i(n,function(n,r){t[n]=r}),t}function y(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(n==V||t==V)return n===t;
8
+ var u=ct.call(n);if(u!=ct.call(t))return G;switch(u){case mt:case yt:return+n==+t;case dt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case wt:case jt:return n==t+""}var i=u==_t;if(!i){if(n.__wrapped__||t.__wrapped__)return y(n.__wrapped__||n,t.__wrapped__||t);if(u!=bt)return G;var u=n.constructor,o=t.constructor;if(u!=o&&(!d(u)||!(u instanceof u&&d(o)&&o instanceof o)))return G}for(r||(r=[]),e||(e=[]),u=r.length;u--;)if(r[u]==n)return e[u]==t;if(u=U,o=0,r.push(n),e.push(t),i){if(o=n.length,u=o==t.length)for(;o--&&(u=y(n[o],t[o],r,e)););return u
9
+ }for(var a in n)if(it.call(n,a)&&(o++,!it.call(t,a)||!y(n[a],t[a],r,e)))return G;for(a in t)if(it.call(t,a)&&!o--)return G;return U}function d(n){return typeof n=="function"}function b(n){return n?Ot[typeof n]:G}function w(n){return ct.call(n)==jt}function j(n){var t=[];return i(n,function(n){t.push(n)}),t}function x(n,t){return typeof(n?n.length:0)=="number"?-1<M(n,t):R(n,function(n){return n===t})}function A(n,t,e){var u=U,t=l(t,e);if(Tt(n))for(var e=-1,i=n.length;++e<i&&(u=!!t(n[e],e,n)););else r(n,function(n,r,e){return!(u=!!t(n,r,e))&&Q
10
+ });return u}function O(n,t,e){var u=[],t=l(t,e);return r(n,function(n,r,e){t(n,r,e)&&u.push(n)}),u}function E(n,t,e){var u,t=l(t,e);return r(n,function(n,r,e){return t(n,r,e)?(u=n,G):void 0}),u}function S(n,t,e){var u=-1,i=n?n.length:0,o=Array(typeof i=="number"?i:0),t=l(t,e);if(Tt(n))for(;++u<i;)o[u]=t(n[u],u,n);else r(n,function(n,r,e){o[++u]=t(n,r,e)});return o}function k(n,t,e){var u=-1/0,i=-1,o=n?n.length:0,a=u;if(t||!Tt(n))t=l(t,e),r(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,a=n)});else for(;++i<o;)n[i]>a&&(a=n[i]);
11
+ return a}function T(n,t){var e=[];return r(n,function(n){e.push(n[t])}),e}function N(n,t,e,u){var i=3>arguments.length,t=l(t,u);return r(n,function(n,r,u){e=i?(i=G,n):t(e,n,r,u)}),e}function q(n,t,e,u){var i=n?n.length:0,o=3>arguments.length;if(typeof i!="number")var a=Nt(n),i=a.length;return r(n,function(r,c,f){c=a?a[--i]:--i,e=o?(o=G,n[c]):t.call(u,e,n[c],c,f)}),e}function R(n,t,e){var u,t=l(t,e);if(Tt(n))for(var e=-1,i=n.length;++e<i&&!(u=t(n[e],e,n)););else r(n,function(n,r,e){return(u=t(n,r,e))&&Q
12
+ });return!!u}function B(n,t,r){return n?t==V||r?n[0]:at.call(n,0,t):void 0}function F(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var i=n[r];Tt(i)?ot.apply(u,t?i:F(i)):u.push(i)}return u}function M(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?ht(0,u+r):r||0)-1;else if(r)return e=I(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function $(n,t,r){return n?at.call(n,t==V||r?1:t):[]}function I(n,t,r,e){for(var u=0,i=n?n.length:u,r=r?l(r,e):C,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;
13
+ return u}function D(n,t,r,e){var u=-1,i=n?n.length:0,o=[],a=o;for(r&&(a=[],r=l(r,e));++u<i;){var e=n[u],c=r?r(e,u,n):e;(t?!u||a[a.length-1]!==c:0>M(a,c))&&(r&&a.push(c),o.push(e))}return o}function z(n,t){return At||ft&&2<arguments.length?ft.call.apply(ft,arguments):f(n,t,at.call(arguments,2))}function C(n){return n}function P(n){r(_(n),function(t){var r=a[t]=n[t];a.prototype[t]=function(){var n=[this.__wrapped__];return ot.apply(n,arguments),n=r.apply(a,n),this.__chain__&&(n=new a(n),n.__chain__=U),n
14
+ }})}var U=!0,V=null,G=!1,H=typeof exports=="object"&&exports,J=typeof global=="object"&&global;J.global===J&&(n=J);var K=[],J=new function(){},L=0,Q=J,W=n._,X=/&(?:amp|lt|gt|quot|#x27);/g,Y=RegExp("^"+(J.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Z=/($^)/,nt=/[&<>"']/g,tt=/['\n\r\t\u2028\u2029\\]/g,rt=Math.ceil,et=K.concat,ut=Math.floor,it=J.hasOwnProperty,ot=K.push,at=K.slice,ct=J.toString,ft=Y.test(ft=at.bind)&&ft,lt=Y.test(lt=Array.isArray)&&lt,st=n.isFinite,pt=Y.test(pt=Object.keys)&&pt,ht=Math.max,gt=Math.min,vt=Math.random,_t="[object Array]",mt="[object Boolean]",yt="[object Date]",dt="[object Number]",bt="[object Object]",wt="[object RegExp]",jt="[object String]",xt=(xt={0:1,length:1},K.splice.call(xt,0,1),xt[0]),At=ft&&/\n|Opera/.test(ft+ct.call(n.opera)),Ot={"boolean":G,"function":U,object:U,number:G,string:G,undefined:G},Et={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
15
+ a.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},a.isArguments=function(n){return"[object Arguments]"==ct.call(n)},a.isArguments(arguments)||(a.isArguments=function(n){return n?it.call(n,"callee"):G});var St={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},kt=m(St),Tt=lt||function(n){return ct.call(n)==_t};d(/x/)&&(d=function(n){return"[object Function]"==ct.call(n)});var Nt=pt?function(n){return b(n)?pt(n):[]}:v;a.VERSION="0.9.2",a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
16
+ }},a.bind=z,a.bindAll=function(n){for(var t=arguments,r=1<t.length?0:(t=_(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=z(n[u],n)}return n},a.chain=function(n){return n=new a(n),n.__chain__=U,n},a.clone=function(n){return n&&Ot[typeof n]?Tt(n)?at.call(n):e({},n):n},a.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},a.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},a.contains=x,a.countBy=function(n,t,e){var u={},t=l(t,e);
17
+ return r(n,function(n,r,e){r=t(n,r,e),it.call(u,r)?u[r]++:u[r]=1}),u},a.debounce=function(n,t,r){function e(){a=V,r||(i=n.apply(o,u))}var u,i,o,a;return function(){var c=r&&!a;return u=arguments,o=this,clearTimeout(a),a=setTimeout(e,t),c&&(i=n.apply(o,u)),i}},a.defaults=u,a.defer=function(n){var r=at.call(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},a.delay=function(n,r){var e=at.call(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},a.difference=function(n){for(var t=-1,r=n.length,e=et.apply(K,arguments),u=[];++t<r;){var i=n[t];
18
+ 0>M(e,i,r)&&u.push(i)}return u},a.escape=function(n){return n==V?"":(n+"").replace(nt,p)},a.every=A,a.extend=e,a.filter=O,a.find=E,a.first=B,a.flatten=F,a.forEach=r,a.functions=_,a.groupBy=function(n,t,e){var u={},t=l(t,e);return r(n,function(n,r,e){r=t(n,r,e),(it.call(u,r)?u[r]:u[r]=[]).push(n)}),u},a.has=function(n,t){return n?it.call(n,t):G},a.identity=C,a.indexOf=M,a.initial=function(n,t,r){return n?at.call(n,0,-(t==V||r?1:t)):[]},a.intersection=function(n){var t=arguments,e=t.length,u=[];return r(n,function(n){if(0>M(u,n)){for(var r=e;--r;)if(0>M(t[r],n))return;
19
+ u.push(n)}}),u},a.invert=m,a.invoke=function(n,t){var e=at.call(arguments,2),u=typeof t=="function",i=[];return r(n,function(n){i.push((u?t:n[t]).apply(n,e))}),i},a.isArray=Tt,a.isBoolean=function(n){return n===U||n===G||ct.call(n)==mt},a.isDate=function(n){return ct.call(n)==yt},a.isElement=function(n){return n?1===n.nodeType:G},a.isEmpty=function(n){if(!n)return U;if(Tt(n)||w(n))return!n.length;for(var t in n)if(it.call(n,t))return G;return U},a.isEqual=y,a.isFinite=function(n){return st(n)&&ct.call(n)==dt
20
+ },a.isFunction=d,a.isNaN=function(n){return ct.call(n)==dt&&n!=+n},a.isNull=function(n){return n===V},a.isNumber=function(n){return ct.call(n)==dt},a.isObject=b,a.isRegExp=function(n){return ct.call(n)==wt},a.isString=w,a.isUndefined=function(n){return n===t},a.keys=Nt,a.last=function(n,t,r){if(n){var e=n.length;return t==V||r?n[e-1]:at.call(n,-t||e)}},a.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?ht(0,e+r):gt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},a.map=S,a.max=k,a.memoize=function(n,t){var r={};
21
+ return function(){var e=t?t.apply(this,arguments):arguments[0];return it.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},a.min=function(n,t,e){var u=1/0,i=-1,o=n?n.length:0,a=u;if(t||!Tt(n))t=l(t,e),r(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,a=n)});else for(;++i<o;)n[i]<a&&(a=n[i]);return a},a.mixin=P,a.noConflict=function(){return n._=W,this},a.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var i=n[r];t?u[i]=t[r]:u[i[0]]=i[1]}return u},a.omit=function(n){var t=et.apply(K,arguments),r={};
22
+ return o(n,function(n,e){0>M(t,e,1)&&(r[e]=n)}),r},a.once=function(n){var t,r=G;return function(){return r?t:(r=U,t=n.apply(this,arguments),n=V,t)}},a.pairs=function(n){var t=[];return i(n,function(n,r){t.push([r,n])}),t},a.pick=function(n){for(var t=0,r=et.apply(K,arguments),e=r.length,u={};++t<e;){var i=r[t];i in n&&(u[i]=n[i])}return u},a.pluck=T,a.random=function(n,t){return n==V&&t==V&&(t=1),n=+n||0,t==V&&(t=n,n=0),n+ut(vt()*((+t||0)-n+1))},a.range=function(n,t,r){n=+n||0,r=+r||1,t==V&&(t=n,n=0);
23
+ for(var e=-1,t=ht(0,rt((t-n)/r)),u=Array(t);++e<t;)u[e]=n,n+=r;return u},a.reduce=N,a.reduceRight=q,a.reject=function(n,t,r){return t=l(t,r),O(n,function(n,r,e){return!t(n,r,e)})},a.rest=$,a.result=function(n,t){var r=n?n[t]:V;return d(r)?n[t]():r},a.shuffle=function(n){var t=-1,e=Array(n?n.length:0);return r(n,function(n){var r=ut(vt()*(++t+1));e[t]=e[r],e[r]=n}),e},a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Nt(n).length},a.some=R,a.sortBy=function(n,t,e){var u=[],t=l(t,e);
24
+ for(r(n,function(n,r,e){u.push({a:t(n,r,e),b:r,c:n})}),n=u.length,u.sort(c);n--;)u[n]=u[n].c;return u},a.sortedIndex=I,a.tap=function(n,t){return t(n),n},a.template=function(n,t,r){n||(n="");var r=u({},r,a.templateSettings),e=0,i="__p += '",o=r.variable;n.replace(RegExp((r.escape||Z).source+"|"+(r.interpolate||Z).source+"|"+(r.evaluate||Z).source+"|$","g"),function(t,r,u,o,a){i+=n.slice(e,a).replace(tt,s),i+=r?"'+_['escape']("+r+")+'":o?"';"+o+";__p+='":u?"'+((__t=("+u+"))==null?'':__t)+'":"",e=a+t.length
25
+ }),i+="';",o||(o="obj",i="with("+o+"||{}){"+i+"}"),i="function("+o+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var c=Function("_","return "+i)(a)}catch(f){throw f.source=i,f}return t?c(t):(c.source=i,c)},a.throttle=function(n,t){function r(){a=new Date,o=V,u=n.apply(i,e)}var e,u,i,o,a=0;return function(){var c=new Date,f=t-(c-a);return e=arguments,i=this,0<f?o||(o=setTimeout(r,f)):(clearTimeout(o),a=c,u=n.apply(i,e)),u}},a.times=function(n,t,r){for(var n=+n||0,e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);
26
+ return u},a.toArray=function(n){return n&&typeof n.length=="number"?typeof n=="string"?n.split(""):at.call(n):j(n)},a.unescape=function(n){return n==V?"":(n+"").replace(X,g)},a.union=function(){return D(et.apply(K,arguments))},a.uniq=D,a.uniqueId=function(n){var t=L++;return n?n+t:t},a.values=j,a.where=function(n,t){var r=[];return o(t,function(n,t){r.push(t)}),O(n,function(n){for(var e=r.length;e--;){var u=n[r[e]]===t[r[e]];if(!u)break}return!!u})},a.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];
27
+ 0>M(arguments,u,1)&&e.push(u)}return e},a.wrap=function(n,t){return function(){var r=[n];return ot.apply(r,arguments),t.apply(this,r)}},a.zip=function(n){for(var t=-1,r=n?k(T(arguments,"length")):0,e=Array(r);++t<r;)e[t]=T(arguments,t);return e},a.all=A,a.any=R,a.collect=S,a.detect=E,a.drop=$,a.each=r,a.foldl=N,a.foldr=q,a.head=B,a.include=x,a.inject=N,a.methods=_,a.select=O,a.tail=$,a.take=B,a.unique=D,P(a),a.prototype.chain=function(){return this.__chain__=U,this},a.prototype.value=function(){return this.__wrapped__
28
+ },r("pop push reverse shift sort splice unshift".split(" "),function(n){var t=K[n];a.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),xt&&0===n.length&&delete n[0],this.__chain__&&(n=new a(n),n.__chain__=U),n}}),r(["concat","join","slice"],function(n){var t=K[n];a.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new a(n),n.__chain__=U),n}}),H?typeof module=="object"&&module&&module.exports==H?(module.exports=a)._=a:H._=a:n._=a})(this);
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "lodash",
3
+ "version": "0.9.2",
4
+ "description": "A utility library delivering consistency, customization, performance, and extras.",
5
+ "homepage": "http://lodash.com",
6
+ "license": "MIT",
7
+ "main": "./lodash.js",
8
+ "keywords": [
9
+ "browser",
10
+ "client",
11
+ "functional",
12
+ "performance",
13
+ "server",
14
+ "speed",
15
+ "util"
16
+ ],
17
+ "author": {
18
+ "name": "John-David Dalton",
19
+ "email": "john.david.dalton@gmail.com",
20
+ "url": "http://allyoucanleet.com/"
21
+ },
22
+ "contributors": [
23
+ {
24
+ "name": "John-David Dalton",
25
+ "email": "john.david.dalton@gmail.com",
26
+ "url": "http://allyoucanleet.com/"
27
+ },
28
+ {
29
+ "name": "Blaine Bublitz",
30
+ "email": "blaine@iceddev.com",
31
+ "url": "http://iceddev.com/"
32
+ },
33
+ {
34
+ "name": "Kit Cambridge",
35
+ "email": "github@kitcambridge.be",
36
+ "url": "http://kitcambridge.be/"
37
+ },
38
+ {
39
+ "name": "Mathias Bynens",
40
+ "email": "mathias@qiwi.be",
41
+ "url": "http://mathiasbynens.be/"
42
+ }
43
+ ],
44
+ "bugs": {
45
+ "url": "https://github.com/lodash/lodash/issues"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/lodash/lodash.git"
50
+ },
51
+ "engines": [
52
+ "node",
53
+ "rhino"
54
+ ],
55
+ "jam": {
56
+ "main": "./lodash.js"
57
+ },
58
+ "readme": "# Lo-Dash v0.9.2\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js)\n * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)\n * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nCreate your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones.\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Screencasts\n\nFor more information check out these screencasts over Lo-Dash:\n\n * [Introducing Lo-Dash](https://vimeo.com/44154599)\n * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.lateBind](http://lodash.com/docs#lateBind) for late binding\n * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding\n * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments\n * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs \"_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where\") accept strings\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n 'paths': {\n 'underscore': 'path/to/lodash'\n }\n},\n['underscore'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### <sup>v0.9.2</sup>\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n",
59
+ "readmeFilename": "README.md",
60
+ "_id": "lodash@0.9.2",
61
+ "_from": "lodash@~0.9.2"
62
+ }
@@ -0,0 +1,23 @@
1
+ Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
2
+ All rights reserved.
3
+
4
+ Permission is hereby granted, free of charge, to any person
5
+ obtaining a copy of this software and associated documentation
6
+ files (the "Software"), to deal in the Software without
7
+ restriction, including without limitation the rights to use,
8
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the
10
+ Software is furnished to do so, subject to the following
11
+ conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,218 @@
1
+ # minimatch
2
+
3
+ A minimal matching utility.
4
+
5
+ [![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
6
+
7
+
8
+ This is the matching library used internally by npm.
9
+
10
+ Eventually, it will replace the C binding in node-glob.
11
+
12
+ It works by converting glob expressions into JavaScript `RegExp`
13
+ objects.
14
+
15
+ ## Usage
16
+
17
+ ```javascript
18
+ var minimatch = require("minimatch")
19
+
20
+ minimatch("bar.foo", "*.foo") // true!
21
+ minimatch("bar.foo", "*.bar") // false!
22
+ minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
23
+ ```
24
+
25
+ ## Features
26
+
27
+ Supports these glob features:
28
+
29
+ * Brace Expansion
30
+ * Extended glob matching
31
+ * "Globstar" `**` matching
32
+
33
+ See:
34
+
35
+ * `man sh`
36
+ * `man bash`
37
+ * `man 3 fnmatch`
38
+ * `man 5 gitignore`
39
+
40
+ ## Minimatch Class
41
+
42
+ Create a minimatch object by instanting the `minimatch.Minimatch` class.
43
+
44
+ ```javascript
45
+ var Minimatch = require("minimatch").Minimatch
46
+ var mm = new Minimatch(pattern, options)
47
+ ```
48
+
49
+ ### Properties
50
+
51
+ * `pattern` The original pattern the minimatch object represents.
52
+ * `options` The options supplied to the constructor.
53
+ * `set` A 2-dimensional array of regexp or string expressions.
54
+ Each row in the
55
+ array corresponds to a brace-expanded pattern. Each item in the row
56
+ corresponds to a single path-part. For example, the pattern
57
+ `{a,b/c}/d` would expand to a set of patterns like:
58
+
59
+ [ [ a, d ]
60
+ , [ b, c, d ] ]
61
+
62
+ If a portion of the pattern doesn't have any "magic" in it
63
+ (that is, it's something like `"foo"` rather than `fo*o?`), then it
64
+ will be left as a string rather than converted to a regular
65
+ expression.
66
+
67
+ * `regexp` Created by the `makeRe` method. A single regular expression
68
+ expressing the entire pattern. This is useful in cases where you wish
69
+ to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
70
+ * `negate` True if the pattern is negated.
71
+ * `comment` True if the pattern is a comment.
72
+ * `empty` True if the pattern is `""`.
73
+
74
+ ### Methods
75
+
76
+ * `makeRe` Generate the `regexp` member if necessary, and return it.
77
+ Will return `false` if the pattern is invalid.
78
+ * `match(fname)` Return true if the filename matches the pattern, or
79
+ false otherwise.
80
+ * `matchOne(fileArray, patternArray, partial)` Take a `/`-split
81
+ filename, and match it against a single row in the `regExpSet`. This
82
+ method is mainly for internal use, but is exposed so that it can be
83
+ used by a glob-walker that needs to avoid excessive filesystem calls.
84
+
85
+ All other methods are internal, and will be called as necessary.
86
+
87
+ ## Functions
88
+
89
+ The top-level exported function has a `cache` property, which is an LRU
90
+ cache set to store 100 items. So, calling these methods repeatedly
91
+ with the same pattern and options will use the same Minimatch object,
92
+ saving the cost of parsing it multiple times.
93
+
94
+ ### minimatch(path, pattern, options)
95
+
96
+ Main export. Tests a path against the pattern using the options.
97
+
98
+ ```javascript
99
+ var isJS = minimatch(file, "*.js", { matchBase: true })
100
+ ```
101
+
102
+ ### minimatch.filter(pattern, options)
103
+
104
+ Returns a function that tests its
105
+ supplied argument, suitable for use with `Array.filter`. Example:
106
+
107
+ ```javascript
108
+ var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
109
+ ```
110
+
111
+ ### minimatch.match(list, pattern, options)
112
+
113
+ Match against the list of
114
+ files, in the style of fnmatch or glob. If nothing is matched, and
115
+ options.nonull is set, then return a list containing the pattern itself.
116
+
117
+ ```javascript
118
+ var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
119
+ ```
120
+
121
+ ### minimatch.makeRe(pattern, options)
122
+
123
+ Make a regular expression object from the pattern.
124
+
125
+ ## Options
126
+
127
+ All options are `false` by default.
128
+
129
+ ### debug
130
+
131
+ Dump a ton of stuff to stderr.
132
+
133
+ ### nobrace
134
+
135
+ Do not expand `{a,b}` and `{1..3}` brace sets.
136
+
137
+ ### noglobstar
138
+
139
+ Disable `**` matching against multiple folder names.
140
+
141
+ ### dot
142
+
143
+ Allow patterns to match filenames starting with a period, even if
144
+ the pattern does not explicitly have a period in that spot.
145
+
146
+ Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
147
+ is set.
148
+
149
+ ### noext
150
+
151
+ Disable "extglob" style patterns like `+(a|b)`.
152
+
153
+ ### nocase
154
+
155
+ Perform a case-insensitive match.
156
+
157
+ ### nonull
158
+
159
+ When a match is not found by `minimatch.match`, return a list containing
160
+ the pattern itself. When set, an empty list is returned if there are
161
+ no matches.
162
+
163
+ ### matchBase
164
+
165
+ If set, then patterns without slashes will be matched
166
+ against the basename of the path if it contains slashes. For example,
167
+ `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
168
+
169
+ ### nocomment
170
+
171
+ Suppress the behavior of treating `#` at the start of a pattern as a
172
+ comment.
173
+
174
+ ### nonegate
175
+
176
+ Suppress the behavior of treating a leading `!` character as negation.
177
+
178
+ ### flipNegate
179
+
180
+ Returns from negate expressions the same as if they were not negated.
181
+ (Ie, true on a hit, false on a miss.)
182
+
183
+
184
+ ## Comparisons to other fnmatch/glob implementations
185
+
186
+ While strict compliance with the existing standards is a worthwhile
187
+ goal, some discrepancies exist between minimatch and other
188
+ implementations, and are intentional.
189
+
190
+ If the pattern starts with a `!` character, then it is negated. Set the
191
+ `nonegate` flag to suppress this behavior, and treat leading `!`
192
+ characters normally. This is perhaps relevant if you wish to start the
193
+ pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`
194
+ characters at the start of a pattern will negate the pattern multiple
195
+ times.
196
+
197
+ If a pattern starts with `#`, then it is treated as a comment, and
198
+ will not match anything. Use `\#` to match a literal `#` at the
199
+ start of a line, or set the `nocomment` flag to suppress this behavior.
200
+
201
+ The double-star character `**` is supported by default, unless the
202
+ `noglobstar` flag is set. This is supported in the manner of bsdglob
203
+ and bash 4.1, where `**` only has special significance if it is the only
204
+ thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but
205
+ `a/**b` will not.
206
+
207
+ If an escaped pattern has no matches, and the `nonull` flag is set,
208
+ then minimatch.match returns the pattern as-provided, rather than
209
+ interpreting the character escapes. For example,
210
+ `minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
211
+ `"*a?"`. This is akin to setting the `nullglob` option in bash, except
212
+ that it does not resolve escaped pattern characters.
213
+
214
+ If brace expansion is not disabled, then it is performed before any
215
+ other interpretation of the glob pattern. Thus, a pattern like
216
+ `+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
217
+ **first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
218
+ checked for validity. Since those two are valid, matching proceeds.
@@ -0,0 +1,1055 @@
1
+ ;(function (require, exports, module, platform) {
2
+
3
+ if (module) module.exports = minimatch
4
+ else exports.minimatch = minimatch
5
+
6
+ if (!require) {
7
+ require = function (id) {
8
+ switch (id) {
9
+ case "sigmund": return function sigmund (obj) {
10
+ return JSON.stringify(obj)
11
+ }
12
+ case "path": return { basename: function (f) {
13
+ f = f.split(/[\/\\]/)
14
+ var e = f.pop()
15
+ if (!e) e = f.pop()
16
+ return e
17
+ }}
18
+ case "lru-cache": return function LRUCache () {
19
+ // not quite an LRU, but still space-limited.
20
+ var cache = {}
21
+ var cnt = 0
22
+ this.set = function (k, v) {
23
+ cnt ++
24
+ if (cnt >= 100) cache = {}
25
+ cache[k] = v
26
+ }
27
+ this.get = function (k) { return cache[k] }
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ minimatch.Minimatch = Minimatch
34
+
35
+ var LRU = require("lru-cache")
36
+ , cache = minimatch.cache = new LRU({max: 100})
37
+ , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
38
+ , sigmund = require("sigmund")
39
+
40
+ var path = require("path")
41
+ // any single thing other than /
42
+ // don't need to escape / when using new RegExp()
43
+ , qmark = "[^/]"
44
+
45
+ // * => any number of characters
46
+ , star = qmark + "*?"
47
+
48
+ // ** when dots are allowed. Anything goes, except .. and .
49
+ // not (^ or / followed by one or two dots followed by $ or /),
50
+ // followed by anything, any number of times.
51
+ , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?"
52
+
53
+ // not a ^ or / followed by a dot,
54
+ // followed by anything, any number of times.
55
+ , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?"
56
+
57
+ // characters that need to be escaped in RegExp.
58
+ , reSpecials = charSet("().*{}+?[]^$\\!")
59
+
60
+ // "abc" -> { a:true, b:true, c:true }
61
+ function charSet (s) {
62
+ return s.split("").reduce(function (set, c) {
63
+ set[c] = true
64
+ return set
65
+ }, {})
66
+ }
67
+
68
+ // normalizes slashes.
69
+ var slashSplit = /\/+/
70
+
71
+ minimatch.filter = filter
72
+ function filter (pattern, options) {
73
+ options = options || {}
74
+ return function (p, i, list) {
75
+ return minimatch(p, pattern, options)
76
+ }
77
+ }
78
+
79
+ function ext (a, b) {
80
+ a = a || {}
81
+ b = b || {}
82
+ var t = {}
83
+ Object.keys(b).forEach(function (k) {
84
+ t[k] = b[k]
85
+ })
86
+ Object.keys(a).forEach(function (k) {
87
+ t[k] = a[k]
88
+ })
89
+ return t
90
+ }
91
+
92
+ minimatch.defaults = function (def) {
93
+ if (!def || !Object.keys(def).length) return minimatch
94
+
95
+ var orig = minimatch
96
+
97
+ var m = function minimatch (p, pattern, options) {
98
+ return orig.minimatch(p, pattern, ext(def, options))
99
+ }
100
+
101
+ m.Minimatch = function Minimatch (pattern, options) {
102
+ return new orig.Minimatch(pattern, ext(def, options))
103
+ }
104
+
105
+ return m
106
+ }
107
+
108
+ Minimatch.defaults = function (def) {
109
+ if (!def || !Object.keys(def).length) return Minimatch
110
+ return minimatch.defaults(def).Minimatch
111
+ }
112
+
113
+
114
+ function minimatch (p, pattern, options) {
115
+ if (typeof pattern !== "string") {
116
+ throw new TypeError("glob pattern string required")
117
+ }
118
+
119
+ if (!options) options = {}
120
+
121
+ // shortcut: comments match nothing.
122
+ if (!options.nocomment && pattern.charAt(0) === "#") {
123
+ return false
124
+ }
125
+
126
+ // "" only matches ""
127
+ if (pattern.trim() === "") return p === ""
128
+
129
+ return new Minimatch(pattern, options).match(p)
130
+ }
131
+
132
+ function Minimatch (pattern, options) {
133
+ if (!(this instanceof Minimatch)) {
134
+ return new Minimatch(pattern, options, cache)
135
+ }
136
+
137
+ if (typeof pattern !== "string") {
138
+ throw new TypeError("glob pattern string required")
139
+ }
140
+
141
+ if (!options) options = {}
142
+ pattern = pattern.trim()
143
+
144
+ // windows: need to use /, not \
145
+ // On other platforms, \ is a valid (albeit bad) filename char.
146
+ if (platform === "win32") {
147
+ pattern = pattern.split("\\").join("/")
148
+ }
149
+
150
+ // lru storage.
151
+ // these things aren't particularly big, but walking down the string
152
+ // and turning it into a regexp can get pretty costly.
153
+ var cacheKey = pattern + "\n" + sigmund(options)
154
+ var cached = minimatch.cache.get(cacheKey)
155
+ if (cached) return cached
156
+ minimatch.cache.set(cacheKey, this)
157
+
158
+ this.options = options
159
+ this.set = []
160
+ this.pattern = pattern
161
+ this.regexp = null
162
+ this.negate = false
163
+ this.comment = false
164
+ this.empty = false
165
+
166
+ // make the set of regexps etc.
167
+ this.make()
168
+ }
169
+
170
+ Minimatch.prototype.debug = function() {}
171
+
172
+ Minimatch.prototype.make = make
173
+ function make () {
174
+ // don't do it more than once.
175
+ if (this._made) return
176
+
177
+ var pattern = this.pattern
178
+ var options = this.options
179
+
180
+ // empty patterns and comments match nothing.
181
+ if (!options.nocomment && pattern.charAt(0) === "#") {
182
+ this.comment = true
183
+ return
184
+ }
185
+ if (!pattern) {
186
+ this.empty = true
187
+ return
188
+ }
189
+
190
+ // step 1: figure out negation, etc.
191
+ this.parseNegate()
192
+
193
+ // step 2: expand braces
194
+ var set = this.globSet = this.braceExpand()
195
+
196
+ if (options.debug) this.debug = console.error
197
+
198
+ this.debug(this.pattern, set)
199
+
200
+ // step 3: now we have a set, so turn each one into a series of path-portion
201
+ // matching patterns.
202
+ // These will be regexps, except in the case of "**", which is
203
+ // set to the GLOBSTAR object for globstar behavior,
204
+ // and will not contain any / characters
205
+ set = this.globParts = set.map(function (s) {
206
+ return s.split(slashSplit)
207
+ })
208
+
209
+ this.debug(this.pattern, set)
210
+
211
+ // glob --> regexps
212
+ set = set.map(function (s, si, set) {
213
+ return s.map(this.parse, this)
214
+ }, this)
215
+
216
+ this.debug(this.pattern, set)
217
+
218
+ // filter out everything that didn't compile properly.
219
+ set = set.filter(function (s) {
220
+ return -1 === s.indexOf(false)
221
+ })
222
+
223
+ this.debug(this.pattern, set)
224
+
225
+ this.set = set
226
+ }
227
+
228
+ Minimatch.prototype.parseNegate = parseNegate
229
+ function parseNegate () {
230
+ var pattern = this.pattern
231
+ , negate = false
232
+ , options = this.options
233
+ , negateOffset = 0
234
+
235
+ if (options.nonegate) return
236
+
237
+ for ( var i = 0, l = pattern.length
238
+ ; i < l && pattern.charAt(i) === "!"
239
+ ; i ++) {
240
+ negate = !negate
241
+ negateOffset ++
242
+ }
243
+
244
+ if (negateOffset) this.pattern = pattern.substr(negateOffset)
245
+ this.negate = negate
246
+ }
247
+
248
+ // Brace expansion:
249
+ // a{b,c}d -> abd acd
250
+ // a{b,}c -> abc ac
251
+ // a{0..3}d -> a0d a1d a2d a3d
252
+ // a{b,c{d,e}f}g -> abg acdfg acefg
253
+ // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
254
+ //
255
+ // Invalid sets are not expanded.
256
+ // a{2..}b -> a{2..}b
257
+ // a{b}c -> a{b}c
258
+ minimatch.braceExpand = function (pattern, options) {
259
+ return new Minimatch(pattern, options).braceExpand()
260
+ }
261
+
262
+ Minimatch.prototype.braceExpand = braceExpand
263
+ function braceExpand (pattern, options) {
264
+ options = options || this.options
265
+ pattern = typeof pattern === "undefined"
266
+ ? this.pattern : pattern
267
+
268
+ if (typeof pattern === "undefined") {
269
+ throw new Error("undefined pattern")
270
+ }
271
+
272
+ if (options.nobrace ||
273
+ !pattern.match(/\{.*\}/)) {
274
+ // shortcut. no need to expand.
275
+ return [pattern]
276
+ }
277
+
278
+ var escaping = false
279
+
280
+ // examples and comments refer to this crazy pattern:
281
+ // a{b,c{d,e},{f,g}h}x{y,z}
282
+ // expected:
283
+ // abxy
284
+ // abxz
285
+ // acdxy
286
+ // acdxz
287
+ // acexy
288
+ // acexz
289
+ // afhxy
290
+ // afhxz
291
+ // aghxy
292
+ // aghxz
293
+
294
+ // everything before the first \{ is just a prefix.
295
+ // So, we pluck that off, and work with the rest,
296
+ // and then prepend it to everything we find.
297
+ if (pattern.charAt(0) !== "{") {
298
+ this.debug(pattern)
299
+ var prefix = null
300
+ for (var i = 0, l = pattern.length; i < l; i ++) {
301
+ var c = pattern.charAt(i)
302
+ this.debug(i, c)
303
+ if (c === "\\") {
304
+ escaping = !escaping
305
+ } else if (c === "{" && !escaping) {
306
+ prefix = pattern.substr(0, i)
307
+ break
308
+ }
309
+ }
310
+
311
+ // actually no sets, all { were escaped.
312
+ if (prefix === null) {
313
+ this.debug("no sets")
314
+ return [pattern]
315
+ }
316
+
317
+ var tail = braceExpand.call(this, pattern.substr(i), options)
318
+ return tail.map(function (t) {
319
+ return prefix + t
320
+ })
321
+ }
322
+
323
+ // now we have something like:
324
+ // {b,c{d,e},{f,g}h}x{y,z}
325
+ // walk through the set, expanding each part, until
326
+ // the set ends. then, we'll expand the suffix.
327
+ // If the set only has a single member, then'll put the {} back
328
+
329
+ // first, handle numeric sets, since they're easier
330
+ var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/)
331
+ if (numset) {
332
+ this.debug("numset", numset[1], numset[2])
333
+ var suf = braceExpand.call(this, pattern.substr(numset[0].length), options)
334
+ , start = +numset[1]
335
+ , end = +numset[2]
336
+ , inc = start > end ? -1 : 1
337
+ , set = []
338
+ for (var i = start; i != (end + inc); i += inc) {
339
+ // append all the suffixes
340
+ for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
341
+ set.push(i + suf[ii])
342
+ }
343
+ }
344
+ return set
345
+ }
346
+
347
+ // ok, walk through the set
348
+ // We hope, somewhat optimistically, that there
349
+ // will be a } at the end.
350
+ // If the closing brace isn't found, then the pattern is
351
+ // interpreted as braceExpand("\\" + pattern) so that
352
+ // the leading \{ will be interpreted literally.
353
+ var i = 1 // skip the \{
354
+ , depth = 1
355
+ , set = []
356
+ , member = ""
357
+ , sawEnd = false
358
+ , escaping = false
359
+
360
+ function addMember () {
361
+ set.push(member)
362
+ member = ""
363
+ }
364
+
365
+ this.debug("Entering for")
366
+ FOR: for (i = 1, l = pattern.length; i < l; i ++) {
367
+ var c = pattern.charAt(i)
368
+ this.debug("", i, c)
369
+
370
+ if (escaping) {
371
+ escaping = false
372
+ member += "\\" + c
373
+ } else {
374
+ switch (c) {
375
+ case "\\":
376
+ escaping = true
377
+ continue
378
+
379
+ case "{":
380
+ depth ++
381
+ member += "{"
382
+ continue
383
+
384
+ case "}":
385
+ depth --
386
+ // if this closes the actual set, then we're done
387
+ if (depth === 0) {
388
+ addMember()
389
+ // pluck off the close-brace
390
+ i ++
391
+ break FOR
392
+ } else {
393
+ member += c
394
+ continue
395
+ }
396
+
397
+ case ",":
398
+ if (depth === 1) {
399
+ addMember()
400
+ } else {
401
+ member += c
402
+ }
403
+ continue
404
+
405
+ default:
406
+ member += c
407
+ continue
408
+ } // switch
409
+ } // else
410
+ } // for
411
+
412
+ // now we've either finished the set, and the suffix is
413
+ // pattern.substr(i), or we have *not* closed the set,
414
+ // and need to escape the leading brace
415
+ if (depth !== 0) {
416
+ this.debug("didn't close", pattern)
417
+ return braceExpand.call(this, "\\" + pattern, options)
418
+ }
419
+
420
+ // x{y,z} -> ["xy", "xz"]
421
+ this.debug("set", set)
422
+ this.debug("suffix", pattern.substr(i))
423
+ var suf = braceExpand.call(this, pattern.substr(i), options)
424
+ // ["b", "c{d,e}","{f,g}h"] ->
425
+ // [["b"], ["cd", "ce"], ["fh", "gh"]]
426
+ var addBraces = set.length === 1
427
+ this.debug("set pre-expanded", set)
428
+ set = set.map(function (p) {
429
+ return braceExpand.call(this, p, options)
430
+ }, this)
431
+ this.debug("set expanded", set)
432
+
433
+
434
+ // [["b"], ["cd", "ce"], ["fh", "gh"]] ->
435
+ // ["b", "cd", "ce", "fh", "gh"]
436
+ set = set.reduce(function (l, r) {
437
+ return l.concat(r)
438
+ })
439
+
440
+ if (addBraces) {
441
+ set = set.map(function (s) {
442
+ return "{" + s + "}"
443
+ })
444
+ }
445
+
446
+ // now attach the suffixes.
447
+ var ret = []
448
+ for (var i = 0, l = set.length; i < l; i ++) {
449
+ for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
450
+ ret.push(set[i] + suf[ii])
451
+ }
452
+ }
453
+ return ret
454
+ }
455
+
456
+ // parse a component of the expanded set.
457
+ // At this point, no pattern may contain "/" in it
458
+ // so we're going to return a 2d array, where each entry is the full
459
+ // pattern, split on '/', and then turned into a regular expression.
460
+ // A regexp is made at the end which joins each array with an
461
+ // escaped /, and another full one which joins each regexp with |.
462
+ //
463
+ // Following the lead of Bash 4.1, note that "**" only has special meaning
464
+ // when it is the *only* thing in a path portion. Otherwise, any series
465
+ // of * is equivalent to a single *. Globstar behavior is enabled by
466
+ // default, and can be disabled by setting options.noglobstar.
467
+ Minimatch.prototype.parse = parse
468
+ var SUBPARSE = {}
469
+ function parse (pattern, isSub) {
470
+ var options = this.options
471
+
472
+ // shortcuts
473
+ if (!options.noglobstar && pattern === "**") return GLOBSTAR
474
+ if (pattern === "") return ""
475
+
476
+ var re = ""
477
+ , hasMagic = !!options.nocase
478
+ , escaping = false
479
+ // ? => one single character
480
+ , patternListStack = []
481
+ , plType
482
+ , stateChar
483
+ , inClass = false
484
+ , reClassStart = -1
485
+ , classStart = -1
486
+ // . and .. never match anything that doesn't start with .,
487
+ // even when options.dot is set.
488
+ , patternStart = pattern.charAt(0) === "." ? "" // anything
489
+ // not (start or / followed by . or .. followed by / or end)
490
+ : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))"
491
+ : "(?!\\.)"
492
+ , self = this
493
+
494
+ function clearStateChar () {
495
+ if (stateChar) {
496
+ // we had some state-tracking character
497
+ // that wasn't consumed by this pass.
498
+ switch (stateChar) {
499
+ case "*":
500
+ re += star
501
+ hasMagic = true
502
+ break
503
+ case "?":
504
+ re += qmark
505
+ hasMagic = true
506
+ break
507
+ default:
508
+ re += "\\"+stateChar
509
+ break
510
+ }
511
+ self.debug('clearStateChar %j %j', stateChar, re)
512
+ stateChar = false
513
+ }
514
+ }
515
+
516
+ for ( var i = 0, len = pattern.length, c
517
+ ; (i < len) && (c = pattern.charAt(i))
518
+ ; i ++ ) {
519
+
520
+ this.debug("%s\t%s %s %j", pattern, i, re, c)
521
+
522
+ // skip over any that are escaped.
523
+ if (escaping && reSpecials[c]) {
524
+ re += "\\" + c
525
+ escaping = false
526
+ continue
527
+ }
528
+
529
+ SWITCH: switch (c) {
530
+ case "/":
531
+ // completely not allowed, even escaped.
532
+ // Should already be path-split by now.
533
+ return false
534
+
535
+ case "\\":
536
+ clearStateChar()
537
+ escaping = true
538
+ continue
539
+
540
+ // the various stateChar values
541
+ // for the "extglob" stuff.
542
+ case "?":
543
+ case "*":
544
+ case "+":
545
+ case "@":
546
+ case "!":
547
+ this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c)
548
+
549
+ // all of those are literals inside a class, except that
550
+ // the glob [!a] means [^a] in regexp
551
+ if (inClass) {
552
+ this.debug(' in class')
553
+ if (c === "!" && i === classStart + 1) c = "^"
554
+ re += c
555
+ continue
556
+ }
557
+
558
+ // if we already have a stateChar, then it means
559
+ // that there was something like ** or +? in there.
560
+ // Handle the stateChar, then proceed with this one.
561
+ self.debug('call clearStateChar %j', stateChar)
562
+ clearStateChar()
563
+ stateChar = c
564
+ // if extglob is disabled, then +(asdf|foo) isn't a thing.
565
+ // just clear the statechar *now*, rather than even diving into
566
+ // the patternList stuff.
567
+ if (options.noext) clearStateChar()
568
+ continue
569
+
570
+ case "(":
571
+ if (inClass) {
572
+ re += "("
573
+ continue
574
+ }
575
+
576
+ if (!stateChar) {
577
+ re += "\\("
578
+ continue
579
+ }
580
+
581
+ plType = stateChar
582
+ patternListStack.push({ type: plType
583
+ , start: i - 1
584
+ , reStart: re.length })
585
+ // negation is (?:(?!js)[^/]*)
586
+ re += stateChar === "!" ? "(?:(?!" : "(?:"
587
+ this.debug('plType %j %j', stateChar, re)
588
+ stateChar = false
589
+ continue
590
+
591
+ case ")":
592
+ if (inClass || !patternListStack.length) {
593
+ re += "\\)"
594
+ continue
595
+ }
596
+
597
+ clearStateChar()
598
+ hasMagic = true
599
+ re += ")"
600
+ plType = patternListStack.pop().type
601
+ // negation is (?:(?!js)[^/]*)
602
+ // The others are (?:<pattern>)<type>
603
+ switch (plType) {
604
+ case "!":
605
+ re += "[^/]*?)"
606
+ break
607
+ case "?":
608
+ case "+":
609
+ case "*": re += plType
610
+ case "@": break // the default anyway
611
+ }
612
+ continue
613
+
614
+ case "|":
615
+ if (inClass || !patternListStack.length || escaping) {
616
+ re += "\\|"
617
+ escaping = false
618
+ continue
619
+ }
620
+
621
+ clearStateChar()
622
+ re += "|"
623
+ continue
624
+
625
+ // these are mostly the same in regexp and glob
626
+ case "[":
627
+ // swallow any state-tracking char before the [
628
+ clearStateChar()
629
+
630
+ if (inClass) {
631
+ re += "\\" + c
632
+ continue
633
+ }
634
+
635
+ inClass = true
636
+ classStart = i
637
+ reClassStart = re.length
638
+ re += c
639
+ continue
640
+
641
+ case "]":
642
+ // a right bracket shall lose its special
643
+ // meaning and represent itself in
644
+ // a bracket expression if it occurs
645
+ // first in the list. -- POSIX.2 2.8.3.2
646
+ if (i === classStart + 1 || !inClass) {
647
+ re += "\\" + c
648
+ escaping = false
649
+ continue
650
+ }
651
+
652
+ // finish up the class.
653
+ hasMagic = true
654
+ inClass = false
655
+ re += c
656
+ continue
657
+
658
+ default:
659
+ // swallow any state char that wasn't consumed
660
+ clearStateChar()
661
+
662
+ if (escaping) {
663
+ // no need
664
+ escaping = false
665
+ } else if (reSpecials[c]
666
+ && !(c === "^" && inClass)) {
667
+ re += "\\"
668
+ }
669
+
670
+ re += c
671
+
672
+ } // switch
673
+ } // for
674
+
675
+
676
+ // handle the case where we left a class open.
677
+ // "[abc" is valid, equivalent to "\[abc"
678
+ if (inClass) {
679
+ // split where the last [ was, and escape it
680
+ // this is a huge pita. We now have to re-walk
681
+ // the contents of the would-be class to re-translate
682
+ // any characters that were passed through as-is
683
+ var cs = pattern.substr(classStart + 1)
684
+ , sp = this.parse(cs, SUBPARSE)
685
+ re = re.substr(0, reClassStart) + "\\[" + sp[0]
686
+ hasMagic = hasMagic || sp[1]
687
+ }
688
+
689
+ // handle the case where we had a +( thing at the *end*
690
+ // of the pattern.
691
+ // each pattern list stack adds 3 chars, and we need to go through
692
+ // and escape any | chars that were passed through as-is for the regexp.
693
+ // Go through and escape them, taking care not to double-escape any
694
+ // | chars that were already escaped.
695
+ var pl
696
+ while (pl = patternListStack.pop()) {
697
+ var tail = re.slice(pl.reStart + 3)
698
+ // maybe some even number of \, then maybe 1 \, followed by a |
699
+ tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
700
+ if (!$2) {
701
+ // the | isn't already escaped, so escape it.
702
+ $2 = "\\"
703
+ }
704
+
705
+ // need to escape all those slashes *again*, without escaping the
706
+ // one that we need for escaping the | character. As it works out,
707
+ // escaping an even number of slashes can be done by simply repeating
708
+ // it exactly after itself. That's why this trick works.
709
+ //
710
+ // I am sorry that you have to see this.
711
+ return $1 + $1 + $2 + "|"
712
+ })
713
+
714
+ this.debug("tail=%j\n %s", tail, tail)
715
+ var t = pl.type === "*" ? star
716
+ : pl.type === "?" ? qmark
717
+ : "\\" + pl.type
718
+
719
+ hasMagic = true
720
+ re = re.slice(0, pl.reStart)
721
+ + t + "\\("
722
+ + tail
723
+ }
724
+
725
+ // handle trailing things that only matter at the very end.
726
+ clearStateChar()
727
+ if (escaping) {
728
+ // trailing \\
729
+ re += "\\\\"
730
+ }
731
+
732
+ // only need to apply the nodot start if the re starts with
733
+ // something that could conceivably capture a dot
734
+ var addPatternStart = false
735
+ switch (re.charAt(0)) {
736
+ case ".":
737
+ case "[":
738
+ case "(": addPatternStart = true
739
+ }
740
+
741
+ // if the re is not "" at this point, then we need to make sure
742
+ // it doesn't match against an empty path part.
743
+ // Otherwise a/* will match a/, which it should not.
744
+ if (re !== "" && hasMagic) re = "(?=.)" + re
745
+
746
+ if (addPatternStart) re = patternStart + re
747
+
748
+ // parsing just a piece of a larger pattern.
749
+ if (isSub === SUBPARSE) {
750
+ return [ re, hasMagic ]
751
+ }
752
+
753
+ // skip the regexp for non-magical patterns
754
+ // unescape anything in it, though, so that it'll be
755
+ // an exact match against a file etc.
756
+ if (!hasMagic) {
757
+ return globUnescape(pattern)
758
+ }
759
+
760
+ var flags = options.nocase ? "i" : ""
761
+ , regExp = new RegExp("^" + re + "$", flags)
762
+
763
+ regExp._glob = pattern
764
+ regExp._src = re
765
+
766
+ return regExp
767
+ }
768
+
769
+ minimatch.makeRe = function (pattern, options) {
770
+ return new Minimatch(pattern, options || {}).makeRe()
771
+ }
772
+
773
+ Minimatch.prototype.makeRe = makeRe
774
+ function makeRe () {
775
+ if (this.regexp || this.regexp === false) return this.regexp
776
+
777
+ // at this point, this.set is a 2d array of partial
778
+ // pattern strings, or "**".
779
+ //
780
+ // It's better to use .match(). This function shouldn't
781
+ // be used, really, but it's pretty convenient sometimes,
782
+ // when you just want to work with a regex.
783
+ var set = this.set
784
+
785
+ if (!set.length) return this.regexp = false
786
+ var options = this.options
787
+
788
+ var twoStar = options.noglobstar ? star
789
+ : options.dot ? twoStarDot
790
+ : twoStarNoDot
791
+ , flags = options.nocase ? "i" : ""
792
+
793
+ var re = set.map(function (pattern) {
794
+ return pattern.map(function (p) {
795
+ return (p === GLOBSTAR) ? twoStar
796
+ : (typeof p === "string") ? regExpEscape(p)
797
+ : p._src
798
+ }).join("\\\/")
799
+ }).join("|")
800
+
801
+ // must match entire pattern
802
+ // ending in a * or ** will make it less strict.
803
+ re = "^(?:" + re + ")$"
804
+
805
+ // can match anything, as long as it's not this.
806
+ if (this.negate) re = "^(?!" + re + ").*$"
807
+
808
+ try {
809
+ return this.regexp = new RegExp(re, flags)
810
+ } catch (ex) {
811
+ return this.regexp = false
812
+ }
813
+ }
814
+
815
+ minimatch.match = function (list, pattern, options) {
816
+ var mm = new Minimatch(pattern, options)
817
+ list = list.filter(function (f) {
818
+ return mm.match(f)
819
+ })
820
+ if (options.nonull && !list.length) {
821
+ list.push(pattern)
822
+ }
823
+ return list
824
+ }
825
+
826
+ Minimatch.prototype.match = match
827
+ function match (f, partial) {
828
+ this.debug("match", f, this.pattern)
829
+ // short-circuit in the case of busted things.
830
+ // comments, etc.
831
+ if (this.comment) return false
832
+ if (this.empty) return f === ""
833
+
834
+ if (f === "/" && partial) return true
835
+
836
+ var options = this.options
837
+
838
+ // windows: need to use /, not \
839
+ // On other platforms, \ is a valid (albeit bad) filename char.
840
+ if (platform === "win32") {
841
+ f = f.split("\\").join("/")
842
+ }
843
+
844
+ // treat the test path as a set of pathparts.
845
+ f = f.split(slashSplit)
846
+ this.debug(this.pattern, "split", f)
847
+
848
+ // just ONE of the pattern sets in this.set needs to match
849
+ // in order for it to be valid. If negating, then just one
850
+ // match means that we have failed.
851
+ // Either way, return on the first hit.
852
+
853
+ var set = this.set
854
+ this.debug(this.pattern, "set", set)
855
+
856
+ var splitFile = path.basename(f.join("/")).split("/")
857
+
858
+ for (var i = 0, l = set.length; i < l; i ++) {
859
+ var pattern = set[i], file = f
860
+ if (options.matchBase && pattern.length === 1) {
861
+ file = splitFile
862
+ }
863
+ var hit = this.matchOne(file, pattern, partial)
864
+ if (hit) {
865
+ if (options.flipNegate) return true
866
+ return !this.negate
867
+ }
868
+ }
869
+
870
+ // didn't get any hits. this is success if it's a negative
871
+ // pattern, failure otherwise.
872
+ if (options.flipNegate) return false
873
+ return this.negate
874
+ }
875
+
876
+ // set partial to true to test if, for example,
877
+ // "/a/b" matches the start of "/*/b/*/d"
878
+ // Partial means, if you run out of file before you run
879
+ // out of pattern, then that's fine, as long as all
880
+ // the parts match.
881
+ Minimatch.prototype.matchOne = function (file, pattern, partial) {
882
+ var options = this.options
883
+
884
+ this.debug("matchOne",
885
+ { "this": this
886
+ , file: file
887
+ , pattern: pattern })
888
+
889
+ this.debug("matchOne", file.length, pattern.length)
890
+
891
+ for ( var fi = 0
892
+ , pi = 0
893
+ , fl = file.length
894
+ , pl = pattern.length
895
+ ; (fi < fl) && (pi < pl)
896
+ ; fi ++, pi ++ ) {
897
+
898
+ this.debug("matchOne loop")
899
+ var p = pattern[pi]
900
+ , f = file[fi]
901
+
902
+ this.debug(pattern, p, f)
903
+
904
+ // should be impossible.
905
+ // some invalid regexp stuff in the set.
906
+ if (p === false) return false
907
+
908
+ if (p === GLOBSTAR) {
909
+ this.debug('GLOBSTAR', [pattern, p, f])
910
+
911
+ // "**"
912
+ // a/**/b/**/c would match the following:
913
+ // a/b/x/y/z/c
914
+ // a/x/y/z/b/c
915
+ // a/b/x/b/x/c
916
+ // a/b/c
917
+ // To do this, take the rest of the pattern after
918
+ // the **, and see if it would match the file remainder.
919
+ // If so, return success.
920
+ // If not, the ** "swallows" a segment, and try again.
921
+ // This is recursively awful.
922
+ //
923
+ // a/**/b/**/c matching a/b/x/y/z/c
924
+ // - a matches a
925
+ // - doublestar
926
+ // - matchOne(b/x/y/z/c, b/**/c)
927
+ // - b matches b
928
+ // - doublestar
929
+ // - matchOne(x/y/z/c, c) -> no
930
+ // - matchOne(y/z/c, c) -> no
931
+ // - matchOne(z/c, c) -> no
932
+ // - matchOne(c, c) yes, hit
933
+ var fr = fi
934
+ , pr = pi + 1
935
+ if (pr === pl) {
936
+ this.debug('** at the end')
937
+ // a ** at the end will just swallow the rest.
938
+ // We have found a match.
939
+ // however, it will not swallow /.x, unless
940
+ // options.dot is set.
941
+ // . and .. are *never* matched by **, for explosively
942
+ // exponential reasons.
943
+ for ( ; fi < fl; fi ++) {
944
+ if (file[fi] === "." || file[fi] === ".." ||
945
+ (!options.dot && file[fi].charAt(0) === ".")) return false
946
+ }
947
+ return true
948
+ }
949
+
950
+ // ok, let's see if we can swallow whatever we can.
951
+ WHILE: while (fr < fl) {
952
+ var swallowee = file[fr]
953
+
954
+ this.debug('\nglobstar while',
955
+ file, fr, pattern, pr, swallowee)
956
+
957
+ // XXX remove this slice. Just pass the start index.
958
+ if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
959
+ this.debug('globstar found match!', fr, fl, swallowee)
960
+ // found a match.
961
+ return true
962
+ } else {
963
+ // can't swallow "." or ".." ever.
964
+ // can only swallow ".foo" when explicitly asked.
965
+ if (swallowee === "." || swallowee === ".." ||
966
+ (!options.dot && swallowee.charAt(0) === ".")) {
967
+ this.debug("dot detected!", file, fr, pattern, pr)
968
+ break WHILE
969
+ }
970
+
971
+ // ** swallows a segment, and continue.
972
+ this.debug('globstar swallow a segment, and continue')
973
+ fr ++
974
+ }
975
+ }
976
+ // no match was found.
977
+ // However, in partial mode, we can't say this is necessarily over.
978
+ // If there's more *pattern* left, then
979
+ if (partial) {
980
+ // ran out of file
981
+ this.debug("\n>>> no match, partial?", file, fr, pattern, pr)
982
+ if (fr === fl) return true
983
+ }
984
+ return false
985
+ }
986
+
987
+ // something other than **
988
+ // non-magic patterns just have to match exactly
989
+ // patterns with magic have been turned into regexps.
990
+ var hit
991
+ if (typeof p === "string") {
992
+ if (options.nocase) {
993
+ hit = f.toLowerCase() === p.toLowerCase()
994
+ } else {
995
+ hit = f === p
996
+ }
997
+ this.debug("string match", p, f, hit)
998
+ } else {
999
+ hit = f.match(p)
1000
+ this.debug("pattern match", p, f, hit)
1001
+ }
1002
+
1003
+ if (!hit) return false
1004
+ }
1005
+
1006
+ // Note: ending in / means that we'll get a final ""
1007
+ // at the end of the pattern. This can only match a
1008
+ // corresponding "" at the end of the file.
1009
+ // If the file ends in /, then it can only match a
1010
+ // a pattern that ends in /, unless the pattern just
1011
+ // doesn't have any more for it. But, a/b/ should *not*
1012
+ // match "a/b/*", even though "" matches against the
1013
+ // [^/]*? pattern, except in partial mode, where it might
1014
+ // simply not be reached yet.
1015
+ // However, a/b/ should still satisfy a/*
1016
+
1017
+ // now either we fell off the end of the pattern, or we're done.
1018
+ if (fi === fl && pi === pl) {
1019
+ // ran out of pattern and filename at the same time.
1020
+ // an exact hit!
1021
+ return true
1022
+ } else if (fi === fl) {
1023
+ // ran out of file, but still had pattern left.
1024
+ // this is ok if we're doing the match as part of
1025
+ // a glob fs traversal.
1026
+ return partial
1027
+ } else if (pi === pl) {
1028
+ // ran out of pattern, still have file left.
1029
+ // this is only acceptable if we're on the very last
1030
+ // empty segment of a file with a trailing slash.
1031
+ // a/* should match a/b/
1032
+ var emptyFileEnd = (fi === fl - 1) && (file[fi] === "")
1033
+ return emptyFileEnd
1034
+ }
1035
+
1036
+ // should be unreachable.
1037
+ throw new Error("wtf?")
1038
+ }
1039
+
1040
+
1041
+ // replace stuff like \* with *
1042
+ function globUnescape (s) {
1043
+ return s.replace(/\\(.)/g, "$1")
1044
+ }
1045
+
1046
+
1047
+ function regExpEscape (s) {
1048
+ return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
1049
+ }
1050
+
1051
+ })( typeof require === "function" ? require : null,
1052
+ this,
1053
+ typeof module === "object" ? module : null,
1054
+ typeof process === "object" ? process.platform : "win32"
1055
+ )