From bb5c1dabda79ace99f9ef6a8dc2e1e3ca99b1c08 Mon Sep 17 00:00:00 2001 From: Andrej Rasevic <andrej@rasevicengineering.com> Date: Fri, 4 Jan 2019 14:16:52 -0500 Subject: [PATCH] adding node material from 389N --- 389N_stuff/Express.pdf | Bin 0 -> 656508 bytes 389N_stuff/NodeJS.pdf | Bin 0 -> 634524 bytes 389N_stuff/WebServicesPromises.pdf | Bin 0 -> 651572 bytes .../ExpressCode/examples/Testudo3.jpg | Bin 0 -> 18507 bytes .../ExpressCode/examples/additionalFunc.js | 24 + .../ExpressCode/examples/dynamicHTML.js | 18 + .../ExpressCode/examples/example1.js | 12 + .../ExpressCode/examples/formGet.html | 16 + .../ExpressCode/examples/formPost.html | 16 + .../ExpressCode/examples/httpMethods.js | 23 + .../ExpressCode/examples/loggingHTML.js | 17 + .../ExpressCode/examples/middleware.js | 21 + .../examples/node_modules/.bin/mime | 15 + .../examples/node_modules/.bin/mime.cmd | 7 + .../examples/node_modules/accepts/HISTORY.md | 218 + .../examples/node_modules/accepts/LICENSE | 23 + .../examples/node_modules/accepts/README.md | 143 + .../examples/node_modules/accepts/index.js | 238 + .../node_modules/accepts/package.json | 120 + .../node_modules/array-flatten/LICENSE | 21 + .../node_modules/array-flatten/README.md | 43 + .../array-flatten/array-flatten.js | 64 + .../node_modules/array-flatten/package.json | 96 + .../node_modules/basic-auth/HISTORY.md | 47 + .../examples/node_modules/basic-auth/LICENSE | 24 + .../node_modules/basic-auth/README.md | 99 + .../examples/node_modules/basic-auth/index.js | 133 + .../node_modules/basic-auth/package.json | 120 + .../node_modules/body-parser/HISTORY.md | 568 ++ .../examples/node_modules/body-parser/LICENSE | 23 + .../node_modules/body-parser/README.md | 438 ++ .../node_modules/body-parser/index.js | 157 + .../node_modules/body-parser/lib/read.js | 181 + .../body-parser/lib/types/json.js | 232 + .../node_modules/body-parser/lib/types/raw.js | 101 + .../body-parser/lib/types/text.js | 121 + .../body-parser/lib/types/urlencoded.js | 284 + .../node_modules/body-parser/package.json | 128 + .../examples/node_modules/bytes/History.md | 82 + .../examples/node_modules/bytes/LICENSE | 23 + .../examples/node_modules/bytes/Readme.md | 125 + .../examples/node_modules/bytes/index.js | 159 + .../examples/node_modules/bytes/package.json | 122 + .../content-disposition/HISTORY.md | 50 + .../node_modules/content-disposition/LICENSE | 22 + .../content-disposition/README.md | 141 + .../node_modules/content-disposition/index.js | 445 ++ .../content-disposition/package.json | 110 + .../node_modules/content-type/HISTORY.md | 24 + .../node_modules/content-type/LICENSE | 22 + .../node_modules/content-type/README.md | 92 + .../node_modules/content-type/index.js | 222 + .../node_modules/content-type/package.json | 113 + .../node_modules/cookie-signature/.npmignore | 4 + .../node_modules/cookie-signature/History.md | 38 + .../node_modules/cookie-signature/Readme.md | 42 + .../node_modules/cookie-signature/index.js | 51 + .../cookie-signature/package.json | 92 + .../examples/node_modules/cookie/HISTORY.md | 118 + .../examples/node_modules/cookie/LICENSE | 24 + .../examples/node_modules/cookie/README.md | 220 + .../examples/node_modules/cookie/index.js | 195 + .../examples/node_modules/cookie/package.json | 106 + .../node_modules/debug/.coveralls.yml | 1 + .../examples/node_modules/debug/.eslintrc | 11 + .../examples/node_modules/debug/.npmignore | 9 + .../examples/node_modules/debug/.travis.yml | 14 + .../examples/node_modules/debug/CHANGELOG.md | 362 + .../examples/node_modules/debug/LICENSE | 19 + .../examples/node_modules/debug/Makefile | 50 + .../examples/node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../examples/node_modules/debug/karma.conf.js | 70 + .../examples/node_modules/debug/node.js | 1 + .../examples/node_modules/debug/package.json | 139 + .../node_modules/debug/src/browser.js | 185 + .../examples/node_modules/debug/src/debug.js | 202 + .../examples/node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../examples/node_modules/debug/src/node.js | 248 + .../examples/node_modules/depd/History.md | 90 + .../examples/node_modules/depd/LICENSE | 22 + .../examples/node_modules/depd/Readme.md | 283 + .../examples/node_modules/depd/index.js | 520 ++ .../node_modules/depd/lib/browser/index.js | 77 + .../depd/lib/compat/callsite-tostring.js | 103 + .../depd/lib/compat/event-listener-count.js | 22 + .../node_modules/depd/lib/compat/index.js | 79 + .../examples/node_modules/depd/package.json | 115 + .../examples/node_modules/destroy/LICENSE | 22 + .../examples/node_modules/destroy/README.md | 60 + .../examples/node_modules/destroy/index.js | 75 + .../node_modules/destroy/package.json | 106 + .../examples/node_modules/ee-first/LICENSE | 22 + .../examples/node_modules/ee-first/README.md | 80 + .../examples/node_modules/ee-first/index.js | 95 + .../node_modules/ee-first/package.json | 98 + .../examples/node_modules/ejs/Jakefile | 70 + .../examples/node_modules/ejs/LICENSE | 202 + .../examples/node_modules/ejs/README.md | 257 + .../examples/node_modules/ejs/ejs.js | 1494 ++++ .../examples/node_modules/ejs/ejs.min.js | 1 + .../examples/node_modules/ejs/lib/ejs.js | 866 ++ .../examples/node_modules/ejs/lib/utils.js | 164 + .../examples/node_modules/ejs/package.json | 114 + .../node_modules/encodeurl/HISTORY.md | 9 + .../examples/node_modules/encodeurl/LICENSE | 22 + .../examples/node_modules/encodeurl/README.md | 124 + .../examples/node_modules/encodeurl/index.js | 60 + .../node_modules/encodeurl/package.json | 112 + .../examples/node_modules/escape-html/LICENSE | 24 + .../node_modules/escape-html/Readme.md | 43 + .../node_modules/escape-html/index.js | 78 + .../node_modules/escape-html/package.json | 94 + .../examples/node_modules/etag/HISTORY.md | 83 + .../examples/node_modules/etag/LICENSE | 22 + .../examples/node_modules/etag/README.md | 159 + .../examples/node_modules/etag/index.js | 131 + .../examples/node_modules/etag/package.json | 122 + .../examples/node_modules/express/History.md | 3374 ++++++++ .../examples/node_modules/express/LICENSE | 24 + .../examples/node_modules/express/Readme.md | 153 + .../examples/node_modules/express/index.js | 11 + .../node_modules/express/lib/application.js | 644 ++ .../node_modules/express/lib/express.js | 112 + .../express/lib/middleware/init.js | 43 + .../express/lib/middleware/query.js | 47 + .../node_modules/express/lib/request.js | 521 ++ .../node_modules/express/lib/response.js | 1137 +++ .../node_modules/express/lib/router/index.js | 662 ++ .../node_modules/express/lib/router/layer.js | 181 + .../node_modules/express/lib/router/route.js | 216 + .../node_modules/express/lib/utils.js | 306 + .../examples/node_modules/express/lib/view.js | 182 + .../node_modules/express/package.json | 201 + .../node_modules/finalhandler/HISTORY.md | 172 + .../node_modules/finalhandler/LICENSE | 22 + .../node_modules/finalhandler/README.md | 148 + .../node_modules/finalhandler/index.js | 314 + .../node_modules/finalhandler/package.json | 115 + .../node_modules/forwarded/HISTORY.md | 16 + .../examples/node_modules/forwarded/LICENSE | 22 + .../examples/node_modules/forwarded/README.md | 57 + .../examples/node_modules/forwarded/index.js | 76 + .../node_modules/forwarded/package.json | 114 + .../examples/node_modules/fresh/HISTORY.md | 70 + .../examples/node_modules/fresh/LICENSE | 23 + .../examples/node_modules/fresh/README.md | 119 + .../examples/node_modules/fresh/index.js | 137 + .../examples/node_modules/fresh/package.json | 126 + .../node_modules/http-errors/HISTORY.md | 124 + .../examples/node_modules/http-errors/LICENSE | 23 + .../node_modules/http-errors/README.md | 135 + .../node_modules/http-errors/index.js | 260 + .../node_modules/setprototypeof/LICENSE | 13 + .../node_modules/setprototypeof/README.md | 21 + .../node_modules/setprototypeof/index.js | 15 + .../node_modules/setprototypeof/package.json | 88 + .../node_modules/http-errors/package.json | 135 + .../node_modules/iconv-lite/.npmignore | 6 + .../node_modules/iconv-lite/.travis.yml | 23 + .../node_modules/iconv-lite/Changelog.md | 134 + .../examples/node_modules/iconv-lite/LICENSE | 21 + .../node_modules/iconv-lite/README.md | 160 + .../iconv-lite/encodings/dbcs-codec.js | 555 ++ .../iconv-lite/encodings/dbcs-data.js | 176 + .../iconv-lite/encodings/index.js | 22 + .../iconv-lite/encodings/internal.js | 188 + .../iconv-lite/encodings/sbcs-codec.js | 73 + .../encodings/sbcs-data-generated.js | 451 ++ .../iconv-lite/encodings/sbcs-data.js | 169 + .../encodings/tables/big5-added.json | 122 + .../iconv-lite/encodings/tables/cp936.json | 264 + .../iconv-lite/encodings/tables/cp949.json | 273 + .../iconv-lite/encodings/tables/cp950.json | 177 + .../iconv-lite/encodings/tables/eucjp.json | 182 + .../encodings/tables/gb18030-ranges.json | 1 + .../encodings/tables/gbk-added.json | 55 + .../iconv-lite/encodings/tables/shiftjis.json | 125 + .../iconv-lite/encodings/utf16.js | 177 + .../node_modules/iconv-lite/encodings/utf7.js | 290 + .../iconv-lite/lib/bom-handling.js | 52 + .../iconv-lite/lib/extend-node.js | 215 + .../node_modules/iconv-lite/lib/index.d.ts | 24 + .../node_modules/iconv-lite/lib/index.js | 148 + .../node_modules/iconv-lite/lib/streams.js | 121 + .../node_modules/iconv-lite/package.json | 161 + .../examples/node_modules/inherits/LICENSE | 16 + .../examples/node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 7 + .../node_modules/inherits/inherits_browser.js | 23 + .../node_modules/inherits/package.json | 97 + .../node_modules/ipaddr.js/.npmignore | 2 + .../node_modules/ipaddr.js/.travis.yml | 10 + .../examples/node_modules/ipaddr.js/Cakefile | 18 + .../examples/node_modules/ipaddr.js/LICENSE | 19 + .../examples/node_modules/ipaddr.js/README.md | 233 + .../node_modules/ipaddr.js/bower.json | 29 + .../node_modules/ipaddr.js/ipaddr.min.js | 1 + .../node_modules/ipaddr.js/lib/ipaddr.js | 678 ++ .../node_modules/ipaddr.js/package.json | 97 + .../node_modules/ipaddr.js/src/ipaddr.coffee | 591 ++ .../ipaddr.js/test/ipaddr.test.coffee | 483 ++ .../node_modules/media-typer/HISTORY.md | 22 + .../examples/node_modules/media-typer/LICENSE | 22 + .../node_modules/media-typer/README.md | 81 + .../node_modules/media-typer/index.js | 270 + .../node_modules/media-typer/package.json | 92 + .../node_modules/merge-descriptors/HISTORY.md | 21 + .../node_modules/merge-descriptors/LICENSE | 23 + .../node_modules/merge-descriptors/README.md | 48 + .../node_modules/merge-descriptors/index.js | 60 + .../merge-descriptors/package.json | 172 + .../examples/node_modules/methods/HISTORY.md | 29 + .../examples/node_modules/methods/LICENSE | 24 + .../examples/node_modules/methods/README.md | 51 + .../examples/node_modules/methods/index.js | 69 + .../node_modules/methods/package.json | 122 + .../examples/node_modules/mime-db/HISTORY.md | 343 + .../examples/node_modules/mime-db/LICENSE | 22 + .../examples/node_modules/mime-db/README.md | 94 + .../examples/node_modules/mime-db/db.json | 6966 +++++++++++++++++ .../examples/node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 140 + .../node_modules/mime-types/HISTORY.md | 247 + .../examples/node_modules/mime-types/LICENSE | 23 + .../node_modules/mime-types/README.md | 108 + .../examples/node_modules/mime-types/index.js | 188 + .../node_modules/mime-types/package.json | 130 + .../examples/node_modules/mime/LICENSE | 21 + .../examples/node_modules/mime/README.md | 90 + .../examples/node_modules/mime/build/build.js | 11 + .../examples/node_modules/mime/build/test.js | 60 + .../examples/node_modules/mime/cli.js | 8 + .../examples/node_modules/mime/mime.js | 108 + .../examples/node_modules/mime/package.json | 107 + .../examples/node_modules/mime/types.json | 1 + .../examples/node_modules/morgan/HISTORY.md | 195 + .../examples/node_modules/morgan/LICENSE | 23 + .../examples/node_modules/morgan/README.md | 415 + .../examples/node_modules/morgan/index.js | 522 ++ .../examples/node_modules/morgan/package.json | 127 + .../examples/node_modules/ms/index.js | 152 + .../examples/node_modules/ms/license.md | 21 + .../examples/node_modules/ms/package.json | 110 + .../examples/node_modules/ms/readme.md | 51 + .../node_modules/negotiator/HISTORY.md | 98 + .../examples/node_modules/negotiator/LICENSE | 24 + .../node_modules/negotiator/README.md | 203 + .../examples/node_modules/negotiator/index.js | 124 + .../node_modules/negotiator/lib/charset.js | 169 + .../node_modules/negotiator/lib/encoding.js | 184 + .../node_modules/negotiator/lib/language.js | 179 + .../node_modules/negotiator/lib/mediaType.js | 294 + .../node_modules/negotiator/package.json | 125 + .../node_modules/on-finished/HISTORY.md | 88 + .../examples/node_modules/on-finished/LICENSE | 23 + .../node_modules/on-finished/README.md | 154 + .../node_modules/on-finished/index.js | 196 + .../node_modules/on-finished/package.json | 107 + .../node_modules/on-headers/HISTORY.md | 16 + .../examples/node_modules/on-headers/LICENSE | 22 + .../node_modules/on-headers/README.md | 76 + .../examples/node_modules/on-headers/index.js | 93 + .../node_modules/on-headers/package.json | 103 + .../examples/node_modules/parseurl/HISTORY.md | 53 + .../examples/node_modules/parseurl/LICENSE | 24 + .../examples/node_modules/parseurl/README.md | 124 + .../examples/node_modules/parseurl/index.js | 154 + .../node_modules/parseurl/package.json | 117 + .../node_modules/path-to-regexp/History.md | 36 + .../node_modules/path-to-regexp/LICENSE | 21 + .../node_modules/path-to-regexp/Readme.md | 35 + .../node_modules/path-to-regexp/index.js | 129 + .../node_modules/path-to-regexp/package.json | 219 + .../node_modules/proxy-addr/HISTORY.md | 135 + .../examples/node_modules/proxy-addr/LICENSE | 22 + .../node_modules/proxy-addr/README.md | 156 + .../examples/node_modules/proxy-addr/index.js | 327 + .../node_modules/proxy-addr/package.json | 116 + .../examples/node_modules/qs/.editorconfig | 30 + .../examples/node_modules/qs/.eslintignore | 1 + .../examples/node_modules/qs/.eslintrc | 19 + .../examples/node_modules/qs/CHANGELOG.md | 221 + .../examples/node_modules/qs/LICENSE | 28 + .../examples/node_modules/qs/README.md | 475 ++ .../examples/node_modules/qs/dist/qs.js | 627 ++ .../examples/node_modules/qs/lib/formats.js | 18 + .../examples/node_modules/qs/lib/index.js | 11 + .../examples/node_modules/qs/lib/parse.js | 174 + .../examples/node_modules/qs/lib/stringify.js | 210 + .../examples/node_modules/qs/lib/utils.js | 202 + .../examples/node_modules/qs/package.json | 124 + .../examples/node_modules/qs/test/.eslintrc | 15 + .../examples/node_modules/qs/test/index.js | 7 + .../examples/node_modules/qs/test/parse.js | 573 ++ .../node_modules/qs/test/stringify.js | 596 ++ .../examples/node_modules/qs/test/utils.js | 34 + .../node_modules/range-parser/HISTORY.md | 51 + .../node_modules/range-parser/LICENSE | 23 + .../node_modules/range-parser/README.md | 75 + .../node_modules/range-parser/index.js | 158 + .../node_modules/range-parser/package.json | 134 + .../examples/node_modules/raw-body/HISTORY.md | 247 + .../examples/node_modules/raw-body/LICENSE | 22 + .../examples/node_modules/raw-body/README.md | 219 + .../examples/node_modules/raw-body/index.d.ts | 87 + .../examples/node_modules/raw-body/index.js | 286 + .../node_modules/raw-body/package.json | 129 + .../node_modules/safe-buffer/.travis.yml | 7 + .../examples/node_modules/safe-buffer/LICENSE | 21 + .../node_modules/safe-buffer/README.md | 584 ++ .../node_modules/safe-buffer/index.js | 62 + .../node_modules/safe-buffer/package.json | 103 + .../examples/node_modules/safe-buffer/test.js | 101 + .../examples/node_modules/send/HISTORY.md | 452 ++ .../examples/node_modules/send/LICENSE | 23 + .../examples/node_modules/send/README.md | 309 + .../examples/node_modules/send/index.js | 1130 +++ .../examples/node_modules/send/package.json | 142 + .../node_modules/serve-static/HISTORY.md | 422 + .../node_modules/serve-static/LICENSE | 25 + .../node_modules/serve-static/README.md | 261 + .../node_modules/serve-static/index.js | 209 + .../node_modules/serve-static/package.json | 111 + .../node_modules/setprototypeof/LICENSE | 13 + .../node_modules/setprototypeof/README.md | 26 + .../node_modules/setprototypeof/index.d.ts | 2 + .../node_modules/setprototypeof/index.js | 15 + .../node_modules/setprototypeof/package.json | 90 + .../examples/node_modules/statuses/HISTORY.md | 55 + .../examples/node_modules/statuses/LICENSE | 23 + .../examples/node_modules/statuses/README.md | 103 + .../examples/node_modules/statuses/codes.json | 65 + .../examples/node_modules/statuses/index.js | 110 + .../node_modules/statuses/package.json | 141 + .../examples/node_modules/type-is/HISTORY.md | 218 + .../examples/node_modules/type-is/LICENSE | 23 + .../examples/node_modules/type-is/README.md | 146 + .../examples/node_modules/type-is/index.js | 262 + .../node_modules/type-is/package.json | 122 + .../examples/node_modules/unpipe/HISTORY.md | 4 + .../examples/node_modules/unpipe/LICENSE | 22 + .../examples/node_modules/unpipe/README.md | 43 + .../examples/node_modules/unpipe/index.js | 69 + .../examples/node_modules/unpipe/package.json | 94 + .../node_modules/utils-merge/.npmignore | 9 + .../examples/node_modules/utils-merge/LICENSE | 20 + .../node_modules/utils-merge/README.md | 34 + .../node_modules/utils-merge/index.js | 23 + .../node_modules/utils-merge/package.json | 101 + .../examples/node_modules/vary/HISTORY.md | 39 + .../examples/node_modules/vary/LICENSE | 22 + .../examples/node_modules/vary/README.md | 101 + .../examples/node_modules/vary/index.js | 149 + .../examples/node_modules/vary/package.json | 114 + .../ExpressCode/examples/package.json | 17 + .../ExpressCode/examples/postParameters.js | 22 + .../ExpressCode/examples/queryArguments.js | 21 + .../ExpressCode/examples/routing.js | 27 + .../examples/serverStaticFiles/Testudo.jpg | Bin 0 -> 18507 bytes .../examples/serverStaticFiles/armory.jpg | Bin 0 -> 33190 bytes .../ExpressCode/examples/servingFiles.js | 25 + .../examples/templates/courseInfo.ejs | 17 + .../examples/templates/welcome.ejs | 14 + .../code_examples/NodeJSCode/courseInfo.txt | 2 + .../NodeJSCode/fibonacciAsync.js | 38 + .../code_examples/NodeJSCode/imageServer.html | 20 + .../code_examples/NodeJSCode/imageServer.js | 33 + .../code_examples/NodeJSCode/images/umcp.jpg | Bin 0 -> 35675 bytes .../NodeJSCode/readFileContentsAsync.js | 14 + .../NodeJSCode/readFileContentsSync.js | 9 + 389N_stuff/code_examples/NodeJSCode/timer.js | 21 + .../code_examples/NodeJSCode/webServer.js | 12 + .../NodeJSCode/webServerControl.js | 27 + .../ImmediatelyInvokedFunctionExpression.html | 20 + .../ModuleImplementationViaIIFE.html | 49 + .../PromisesBasics.html | 39 + .../WebServicesPromisesCode/PromisesFib.js | 51 + 379 files changed, 57930 insertions(+) create mode 100644 389N_stuff/Express.pdf create mode 100644 389N_stuff/NodeJS.pdf create mode 100644 389N_stuff/WebServicesPromises.pdf create mode 100755 389N_stuff/code_examples/ExpressCode/examples/Testudo3.jpg create mode 100755 389N_stuff/code_examples/ExpressCode/examples/additionalFunc.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/dynamicHTML.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/example1.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/formGet.html create mode 100755 389N_stuff/code_examples/ExpressCode/examples/formPost.html create mode 100755 389N_stuff/code_examples/ExpressCode/examples/httpMethods.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/loggingHTML.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/middleware.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime.cmd create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/array-flatten.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/read.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/json.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/raw.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/text.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/urlencoded.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/History.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/.npmignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/History.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.coveralls.yml create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.eslintrc create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.npmignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.travis.yml create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/CHANGELOG.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/Makefile create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/component.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/karma.conf.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/node.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/browser.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/debug.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/inspector-log.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/node.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/History.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/browser/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/callsite-tostring.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/event-listener-count.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/Jakefile create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.min.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/ejs.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/utils.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/History.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/application.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/express.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/init.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/query.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/request.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/response.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/layer.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/route.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/utils.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/view.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/express/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.npmignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.travis.yml create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/Changelog.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-codec.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-data.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/internal.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-codec.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data-generated.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/big5-added.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp936.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp949.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp950.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/eucjp.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gbk-added.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/shiftjis.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf16.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf7.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/bom-handling.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/extend-node.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.d.ts create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/streams.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits_browser.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.npmignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.travis.yml create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/Cakefile create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/bower.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/ipaddr.min.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/lib/ipaddr.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/src/ipaddr.coffee create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/test/ipaddr.test.coffee create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/db.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/build.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/test.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/cli.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/mime.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/types.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/license.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/charset.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/encoding.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/language.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/mediaType.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/History.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/Readme.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.editorconfig create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintrc create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/CHANGELOG.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/dist/qs.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/formats.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/parse.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/stringify.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/utils.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/.eslintrc create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/parse.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/stringify.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/utils.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.d.ts create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/.travis.yml create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/test.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/send/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/send/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/send/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/send/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/send/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.d.ts create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/codes.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/.npmignore create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/HISTORY.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/LICENSE create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/README.md create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/index.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/package.json create mode 100755 389N_stuff/code_examples/ExpressCode/examples/postParameters.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/queryArguments.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/routing.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/Testudo.jpg create mode 100755 389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/armory.jpg create mode 100755 389N_stuff/code_examples/ExpressCode/examples/servingFiles.js create mode 100755 389N_stuff/code_examples/ExpressCode/examples/templates/courseInfo.ejs create mode 100755 389N_stuff/code_examples/ExpressCode/examples/templates/welcome.ejs create mode 100755 389N_stuff/code_examples/NodeJSCode/courseInfo.txt create mode 100755 389N_stuff/code_examples/NodeJSCode/fibonacciAsync.js create mode 100755 389N_stuff/code_examples/NodeJSCode/imageServer.html create mode 100755 389N_stuff/code_examples/NodeJSCode/imageServer.js create mode 100755 389N_stuff/code_examples/NodeJSCode/images/umcp.jpg create mode 100755 389N_stuff/code_examples/NodeJSCode/readFileContentsAsync.js create mode 100755 389N_stuff/code_examples/NodeJSCode/readFileContentsSync.js create mode 100755 389N_stuff/code_examples/NodeJSCode/timer.js create mode 100755 389N_stuff/code_examples/NodeJSCode/webServer.js create mode 100755 389N_stuff/code_examples/NodeJSCode/webServerControl.js create mode 100755 389N_stuff/code_examples/WebServicesPromisesCode/ImmediatelyInvokedFunctionExpression.html create mode 100755 389N_stuff/code_examples/WebServicesPromisesCode/ModuleImplementationViaIIFE.html create mode 100755 389N_stuff/code_examples/WebServicesPromisesCode/PromisesBasics.html create mode 100755 389N_stuff/code_examples/WebServicesPromisesCode/PromisesFib.js diff --git a/389N_stuff/Express.pdf b/389N_stuff/Express.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4bedc3fc7bffbbf0c3984c707bffae3a3cc51b17 GIT binary patch literal 656508 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�M^JX~g+1&^5m-DIr+= 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 P<7V1%y>Tl3?D)R{=VD1W literal 0 HcmV?d00001 diff --git a/389N_stuff/NodeJS.pdf b/389N_stuff/NodeJS.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42d7cb37fba705a26373dbb86727443f54f8cec1 GIT binary patch literal 634524 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þ@~jS%)FcL5F2wK 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͊F|<g|I2+fa*HP&0ZyK`F_O+9Fbu9W`b} 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 HH2nVn`&XJ( literal 0 HcmV?d00001 diff --git a/389N_stuff/WebServicesPromises.pdf b/389N_stuff/WebServicesPromises.pdf new file mode 100644 index 0000000000000000000000000000000000000000..729f545f7b146d8bb1e9bdfe73e2fe92045aaa3a GIT binary patch literal 651572 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�Y0qja(cmc5j_mul;w+IlEg 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�tBFNcdPl5|!aLHGk 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�?so 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%0AA$iL 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 literal 0 HcmV?d00001 diff --git a/389N_stuff/code_examples/ExpressCode/examples/Testudo3.jpg b/389N_stuff/code_examples/ExpressCode/examples/Testudo3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..64478744002ecfaf2de8e0ef57b122468eb9ea9d GIT binary patch literal 18507 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 literal 0 HcmV?d00001 diff --git a/389N_stuff/code_examples/ExpressCode/examples/additionalFunc.js b/389N_stuff/code_examples/ExpressCode/examples/additionalFunc.js new file mode 100755 index 0000000..52cebfa --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/additionalFunc.js @@ -0,0 +1,24 @@ +/* + *http://localhost:7001/Testudo.jpg + */ + +let http = require("http"); +let path = require("path"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ + +console.log("__dirname: " + __dirname); +/* Notice serverStaticFiles is not part of the url to find files */ +let publicPath = path.resolve(__dirname, "serverStaticFiles"); + +app.use(express.static(publicPath)); + +app.use(function(request, response) { + let statusCode = 200; /* OK */ + + console.log("request.ip: " + request.ip); + response.redirect("http://www.cs.umd.edu"); +}); + +console.log("Server started on port 7002"); +http.createServer(app).listen(7002); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/dynamicHTML.js b/389N_stuff/code_examples/ExpressCode/examples/dynamicHTML.js new file mode 100755 index 0000000..53bfd0b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/dynamicHTML.js @@ -0,0 +1,18 @@ + +let http = require("http"); +let path = require("path"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ + +app.set("views", path.resolve(__dirname, "templates")); +app.set("view engine", "ejs"); + +app.get("/", function(request, response) { + let variables = { semester: "Summer", + greeting : "<em>Welcome to the course site</em>" + }; + response.render("welcome", variables); +}); + +console.log("Server started on port 7001"); +http.createServer(app).listen(7001); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/example1.js b/389N_stuff/code_examples/ExpressCode/examples/example1.js new file mode 100755 index 0000000..83e5761 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/example1.js @@ -0,0 +1,12 @@ +let http = require("http"); +let express = require("express"); /* Accessing express module */ + +let app = express(); /* app is a request handler function */ + +app.use(function(request, response) { + console.log("Received: " + request.url); + response.end("Request received by server (8000)"); +}); + +console.log("Server started on port 8000"); +http.createServer(app).listen(8000); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/formGet.html b/389N_stuff/code_examples/ExpressCode/examples/formGet.html new file mode 100755 index 0000000..70a70bf --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/formGet.html @@ -0,0 +1,16 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8" /> + <title>Express Example</title> + </head> + + <body> + <h1>Course Information Form</h1> + <form action="http://localhost:7002" method="get"> + <strong>Semester: </strong><input type="text" name="semester" /> + <strong>Teacher: </strong><input type="text" name="teacher" /> + <input type="submit" value="Submit Data" /> + </form> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/formPost.html b/389N_stuff/code_examples/ExpressCode/examples/formPost.html new file mode 100755 index 0000000..b27570e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/formPost.html @@ -0,0 +1,16 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8" /> + <title>PHP Example</title> + </head> + + <body> + <h1>Course Information Form (Using Post)</h1> + <form action="http://localhost:7003/" method="post"> + <strong>Semester: </strong><input type="text" name="semester" /> + <strong>Teacher: </strong><input type="text" name="teacher" /> + <input type="submit" value="Submit Data" /> + </form> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/httpMethods.js b/389N_stuff/code_examples/ExpressCode/examples/httpMethods.js new file mode 100755 index 0000000..ce31639 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/httpMethods.js @@ -0,0 +1,23 @@ +let http = require("http"); +let express = require("express"); /* Accessing express module */ + +let app = express(); /* app is a request handler function */ + +app.get("/", function(request, response) { + response.send("get request detected"); +}); + +app.post("/", function(request, response) { + response.send("post request detected") +}); + +app.put("/", function(request, response) { + response.send("put request detected") +}); + +app.delete("/", function(request, response) { + response.send("delete request detected") +}); + +console.log("Server started on port 8001"); +http.createServer(app).listen(8001); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/loggingHTML.js b/389N_stuff/code_examples/ExpressCode/examples/loggingHTML.js new file mode 100755 index 0000000..e772a1e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/loggingHTML.js @@ -0,0 +1,17 @@ +let http = require("http"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ +let morganLogger = require("morgan"); + +app.use(morganLogger("short")); /* You can try dev instead of short */ + +app.use(function(request, response) { + let statusCode = 200; /* OK */ + + /* text/html vs. text/plain in next entry */ + response.writeHead(statusCode, {"Content-type": "text/html"}); + response.end("<h1>We have logged request</h1>"); +}); + +console.log("Server started on port 7000"); +http.createServer(app).listen(7000); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/middleware.js b/389N_stuff/code_examples/ExpressCode/examples/middleware.js new file mode 100755 index 0000000..35b0a00 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/middleware.js @@ -0,0 +1,21 @@ +let http = require("http"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ +let message; + +app.use(function(request, response, next) { + console.log("Received: " + request.url); + message = "First middleware function\n"; + console.log(message); + next(); /* next middleware function */ +}); + +app.use(function(request, response) { + let secondMessage = "Second middleware function"; + console.log(secondMessage); + message += secondMessage; + response.end(message); +}); + +console.log("Server started on port 5000"); +http.createServer(app).listen(5000); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime b/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime new file mode 100755 index 0000000..0dbddf0 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime @@ -0,0 +1,15 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + "$basedir/node" "$basedir/../mime/cli.js" "$@" + ret=$? +else + node "$basedir/../mime/cli.js" "$@" + ret=$? +fi +exit $ret diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime.cmd b/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime.cmd new file mode 100755 index 0000000..546cb59 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/.bin/mime.cmd @@ -0,0 +1,7 @@ +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* +) ELSE ( + @SETLOCAL + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\mime\cli.js" %* +) \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/HISTORY.md new file mode 100755 index 0000000..aaf5281 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/HISTORY.md @@ -0,0 +1,218 @@ +1.3.4 / 2017-08-22 +================== + + * deps: mime-types@~2.1.16 + - deps: mime-db@~1.29.0 + +1.3.3 / 2016-05-02 +================== + + * deps: mime-types@~2.1.11 + - deps: mime-db@~1.23.0 + * deps: negotiator@0.6.1 + - perf: improve `Accept` parsing speed + - perf: improve `Accept-Charset` parsing speed + - perf: improve `Accept-Encoding` parsing speed + - perf: improve `Accept-Language` parsing speed + +1.3.2 / 2016-03-08 +================== + + * deps: mime-types@~2.1.10 + - Fix extension of `application/dash+xml` + - Update primary extension for `audio/mp4` + - deps: mime-db@~1.22.0 + +1.3.1 / 2016-01-19 +================== + + * deps: mime-types@~2.1.9 + - deps: mime-db@~1.21.0 + +1.3.0 / 2015-09-29 +================== + + * deps: mime-types@~2.1.7 + - deps: mime-db@~1.19.0 + * deps: negotiator@0.6.0 + - Fix including type extensions in parameters in `Accept` parsing + - Fix parsing `Accept` parameters with quoted equals + - Fix parsing `Accept` parameters with quoted semicolons + - Lazy-load modules from main entry point + - perf: delay type concatenation until needed + - perf: enable strict mode + - perf: hoist regular expressions + - perf: remove closures getting spec properties + - perf: remove a closure from media type parsing + - perf: remove property delete from media type parsing + +1.2.13 / 2015-09-06 +=================== + + * deps: mime-types@~2.1.6 + - deps: mime-db@~1.18.0 + +1.2.12 / 2015-07-30 +=================== + + * deps: mime-types@~2.1.4 + - deps: mime-db@~1.16.0 + +1.2.11 / 2015-07-16 +=================== + + * deps: mime-types@~2.1.3 + - deps: mime-db@~1.15.0 + +1.2.10 / 2015-07-01 +=================== + + * deps: mime-types@~2.1.2 + - deps: mime-db@~1.14.0 + +1.2.9 / 2015-06-08 +================== + + * deps: mime-types@~2.1.1 + - perf: fix deopt during mapping + +1.2.8 / 2015-06-07 +================== + + * deps: mime-types@~2.1.0 + - deps: mime-db@~1.13.0 + * perf: avoid argument reassignment & argument slice + * perf: avoid negotiator recursive construction + * perf: enable strict mode + * perf: remove unnecessary bitwise operator + +1.2.7 / 2015-05-10 +================== + + * deps: negotiator@0.5.3 + - Fix media type parameter matching to be case-insensitive + +1.2.6 / 2015-05-07 +================== + + * deps: mime-types@~2.0.11 + - deps: mime-db@~1.9.1 + * deps: negotiator@0.5.2 + - Fix comparing media types with quoted values + - Fix splitting media types with quoted commas + +1.2.5 / 2015-03-13 +================== + + * deps: mime-types@~2.0.10 + - deps: mime-db@~1.8.0 + +1.2.4 / 2015-02-14 +================== + + * Support Node.js 0.6 + * deps: mime-types@~2.0.9 + - deps: mime-db@~1.7.0 + * deps: negotiator@0.5.1 + - Fix preference sorting to be stable for long acceptable lists + +1.2.3 / 2015-01-31 +================== + + * deps: mime-types@~2.0.8 + - deps: mime-db@~1.6.0 + +1.2.2 / 2014-12-30 +================== + + * deps: mime-types@~2.0.7 + - deps: mime-db@~1.5.0 + +1.2.1 / 2014-12-30 +================== + + * deps: mime-types@~2.0.5 + - deps: mime-db@~1.3.1 + +1.2.0 / 2014-12-19 +================== + + * deps: negotiator@0.5.0 + - Fix list return order when large accepted list + - Fix missing identity encoding when q=0 exists + - Remove dynamic building of Negotiator class + +1.1.4 / 2014-12-10 +================== + + * deps: mime-types@~2.0.4 + - deps: mime-db@~1.3.0 + +1.1.3 / 2014-11-09 +================== + + * deps: mime-types@~2.0.3 + - deps: mime-db@~1.2.0 + +1.1.2 / 2014-10-14 +================== + + * deps: negotiator@0.4.9 + - Fix error when media type has invalid parameter + +1.1.1 / 2014-09-28 +================== + + * deps: mime-types@~2.0.2 + - deps: mime-db@~1.1.0 + * deps: negotiator@0.4.8 + - Fix all negotiations to be case-insensitive + - Stable sort preferences of same quality according to client order + +1.1.0 / 2014-09-02 +================== + + * update `mime-types` + +1.0.7 / 2014-07-04 +================== + + * Fix wrong type returned from `type` when match after unknown extension + +1.0.6 / 2014-06-24 +================== + + * deps: negotiator@0.4.7 + +1.0.5 / 2014-06-20 +================== + + * fix crash when unknown extension given + +1.0.4 / 2014-06-19 +================== + + * use `mime-types` + +1.0.3 / 2014-06-11 +================== + + * deps: negotiator@0.4.6 + - Order by specificity when quality is the same + +1.0.2 / 2014-05-29 +================== + + * Fix interpretation when header not in request + * deps: pin negotiator@0.4.5 + +1.0.1 / 2014-01-18 +================== + + * Identity encoding isn't always acceptable + * deps: negotiator@~0.4.0 + +1.0.0 / 2013-12-27 +================== + + * Genesis diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/LICENSE new file mode 100755 index 0000000..0616607 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/README.md new file mode 100755 index 0000000..6a2749a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/README.md @@ -0,0 +1,143 @@ +# accepts + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator). +Extracted from [koa](https://www.npmjs.com/package/koa) for general use. + +In addition to negotiator, it allows: + +- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` + as well as `('text/html', 'application/json')`. +- Allows type shorthands such as `json`. +- Returns `false` when no types match +- Treats non-existent headers as `*` + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install accepts +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var accepts = require('accepts') +``` + +### accepts(req) + +Create a new `Accepts` object for the given `req`. + +#### .charset(charsets) + +Return the first accepted charset. If nothing in `charsets` is accepted, +then `false` is returned. + +#### .charsets() + +Return the charsets that the request accepts, in the order of the client's +preference (most preferred first). + +#### .encoding(encodings) + +Return the first accepted encoding. If nothing in `encodings` is accepted, +then `false` is returned. + +#### .encodings() + +Return the encodings that the request accepts, in the order of the client's +preference (most preferred first). + +#### .language(languages) + +Return the first accepted language. If nothing in `languages` is accepted, +then `false` is returned. + +#### .languages() + +Return the languages that the request accepts, in the order of the client's +preference (most preferred first). + +#### .type(types) + +Return the first accepted type (and it is returned as the same text as what +appears in the `types` array). If nothing in `types` is accepted, then `false` +is returned. + +The `types` array can contain full MIME types or file extensions. Any value +that is not a full MIME types is passed to `require('mime-types').lookup`. + +#### .types() + +Return the types that the request accepts, in the order of the client's +preference (most preferred first). + +## Examples + +### Simple type negotiation + +This simple example shows how to use `accepts` to return a different typed +respond body based on what the client wants to accept. The server lists it's +preferences in order and will get back the best match between the client and +server. + +```js +var accepts = require('accepts') +var http = require('http') + +function app (req, res) { + var accept = accepts(req) + + // the order of this list is significant; should be server preferred order + switch (accept.type(['json', 'html'])) { + case 'json': + res.setHeader('Content-Type', 'application/json') + res.write('{"hello":"world!"}') + break + case 'html': + res.setHeader('Content-Type', 'text/html') + res.write('<b>hello, world!</b>') + break + default: + // the fallback is text/plain, so no need to specify it above + res.setHeader('Content-Type', 'text/plain') + res.write('hello, world!') + break + } + + res.end() +} + +http.createServer(app).listen(3000) +``` + +You can test this out with the cURL program: +```sh +curl -I -H'Accept: text/html' http://localhost:3000/ +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/accepts.svg +[npm-url]: https://npmjs.org/package/accepts +[node-version-image]: https://img.shields.io/node/v/accepts.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/accepts/master.svg +[travis-url]: https://travis-ci.org/jshttp/accepts +[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/accepts +[downloads-image]: https://img.shields.io/npm/dm/accepts.svg +[downloads-url]: https://npmjs.org/package/accepts diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/index.js new file mode 100755 index 0000000..e9b2f63 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/index.js @@ -0,0 +1,238 @@ +/*! + * accepts + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var Negotiator = require('negotiator') +var mime = require('mime-types') + +/** + * Module exports. + * @public + */ + +module.exports = Accepts + +/** + * Create a new Accepts object for the given req. + * + * @param {object} req + * @public + */ + +function Accepts (req) { + if (!(this instanceof Accepts)) { + return new Accepts(req) + } + + this.headers = req.headers + this.negotiator = new Negotiator(req) +} + +/** + * Check if the given `type(s)` is acceptable, returning + * the best match when true, otherwise `undefined`, in which + * case you should respond with 406 "Not Acceptable". + * + * The `type` value may be a single mime type string + * such as "application/json", the extension name + * such as "json" or an array `["json", "html", "text/plain"]`. When a list + * or array is given the _best_ match, if any is returned. + * + * Examples: + * + * // Accept: text/html + * this.types('html'); + * // => "html" + * + * // Accept: text/*, application/json + * this.types('html'); + * // => "html" + * this.types('text/html'); + * // => "text/html" + * this.types('json', 'text'); + * // => "json" + * this.types('application/json'); + * // => "application/json" + * + * // Accept: text/*, application/json + * this.types('image/png'); + * this.types('png'); + * // => undefined + * + * // Accept: text/*;q=.5, application/json + * this.types(['html', 'json']); + * this.types('html', 'json'); + * // => "json" + * + * @param {String|Array} types... + * @return {String|Array|Boolean} + * @public + */ + +Accepts.prototype.type = +Accepts.prototype.types = function (types_) { + var types = types_ + + // support flattened arguments + if (types && !Array.isArray(types)) { + types = new Array(arguments.length) + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i] + } + } + + // no types, return all requested types + if (!types || types.length === 0) { + return this.negotiator.mediaTypes() + } + + // no accept header, return first given type + if (!this.headers.accept) { + return types[0] + } + + var mimes = types.map(extToMime) + var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)) + var first = accepts[0] + + return first + ? types[mimes.indexOf(first)] + : false +} + +/** + * Return accepted encodings or best fit based on `encodings`. + * + * Given `Accept-Encoding: gzip, deflate` + * an array sorted by quality is returned: + * + * ['gzip', 'deflate'] + * + * @param {String|Array} encodings... + * @return {String|Array} + * @public + */ + +Accepts.prototype.encoding = +Accepts.prototype.encodings = function (encodings_) { + var encodings = encodings_ + + // support flattened arguments + if (encodings && !Array.isArray(encodings)) { + encodings = new Array(arguments.length) + for (var i = 0; i < encodings.length; i++) { + encodings[i] = arguments[i] + } + } + + // no encodings, return all requested encodings + if (!encodings || encodings.length === 0) { + return this.negotiator.encodings() + } + + return this.negotiator.encodings(encodings)[0] || false +} + +/** + * Return accepted charsets or best fit based on `charsets`. + * + * Given `Accept-Charset: utf-8, iso-8859-1;q=0.2, utf-7;q=0.5` + * an array sorted by quality is returned: + * + * ['utf-8', 'utf-7', 'iso-8859-1'] + * + * @param {String|Array} charsets... + * @return {String|Array} + * @public + */ + +Accepts.prototype.charset = +Accepts.prototype.charsets = function (charsets_) { + var charsets = charsets_ + + // support flattened arguments + if (charsets && !Array.isArray(charsets)) { + charsets = new Array(arguments.length) + for (var i = 0; i < charsets.length; i++) { + charsets[i] = arguments[i] + } + } + + // no charsets, return all requested charsets + if (!charsets || charsets.length === 0) { + return this.negotiator.charsets() + } + + return this.negotiator.charsets(charsets)[0] || false +} + +/** + * Return accepted languages or best fit based on `langs`. + * + * Given `Accept-Language: en;q=0.8, es, pt` + * an array sorted by quality is returned: + * + * ['es', 'pt', 'en'] + * + * @param {String|Array} langs... + * @return {Array|String} + * @public + */ + +Accepts.prototype.lang = +Accepts.prototype.langs = +Accepts.prototype.language = +Accepts.prototype.languages = function (languages_) { + var languages = languages_ + + // support flattened arguments + if (languages && !Array.isArray(languages)) { + languages = new Array(arguments.length) + for (var i = 0; i < languages.length; i++) { + languages[i] = arguments[i] + } + } + + // no languages, return all requested languages + if (!languages || languages.length === 0) { + return this.negotiator.languages() + } + + return this.negotiator.languages(languages)[0] || false +} + +/** + * Convert extnames to mime. + * + * @param {String} type + * @return {String} + * @private + */ + +function extToMime (type) { + return type.indexOf('/') === -1 + ? mime.lookup(type) + : type +} + +/** + * Check if mime is valid. + * + * @param {String} type + * @return {String} + * @private + */ + +function validMime (type) { + return typeof type === 'string' +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/package.json new file mode 100755 index 0000000..f2d3eaf --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/accepts/package.json @@ -0,0 +1,120 @@ +{ + "_args": [ + [ + { + "raw": "accepts@~1.3.4", + "scope": null, + "escapedName": "accepts", + "name": "accepts", + "rawSpec": "~1.3.4", + "spec": ">=1.3.4 <1.4.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "accepts@>=1.3.4 <1.4.0", + "_id": "accepts@1.3.4", + "_inCache": true, + "_location": "/accepts", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/accepts-1.3.4.tgz_1503455053008_0.43370609171688557" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "accepts@~1.3.4", + "scope": null, + "escapedName": "accepts", + "name": "accepts", + "rawSpec": "~1.3.4", + "spec": ">=1.3.4 <1.4.0", + "type": "range" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "_shasum": "86246758c7dd6d21a6474ff084a4740ec05eb21f", + "_shrinkwrap": null, + "_spec": "accepts@~1.3.4", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/accepts/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "mime-types": "~2.1.16", + "negotiator": "0.6.1" + }, + "description": "Higher-level content negotiation", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "~1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "86246758c7dd6d21a6474ff084a4740ec05eb21f", + "tarball": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "71ea430741d6eb5484b6c67c95924540a98186a5", + "homepage": "https://github.com/jshttp/accepts#readme", + "keywords": [ + "content", + "negotiation", + "accept", + "accepts" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "accepts", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/accepts.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.3.4" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/LICENSE new file mode 100755 index 0000000..983fbe8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/README.md new file mode 100755 index 0000000..91fa5b6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/README.md @@ -0,0 +1,43 @@ +# Array Flatten + +[![NPM version][npm-image]][npm-url] +[![NPM downloads][downloads-image]][downloads-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] + +> Flatten an array of nested arrays into a single flat array. Accepts an optional depth. + +## Installation + +``` +npm install array-flatten --save +``` + +## Usage + +```javascript +var flatten = require('array-flatten') + +flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) +//=> [1, 2, 3, 4, 5, 6, 7, 8, 9] + +flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) +//=> [1, 2, 3, [4, [5], 6], 7, 8, 9] + +(function () { + flatten(arguments) //=> [1, 2, 3] +})(1, [2, 3]) +``` + +## License + +MIT + +[npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat +[npm-url]: https://npmjs.org/package/array-flatten +[downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat +[downloads-url]: https://npmjs.org/package/array-flatten +[travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat +[travis-url]: https://travis-ci.org/blakeembrey/array-flatten +[coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat +[coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/array-flatten.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/array-flatten.js new file mode 100755 index 0000000..089117b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/array-flatten.js @@ -0,0 +1,64 @@ +'use strict' + +/** + * Expose `arrayFlatten`. + */ +module.exports = arrayFlatten + +/** + * Recursive flatten function with depth. + * + * @param {Array} array + * @param {Array} result + * @param {Number} depth + * @return {Array} + */ +function flattenWithDepth (array, result, depth) { + for (var i = 0; i < array.length; i++) { + var value = array[i] + + if (depth > 0 && Array.isArray(value)) { + flattenWithDepth(value, result, depth - 1) + } else { + result.push(value) + } + } + + return result +} + +/** + * Recursive flatten function. Omitting depth is slightly faster. + * + * @param {Array} array + * @param {Array} result + * @return {Array} + */ +function flattenForever (array, result) { + for (var i = 0; i < array.length; i++) { + var value = array[i] + + if (Array.isArray(value)) { + flattenForever(value, result) + } else { + result.push(value) + } + } + + return result +} + +/** + * Flatten an array, with the ability to define a depth. + * + * @param {Array} array + * @param {Number} depth + * @return {Array} + */ +function arrayFlatten (array, depth) { + if (depth == null) { + return flattenForever(array, []) + } + + return flattenWithDepth(array, [], depth) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/package.json new file mode 100755 index 0000000..67c8343 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/array-flatten/package.json @@ -0,0 +1,96 @@ +{ + "_args": [ + [ + { + "raw": "array-flatten@1.1.1", + "scope": null, + "escapedName": "array-flatten", + "name": "array-flatten", + "rawSpec": "1.1.1", + "spec": "1.1.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "array-flatten@1.1.1", + "_id": "array-flatten@1.1.1", + "_inCache": true, + "_location": "/array-flatten", + "_nodeVersion": "2.3.3", + "_npmUser": { + "name": "blakeembrey", + "email": "hello@blakeembrey.com" + }, + "_npmVersion": "2.11.3", + "_phantomChildren": {}, + "_requested": { + "raw": "array-flatten@1.1.1", + "scope": null, + "escapedName": "array-flatten", + "name": "array-flatten", + "rawSpec": "1.1.1", + "spec": "1.1.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2", + "_shrinkwrap": null, + "_spec": "array-flatten@1.1.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Blake Embrey", + "email": "hello@blakeembrey.com", + "url": "http://blakeembrey.me" + }, + "bugs": { + "url": "https://github.com/blakeembrey/array-flatten/issues" + }, + "dependencies": {}, + "description": "Flatten an array of nested arrays into a single flat array", + "devDependencies": { + "istanbul": "^0.3.13", + "mocha": "^2.2.4", + "pre-commit": "^1.0.7", + "standard": "^3.7.3" + }, + "directories": {}, + "dist": { + "shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2", + "tarball": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + }, + "files": [ + "array-flatten.js", + "LICENSE" + ], + "gitHead": "1963a9189229d408e1e8f585a00c8be9edbd1803", + "homepage": "https://github.com/blakeembrey/array-flatten", + "keywords": [ + "array", + "flatten", + "arguments", + "depth" + ], + "license": "MIT", + "main": "array-flatten.js", + "maintainers": [ + { + "name": "blakeembrey", + "email": "hello@blakeembrey.com" + } + ], + "name": "array-flatten", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/blakeembrey/array-flatten.git" + }, + "scripts": { + "test": "istanbul cover _mocha -- -R spec" + }, + "version": "1.1.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/HISTORY.md new file mode 100755 index 0000000..11e2b92 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/HISTORY.md @@ -0,0 +1,47 @@ +2.0.0 / 2017-09-12 +================== + + * Drop support for Node.js below 0.8 + * Remove `auth(ctx)` signature -- pass in header or `auth(ctx.req)` + * Use `safe-buffer` for improved Buffer API + +1.1.0 / 2016-11-18 +================== + + * Add `auth.parse` for low-level string parsing + +1.0.4 / 2016-05-10 +================== + + * Improve error message when `req` argument is not an object + * Improve error message when `req` missing `headers` property + +1.0.3 / 2015-07-01 +================== + + * Fix regression accepting a Koa context + +1.0.2 / 2015-06-12 +================== + + * Improve error message when `req` argument missing + * perf: enable strict mode + * perf: hoist regular expression + * perf: parse with regular expressions + * perf: remove argument reassignment + +1.0.1 / 2015-05-04 +================== + + * Update readme + +1.0.0 / 2014-07-01 +================== + + * Support empty password + * Support empty username + +0.0.1 / 2013-11-30 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/LICENSE new file mode 100755 index 0000000..89041f6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2013 TJ Holowaychuk +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2015-2016 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/README.md new file mode 100755 index 0000000..48d9ee4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/README.md @@ -0,0 +1,99 @@ +# basic-auth + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Generic basic auth Authorization header field parser for whatever. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +``` +$ npm install basic-auth +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var auth = require('basic-auth') +``` + +### auth(req) + +Get the basic auth credentials from the given request. The `Authorization` +header is parsed and if the header is invalid, `undefined` is returned, +otherwise an object with `name` and `pass` properties. + +### auth.parse(string) + +Parse a basic auth authorization header string. This will return an object +with `name` and `pass` properties, or `undefined` if the string is invalid. + +## Example + +Pass a Node.js request object to the module export. If parsing fails +`undefined` is returned, otherwise an object with `.name` and `.pass`. + +<!-- eslint-disable no-unused-vars, no-undef --> + +```js +var auth = require('basic-auth') +var user = auth(req) +// => { name: 'something', pass: 'whatever' } +``` + +A header string from any other location can also be parsed with +`auth.parse`, for example a `Proxy-Authorization` header: + +<!-- eslint-disable no-unused-vars, no-undef --> + +```js +var auth = require('basic-auth') +var user = auth.parse(req.getHeader('Proxy-Authorization')) +``` + +### With vanilla node.js http server + +```js +var http = require('http') +var auth = require('basic-auth') + +// Create server +var server = http.createServer(function (req, res) { + var credentials = auth(req) + + if (!credentials || credentials.name !== 'john' || credentials.pass !== 'secret') { + res.statusCode = 401 + res.setHeader('WWW-Authenticate', 'Basic realm="example"') + res.end('Access denied') + } else { + res.end('Access granted') + } +}) + +// Listen +server.listen(3000) +``` + +# License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/basic-auth.svg +[npm-url]: https://npmjs.org/package/basic-auth +[node-version-image]: https://img.shields.io/node/v/basic-auth.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/basic-auth/master.svg +[travis-url]: https://travis-ci.org/jshttp/basic-auth +[coveralls-image]: https://img.shields.io/coveralls/jshttp/basic-auth/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/basic-auth?branch=master +[downloads-image]: https://img.shields.io/npm/dm/basic-auth.svg +[downloads-url]: https://npmjs.org/package/basic-auth diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/index.js new file mode 100755 index 0000000..9106e64 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/index.js @@ -0,0 +1,133 @@ +/*! + * basic-auth + * Copyright(c) 2013 TJ Holowaychuk + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var Buffer = require('safe-buffer').Buffer + +/** + * Module exports. + * @public + */ + +module.exports = auth +module.exports.parse = parse + +/** + * RegExp for basic auth credentials + * + * credentials = auth-scheme 1*SP token68 + * auth-scheme = "Basic" ; case insensitive + * token68 = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" + * @private + */ + +var CREDENTIALS_REGEXP = /^ *(?:[Bb][Aa][Ss][Ii][Cc]) +([A-Za-z0-9._~+/-]+=*) *$/ + +/** + * RegExp for basic auth user/pass + * + * user-pass = userid ":" password + * userid = *<TEXT excluding ":"> + * password = *TEXT + * @private + */ + +var USER_PASS_REGEXP = /^([^:]*):(.*)$/ + +/** + * Parse the Authorization header field of a request. + * + * @param {object} req + * @return {object} with .name and .pass + * @public + */ + +function auth (req) { + if (!req) { + throw new TypeError('argument req is required') + } + + if (typeof req !== 'object') { + throw new TypeError('argument req is required to be an object') + } + + // get header + var header = getAuthorization(req) + + // parse header + return parse(header) +} + +/** + * Decode base64 string. + * @private + */ + +function decodeBase64 (str) { + return Buffer.from(str, 'base64').toString() +} + +/** + * Get the Authorization header from request object. + * @private + */ + +function getAuthorization (req) { + if (!req.headers || typeof req.headers !== 'object') { + throw new TypeError('argument req is required to have headers property') + } + + return req.headers.authorization +} + +/** + * Parse basic auth to object. + * + * @param {string} string + * @return {object} + * @public + */ + +function parse (string) { + if (typeof string !== 'string') { + return undefined + } + + // parse header + var match = CREDENTIALS_REGEXP.exec(string) + + if (!match) { + return undefined + } + + // decode user pass + var userPass = USER_PASS_REGEXP.exec(decodeBase64(match[1])) + + if (!userPass) { + return undefined + } + + // return credentials object + return new Credentials(userPass[1], userPass[2]) +} + +/** + * Object to represent user credentials. + * @private + */ + +function Credentials (name, pass) { + this.name = name + this.pass = pass +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/package.json new file mode 100755 index 0000000..9af5ba8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/basic-auth/package.json @@ -0,0 +1,120 @@ +{ + "_args": [ + [ + { + "raw": "basic-auth@~2.0.0", + "scope": null, + "escapedName": "basic-auth", + "name": "basic-auth", + "rawSpec": "~2.0.0", + "spec": ">=2.0.0 <2.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples\\node_modules\\morgan" + ] + ], + "_from": "basic-auth@>=2.0.0 <2.1.0", + "_id": "basic-auth@2.0.0", + "_inCache": true, + "_location": "/basic-auth", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/basic-auth-2.0.0.tgz_1505275895449_0.5881294559221715" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "basic-auth@~2.0.0", + "scope": null, + "escapedName": "basic-auth", + "name": "basic-auth", + "rawSpec": "~2.0.0", + "spec": ">=2.0.0 <2.1.0", + "type": "range" + }, + "_requiredBy": [ + "/morgan" + ], + "_resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz", + "_shasum": "015db3f353e02e56377755f962742e8981e7bbba", + "_shrinkwrap": null, + "_spec": "basic-auth@~2.0.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples\\node_modules\\morgan", + "bugs": { + "url": "https://github.com/jshttp/basic-auth/issues" + }, + "dependencies": { + "safe-buffer": "5.1.1" + }, + "description": "node.js basic auth parser", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3" + }, + "directories": {}, + "dist": { + "shasum": "015db3f353e02e56377755f962742e8981e7bbba", + "tarball": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "gitHead": "704457317b54809b750274cc794d05d43cbb190c", + "homepage": "https://github.com/jshttp/basic-auth#readme", + "keywords": [ + "basic", + "auth", + "authorization", + "basicauth" + ], + "license": "MIT", + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "jonathanong", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "basic-auth", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/basic-auth.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --check-leaks --reporter spec --bail", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "2.0.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/HISTORY.md new file mode 100755 index 0000000..6ab747b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/HISTORY.md @@ -0,0 +1,568 @@ +1.18.2 / 2017-09-22 +=================== + + * deps: debug@2.6.9 + * perf: remove argument reassignment + +1.18.1 / 2017-09-12 +=================== + + * deps: content-type@~1.0.4 + - perf: remove argument reassignment + - perf: skip parameter parsing when no parameters + * deps: iconv-lite@0.4.19 + - Fix ISO-8859-1 regression + - Update Windows-1255 + * deps: qs@6.5.1 + - Fix parsing & compacting very deep objects + * deps: raw-body@2.3.2 + - deps: iconv-lite@0.4.19 + +1.18.0 / 2017-09-08 +=================== + + * Fix JSON strict violation error to match native parse error + * Include the `body` property on verify errors + * Include the `type` property on all generated errors + * Use `http-errors` to set status code on errors + * deps: bytes@3.0.0 + * deps: debug@2.6.8 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: http-errors@~1.6.2 + - deps: depd@1.1.1 + * deps: iconv-lite@0.4.18 + - Add support for React Native + - Add a warning if not loaded as utf-8 + - Fix CESU-8 decoding in Node.js 8 + - Improve speed of ISO-8859-1 encoding + * deps: qs@6.5.0 + * deps: raw-body@2.3.1 + - Use `http-errors` for standard emitted errors + - deps: bytes@3.0.0 + - deps: iconv-lite@0.4.18 + - perf: skip buffer decoding on overage chunk + * perf: prevent internal `throw` when missing charset + +1.17.2 / 2017-05-17 +=================== + + * deps: debug@2.6.7 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + * deps: type-is@~1.6.15 + - deps: mime-types@~2.1.15 + +1.17.1 / 2017-03-06 +=================== + + * deps: qs@6.4.0 + - Fix regression parsing keys starting with `[` + +1.17.0 / 2017-03-01 +=================== + + * deps: http-errors@~1.6.1 + - Make `message` property enumerable for `HttpError`s + - deps: setprototypeof@1.0.3 + * deps: qs@6.3.1 + - Fix compacting nested arrays + +1.16.1 / 2017-02-10 +=================== + + * deps: debug@2.6.1 + - Fix deprecation messages in WebStorm and other editors + - Undeprecate `DEBUG_FD` set to `1` or `2` + +1.16.0 / 2017-01-17 +=================== + + * deps: debug@2.6.0 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * deps: http-errors@~1.5.1 + - deps: inherits@2.0.3 + - deps: setprototypeof@1.0.2 + - deps: statuses@'>= 1.3.1 < 2' + * deps: iconv-lite@0.4.15 + - Added encoding MS-31J + - Added encoding MS-932 + - Added encoding MS-936 + - Added encoding MS-949 + - Added encoding MS-950 + - Fix GBK/GB18030 handling of Euro character + * deps: qs@6.2.1 + - Fix array parsing from skipping empty values + * deps: raw-body@~2.2.0 + - deps: iconv-lite@0.4.15 + * deps: type-is@~1.6.14 + - deps: mime-types@~2.1.13 + +1.15.2 / 2016-06-19 +=================== + + * deps: bytes@2.4.0 + * deps: content-type@~1.0.2 + - perf: enable strict mode + * deps: http-errors@~1.5.0 + - Use `setprototypeof` module to replace `__proto__` setting + - deps: statuses@'>= 1.3.0 < 2' + - perf: enable strict mode + * deps: qs@6.2.0 + * deps: raw-body@~2.1.7 + - deps: bytes@2.4.0 + - perf: remove double-cleanup on happy path + * deps: type-is@~1.6.13 + - deps: mime-types@~2.1.11 + +1.15.1 / 2016-05-05 +=================== + + * deps: bytes@2.3.0 + - Drop partial bytes on all parsed units + - Fix parsing byte string that looks like hex + * deps: raw-body@~2.1.6 + - deps: bytes@2.3.0 + * deps: type-is@~1.6.12 + - deps: mime-types@~2.1.10 + +1.15.0 / 2016-02-10 +=================== + + * deps: http-errors@~1.4.0 + - Add `HttpError` export, for `err instanceof createError.HttpError` + - deps: inherits@2.0.1 + - deps: statuses@'>= 1.2.1 < 2' + * deps: qs@6.1.0 + * deps: type-is@~1.6.11 + - deps: mime-types@~2.1.9 + +1.14.2 / 2015-12-16 +=================== + + * deps: bytes@2.2.0 + * deps: iconv-lite@0.4.13 + * deps: qs@5.2.0 + * deps: raw-body@~2.1.5 + - deps: bytes@2.2.0 + - deps: iconv-lite@0.4.13 + * deps: type-is@~1.6.10 + - deps: mime-types@~2.1.8 + +1.14.1 / 2015-09-27 +=================== + + * Fix issue where invalid charset results in 400 when `verify` used + * deps: iconv-lite@0.4.12 + - Fix CESU-8 decoding in Node.js 4.x + * deps: raw-body@~2.1.4 + - Fix masking critical errors from `iconv-lite` + - deps: iconv-lite@0.4.12 + * deps: type-is@~1.6.9 + - deps: mime-types@~2.1.7 + +1.14.0 / 2015-09-16 +=================== + + * Fix JSON strict parse error to match syntax errors + * Provide static `require` analysis in `urlencoded` parser + * deps: depd@~1.1.0 + - Support web browser loading + * deps: qs@5.1.0 + * deps: raw-body@~2.1.3 + - Fix sync callback when attaching data listener causes sync read + * deps: type-is@~1.6.8 + - Fix type error when given invalid type to match against + - deps: mime-types@~2.1.6 + +1.13.3 / 2015-07-31 +=================== + + * deps: type-is@~1.6.6 + - deps: mime-types@~2.1.4 + +1.13.2 / 2015-07-05 +=================== + + * deps: iconv-lite@0.4.11 + * deps: qs@4.0.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix user-visible incompatibilities from 3.1.0 + - Fix various parsing edge cases + * deps: raw-body@~2.1.2 + - Fix error stack traces to skip `makeError` + - deps: iconv-lite@0.4.11 + * deps: type-is@~1.6.4 + - deps: mime-types@~2.1.2 + - perf: enable strict mode + - perf: remove argument reassignment + +1.13.1 / 2015-06-16 +=================== + + * deps: qs@2.4.2 + - Downgraded from 3.1.0 because of user-visible incompatibilities + +1.13.0 / 2015-06-14 +=================== + + * Add `statusCode` property on `Error`s, in addition to `status` + * Change `type` default to `application/json` for JSON parser + * Change `type` default to `application/x-www-form-urlencoded` for urlencoded parser + * Provide static `require` analysis + * Use the `http-errors` module to generate errors + * deps: bytes@2.1.0 + - Slight optimizations + * deps: iconv-lite@0.4.10 + - The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails + - Leading BOM is now removed when decoding + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * deps: qs@3.1.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix various parsing edge cases + - Parsed object now has `null` prototype + * deps: raw-body@~2.1.1 + - Use `unpipe` module for unpiping requests + - deps: iconv-lite@0.4.10 + * deps: type-is@~1.6.3 + - deps: mime-types@~2.1.1 + - perf: reduce try block size + - perf: remove bitwise operations + * perf: enable strict mode + * perf: remove argument reassignment + * perf: remove delete call + +1.12.4 / 2015-05-10 +=================== + + * deps: debug@~2.2.0 + * deps: qs@2.4.2 + - Fix allowing parameters like `constructor` + * deps: on-finished@~2.2.1 + * deps: raw-body@~2.0.1 + - Fix a false-positive when unpiping in Node.js 0.8 + - deps: bytes@2.0.1 + * deps: type-is@~1.6.2 + - deps: mime-types@~2.0.11 + +1.12.3 / 2015-04-15 +=================== + + * Slight efficiency improvement when not debugging + * deps: depd@~1.0.1 + * deps: iconv-lite@0.4.8 + - Add encoding alias UNICODE-1-1-UTF-7 + * deps: raw-body@1.3.4 + - Fix hanging callback if request aborts during read + - deps: iconv-lite@0.4.8 + +1.12.2 / 2015-03-16 +=================== + + * deps: qs@2.4.1 + - Fix error when parameter `hasOwnProperty` is present + +1.12.1 / 2015-03-15 +=================== + + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * deps: type-is@~1.6.1 + - deps: mime-types@~2.0.10 + +1.12.0 / 2015-02-13 +=================== + + * add `debug` messages + * accept a function for the `type` option + * use `content-type` to parse `Content-Type` headers + * deps: iconv-lite@0.4.7 + - Gracefully support enumerables on `Object.prototype` + * deps: raw-body@1.3.3 + - deps: iconv-lite@0.4.7 + * deps: type-is@~1.6.0 + - fix argument reassignment + - fix false-positives in `hasBody` `Transfer-Encoding` check + - support wildcard for both type and subtype (`*/*`) + - deps: mime-types@~2.0.9 + +1.11.0 / 2015-01-30 +=================== + + * make internal `extended: true` depth limit infinity + * deps: type-is@~1.5.6 + - deps: mime-types@~2.0.8 + +1.10.2 / 2015-01-20 +=================== + + * deps: iconv-lite@0.4.6 + - Fix rare aliases of single-byte encodings + * deps: raw-body@1.3.2 + - deps: iconv-lite@0.4.6 + +1.10.1 / 2015-01-01 +=================== + + * deps: on-finished@~2.2.0 + * deps: type-is@~1.5.5 + - deps: mime-types@~2.0.7 + +1.10.0 / 2014-12-02 +=================== + + * make internal `extended: true` array limit dynamic + +1.9.3 / 2014-11-21 +================== + + * deps: iconv-lite@0.4.5 + - Fix Windows-31J and X-SJIS encoding support + * deps: qs@2.3.3 + - Fix `arrayLimit` behavior + * deps: raw-body@1.3.1 + - deps: iconv-lite@0.4.5 + * deps: type-is@~1.5.3 + - deps: mime-types@~2.0.3 + +1.9.2 / 2014-10-27 +================== + + * deps: qs@2.3.2 + - Fix parsing of mixed objects and values + +1.9.1 / 2014-10-22 +================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + * deps: qs@2.3.0 + - Fix parsing of mixed implicit and explicit arrays + * deps: type-is@~1.5.2 + - deps: mime-types@~2.0.2 + +1.9.0 / 2014-09-24 +================== + + * include the charset in "unsupported charset" error message + * include the encoding in "unsupported content encoding" error message + * deps: depd@~1.0.0 + +1.8.4 / 2014-09-23 +================== + + * fix content encoding to be case-insensitive + +1.8.3 / 2014-09-19 +================== + + * deps: qs@2.2.4 + - Fix issue with object keys starting with numbers truncated + +1.8.2 / 2014-09-15 +================== + + * deps: depd@0.4.5 + +1.8.1 / 2014-09-07 +================== + + * deps: media-typer@0.3.0 + * deps: type-is@~1.5.1 + +1.8.0 / 2014-09-05 +================== + + * make empty-body-handling consistent between chunked requests + - empty `json` produces `{}` + - empty `raw` produces `new Buffer(0)` + - empty `text` produces `''` + - empty `urlencoded` produces `{}` + * deps: qs@2.2.3 + - Fix issue where first empty value in array is discarded + * deps: type-is@~1.5.0 + - fix `hasbody` to be true for `content-length: 0` + +1.7.0 / 2014-09-01 +================== + + * add `parameterLimit` option to `urlencoded` parser + * change `urlencoded` extended array limit to 100 + * respond with 413 when over `parameterLimit` in `urlencoded` + +1.6.7 / 2014-08-29 +================== + + * deps: qs@2.2.2 + - Remove unnecessary cloning + +1.6.6 / 2014-08-27 +================== + + * deps: qs@2.2.0 + - Array parsing fix + - Performance improvements + +1.6.5 / 2014-08-16 +================== + + * deps: on-finished@2.1.0 + +1.6.4 / 2014-08-14 +================== + + * deps: qs@1.2.2 + +1.6.3 / 2014-08-10 +================== + + * deps: qs@1.2.1 + +1.6.2 / 2014-08-07 +================== + + * deps: qs@1.2.0 + - Fix parsing array of objects + +1.6.1 / 2014-08-06 +================== + + * deps: qs@1.1.0 + - Accept urlencoded square brackets + - Accept empty values in implicit array notation + +1.6.0 / 2014-08-05 +================== + + * deps: qs@1.0.2 + - Complete rewrite + - Limits array length to 20 + - Limits object depth to 5 + - Limits parameters to 1,000 + +1.5.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + +1.5.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + +1.5.0 / 2014-07-20 +================== + + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + * deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + * deps: raw-body@1.3.0 + - deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + - Fix `Cannot switch to old mode now` error on Node.js 0.10+ + * deps: type-is@~1.3.2 + +1.4.3 / 2014-06-19 +================== + + * deps: type-is@1.3.1 + - fix global variable leak + +1.4.2 / 2014-06-19 +================== + + * deps: type-is@1.3.0 + - improve type parsing + +1.4.1 / 2014-06-19 +================== + + * fix urlencoded extended deprecation message + +1.4.0 / 2014-06-19 +================== + + * add `text` parser + * add `raw` parser + * check accepted charset in content-type (accepts utf-8) + * check accepted encoding in content-encoding (accepts identity) + * deprecate `bodyParser()` middleware; use `.json()` and `.urlencoded()` as needed + * deprecate `urlencoded()` without provided `extended` option + * lazy-load urlencoded parsers + * parsers split into files for reduced mem usage + * support gzip and deflate bodies + - set `inflate: false` to turn off + * deps: raw-body@1.2.2 + - Support all encodings from `iconv-lite` + +1.3.1 / 2014-06-11 +================== + + * deps: type-is@1.2.1 + - Switch dependency from mime to mime-types@1.0.0 + +1.3.0 / 2014-05-31 +================== + + * add `extended` option to urlencoded parser + +1.2.2 / 2014-05-27 +================== + + * deps: raw-body@1.1.6 + - assert stream encoding on node.js 0.8 + - assert stream encoding on node.js < 0.10.6 + - deps: bytes@1 + +1.2.1 / 2014-05-26 +================== + + * invoke `next(err)` after request fully read + - prevents hung responses and socket hang ups + +1.2.0 / 2014-05-11 +================== + + * add `verify` option + * deps: type-is@1.2.0 + - support suffix matching + +1.1.2 / 2014-05-11 +================== + + * improve json parser speed + +1.1.1 / 2014-05-11 +================== + + * fix repeated limit parsing with every request + +1.1.0 / 2014-05-10 +================== + + * add `type` option + * deps: pin for safety and consistency + +1.0.2 / 2014-04-14 +================== + + * use `type-is` module + +1.0.1 / 2014-03-20 +================== + + * lower default limits to 100kb diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/LICENSE new file mode 100755 index 0000000..386b7b6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/README.md new file mode 100755 index 0000000..62221e4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/README.md @@ -0,0 +1,438 @@ +# body-parser + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +Node.js body parsing middleware. + +Parse incoming request bodies in a middleware before your handlers, available +under the `req.body` property. + +[Learn about the anatomy of an HTTP transaction in Node.js](https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/). + +_This does not handle multipart bodies_, due to their complex and typically +large nature. For multipart bodies, you may be interested in the following +modules: + + * [busboy](https://www.npmjs.org/package/busboy#readme) and + [connect-busboy](https://www.npmjs.org/package/connect-busboy#readme) + * [multiparty](https://www.npmjs.org/package/multiparty#readme) and + [connect-multiparty](https://www.npmjs.org/package/connect-multiparty#readme) + * [formidable](https://www.npmjs.org/package/formidable#readme) + * [multer](https://www.npmjs.org/package/multer#readme) + +This module provides the following parsers: + + * [JSON body parser](#bodyparserjsonoptions) + * [Raw body parser](#bodyparserrawoptions) + * [Text body parser](#bodyparsertextoptions) + * [URL-encoded form body parser](#bodyparserurlencodedoptions) + +Other body parsers you might be interested in: + +- [body](https://www.npmjs.org/package/body#readme) +- [co-body](https://www.npmjs.org/package/co-body#readme) + +## Installation + +```sh +$ npm install body-parser +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var bodyParser = require('body-parser') +``` + +The `bodyParser` object exposes various factories to create middlewares. All +middlewares will populate the `req.body` property with the parsed body when +the `Content-Type` request header matches the `type` option, or an empty +object (`{}`) if there was no body to parse, the `Content-Type` was not matched, +or an error occurred. + +The various errors returned by this module are described in the +[errors section](#errors). + +### bodyParser.json([options]) + +Returns middleware that only parses `json` and only looks at requests where +the `Content-Type` header matches the `type` option. This parser accepts any +Unicode encoding of the body and supports automatic inflation of `gzip` and +`deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). + +#### Options + +The `json` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### reviver + +The `reviver` option is passed directly to `JSON.parse` as the second +argument. You can find more information on this argument +[in the MDN documentation about JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter). + +##### strict + +When set to `true`, will only accept arrays and objects; when `false` will +accept anything `JSON.parse` accepts. Defaults to `true`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a function or a string. If a string, `type` option +is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme) +library and this can be an extension name (like `json`), a mime type (like +`application/json`), or a mime type with a wildcard (like `*/*` or `*/json`). +If a function, the `type` option is called as `fn(req)` and the request is +parsed if it returns a truthy value. Defaults to `application/json`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.raw([options]) + +Returns middleware that parses all bodies as a `Buffer` and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip` and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a `Buffer` object +of the body. + +#### Options + +The `raw` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a function or a string. If a string, `type` option +is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme) +library and this can be an extension name (like `bin`), a mime type (like +`application/octet-stream`), or a mime type with a wildcard (like `*/*` or +`application/*`). If a function, the `type` option is called as `fn(req)` +and the request is parsed if it returns a truthy value. Defaults to +`application/octet-stream`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.text([options]) + +Returns middleware that parses all bodies as a string and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip` and `deflate` encodings. + +A new `body` string containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a string of the +body. + +#### Options + +The `text` function takes an optional `options` object that may contain any of +the following keys: + +##### defaultCharset + +Specify the default character set for the text content if the charset is not +specified in the `Content-Type` header of the request. Defaults to `utf-8`. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a function or a string. If a string, `type` option +is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme) +library and this can be an extension name (like `txt`), a mime type (like +`text/plain`), or a mime type with a wildcard (like `*/*` or `text/*`). +If a function, the `type` option is called as `fn(req)` and the request is +parsed if it returns a truthy value. Defaults to `text/plain`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.urlencoded([options]) + +Returns middleware that only parses `urlencoded` bodies and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser accepts only UTF-8 encoding of the body and supports automatic +inflation of `gzip` and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This object will contain +key-value pairs, where the value can be a string or array (when `extended` is +`false`), or any type (when `extended` is `true`). + +#### Options + +The `urlencoded` function takes an optional `options` object that may contain +any of the following keys: + +##### extended + +The `extended` option allows to choose between parsing the URL-encoded data +with the `querystring` library (when `false`) or the `qs` library (when +`true`). The "extended" syntax allows for rich objects and arrays to be +encoded into the URL-encoded format, allowing for a JSON-like experience +with URL-encoded. For more information, please +[see the qs library](https://www.npmjs.org/package/qs#readme). + +Defaults to `true`, but using the default has been deprecated. Please +research into the difference between `qs` and `querystring` and choose the +appropriate setting. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### parameterLimit + +The `parameterLimit` option controls the maximum number of parameters that +are allowed in the URL-encoded data. If a request contains more parameters +than this value, a 413 will be returned to the client. Defaults to `1000`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a function or a string. If a string, `type` option +is passed directly to the [type-is](https://www.npmjs.org/package/type-is#readme) +library and this can be an extension name (like `urlencoded`), a mime type (like +`application/x-www-form-urlencoded`), or a mime type with a wildcard (like +`*/x-www-form-urlencoded`). If a function, the `type` option is called as +`fn(req)` and the request is parsed if it returns a truthy value. Defaults +to `application/x-www-form-urlencoded`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +## Errors + +The middlewares provided by this module create errors depending on the error +condition during parsing. The errors will typically have a `status`/`statusCode` +property that contains the suggested HTTP response code, an `expose` property +to determine if the `message` property should be displayed to the client, a +`type` property to determine the type of error without matching against the +`message`, and a `body` property containing the read body, if available. + +The following are the common errors emitted, though any error can come through +for various reasons. + +### content encoding unsupported + +This error will occur when the request had a `Content-Encoding` header that +contained an encoding but the "inflation" option was set to `false`. The +`status` property is set to `415`, the `type` property is set to +`'encoding.unsupported'`, and the `charset` property will be set to the +encoding that is unsupported. + +### request aborted + +This error will occur when the request is aborted by the client before reading +the body has finished. The `received` property will be set to the number of +bytes received before the request was aborted and the `expected` property is +set to the number of expected bytes. The `status` property is set to `400` +and `type` property is set to `'request.aborted'`. + +### request entity too large + +This error will occur when the request body's size is larger than the "limit" +option. The `limit` property will be set to the byte limit and the `length` +property will be set to the request body's length. The `status` property is +set to `413` and the `type` property is set to `'entity.too.large'`. + +### request size did not match content length + +This error will occur when the request's length did not match the length from +the `Content-Length` header. This typically occurs when the request is malformed, +typically when the `Content-Length` header was calculated based on characters +instead of bytes. The `status` property is set to `400` and the `type` property +is set to `'request.size.invalid'`. + +### stream encoding should not be set + +This error will occur when something called the `req.setEncoding` method prior +to this middleware. This module operates directly on bytes only and you cannot +call `req.setEncoding` when using this module. The `status` property is set to +`500` and the `type` property is set to `'stream.encoding.set'`. + +### too many parameters + +This error will occur when the content of the request exceeds the configured +`parameterLimit` for the `urlencoded` parser. The `status` property is set to +`413` and the `type` property is set to `'parameters.too.many'`. + +### unsupported charset "BOGUS" + +This error will occur when the request had a charset parameter in the +`Content-Type` header, but the `iconv-lite` module does not support it OR the +parser does not support it. The charset is contained in the message as well +as in the `charset` property. The `status` property is set to `415`, the +`type` property is set to `'charset.unsupported'`, and the `charset` property +is set to the charset that is unsupported. + +### unsupported content encoding "bogus" + +This error will occur when the request had a `Content-Encoding` header that +contained an unsupported encoding. The encoding is contained in the message +as well as in the `encoding` property. The `status` property is set to `415`, +the `type` property is set to `'encoding.unsupported'`, and the `encoding` +property is set to the encoding that is unsupported. + +## Examples + +### Express/Connect top-level generic + +This example demonstrates adding a generic JSON and URL-encoded parser as a +top-level middleware, which will parse the bodies of all incoming requests. +This is the simplest setup. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// parse application/x-www-form-urlencoded +app.use(bodyParser.urlencoded({ extended: false })) + +// parse application/json +app.use(bodyParser.json()) + +app.use(function (req, res) { + res.setHeader('Content-Type', 'text/plain') + res.write('you posted:\n') + res.end(JSON.stringify(req.body, null, 2)) +}) +``` + +### Express route-specific + +This example demonstrates adding body parsers specifically to the routes that +need them. In general, this is the most recommended way to use body-parser with +Express. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// create application/json parser +var jsonParser = bodyParser.json() + +// create application/x-www-form-urlencoded parser +var urlencodedParser = bodyParser.urlencoded({ extended: false }) + +// POST /login gets urlencoded bodies +app.post('/login', urlencodedParser, function (req, res) { + if (!req.body) return res.sendStatus(400) + res.send('welcome, ' + req.body.username) +}) + +// POST /api/users gets JSON bodies +app.post('/api/users', jsonParser, function (req, res) { + if (!req.body) return res.sendStatus(400) + // create user in req.body +}) +``` + +### Change accepted type for parsers + +All the parsers accept a `type` option which allows you to change the +`Content-Type` that the middleware will parse. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// parse various different custom JSON types as JSON +app.use(bodyParser.json({ type: 'application/*+json' })) + +// parse some custom thing into a Buffer +app.use(bodyParser.raw({ type: 'application/vnd.custom-type' })) + +// parse an HTML body into a string +app.use(bodyParser.text({ type: 'text/html' })) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/body-parser.svg +[npm-url]: https://npmjs.org/package/body-parser +[travis-image]: https://img.shields.io/travis/expressjs/body-parser/master.svg +[travis-url]: https://travis-ci.org/expressjs/body-parser +[coveralls-image]: https://img.shields.io/coveralls/expressjs/body-parser/master.svg +[coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master +[downloads-image]: https://img.shields.io/npm/dm/body-parser.svg +[downloads-url]: https://npmjs.org/package/body-parser +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://www.gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/index.js new file mode 100755 index 0000000..93c3a1f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/index.js @@ -0,0 +1,157 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var deprecate = require('depd')('body-parser') + +/** + * Cache of loaded parsers. + * @private + */ + +var parsers = Object.create(null) + +/** + * @typedef Parsers + * @type {function} + * @property {function} json + * @property {function} raw + * @property {function} text + * @property {function} urlencoded + */ + +/** + * Module exports. + * @type {Parsers} + */ + +exports = module.exports = deprecate.function(bodyParser, + 'bodyParser: use individual json/urlencoded middlewares') + +/** + * JSON parser. + * @public + */ + +Object.defineProperty(exports, 'json', { + configurable: true, + enumerable: true, + get: createParserGetter('json') +}) + +/** + * Raw parser. + * @public + */ + +Object.defineProperty(exports, 'raw', { + configurable: true, + enumerable: true, + get: createParserGetter('raw') +}) + +/** + * Text parser. + * @public + */ + +Object.defineProperty(exports, 'text', { + configurable: true, + enumerable: true, + get: createParserGetter('text') +}) + +/** + * URL-encoded parser. + * @public + */ + +Object.defineProperty(exports, 'urlencoded', { + configurable: true, + enumerable: true, + get: createParserGetter('urlencoded') +}) + +/** + * Create a middleware to parse json and urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @deprecated + * @public + */ + +function bodyParser (options) { + var opts = {} + + // exclude type option + if (options) { + for (var prop in options) { + if (prop !== 'type') { + opts[prop] = options[prop] + } + } + } + + var _urlencoded = exports.urlencoded(opts) + var _json = exports.json(opts) + + return function bodyParser (req, res, next) { + _json(req, res, function (err) { + if (err) return next(err) + _urlencoded(req, res, next) + }) + } +} + +/** + * Create a getter for loading a parser. + * @private + */ + +function createParserGetter (name) { + return function get () { + return loadParser(name) + } +} + +/** + * Load a parser module. + * @private + */ + +function loadParser (parserName) { + var parser = parsers[parserName] + + if (parser !== undefined) { + return parser + } + + // this uses a switch for static require analysis + switch (parserName) { + case 'json': + parser = require('./lib/types/json') + break + case 'raw': + parser = require('./lib/types/raw') + break + case 'text': + parser = require('./lib/types/text') + break + case 'urlencoded': + parser = require('./lib/types/urlencoded') + break + } + + // store to prevent invoking require() + return (parsers[parserName] = parser) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/read.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/read.js new file mode 100755 index 0000000..c102609 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/read.js @@ -0,0 +1,181 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var getBody = require('raw-body') +var iconv = require('iconv-lite') +var onFinished = require('on-finished') +var zlib = require('zlib') + +/** + * Module exports. + */ + +module.exports = read + +/** + * Read a request into a buffer and parse. + * + * @param {object} req + * @param {object} res + * @param {function} next + * @param {function} parse + * @param {function} debug + * @param {object} options + * @private + */ + +function read (req, res, next, parse, debug, options) { + var length + var opts = options + var stream + + // flag as parsed + req._body = true + + // read options + var encoding = opts.encoding !== null + ? opts.encoding + : null + var verify = opts.verify + + try { + // get the content stream + stream = contentstream(req, debug, opts.inflate) + length = stream.length + stream.length = undefined + } catch (err) { + return next(err) + } + + // set raw-body options + opts.length = length + opts.encoding = verify + ? null + : encoding + + // assert charset is supported + if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) { + return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + })) + } + + // read body + debug('read body') + getBody(stream, opts, function (error, body) { + if (error) { + var _error + + if (error.type === 'encoding.unsupported') { + // echo back charset + _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + }) + } else { + // set status code on error + _error = createError(400, error) + } + + // read off entire request + stream.resume() + onFinished(req, function onfinished () { + next(createError(400, _error)) + }) + return + } + + // verify + if (verify) { + try { + debug('verify body') + verify(req, res, body, encoding) + } catch (err) { + next(createError(403, err, { + body: body, + type: err.type || 'entity.verify.failed' + })) + return + } + } + + // parse + var str = body + try { + debug('parse body') + str = typeof body !== 'string' && encoding !== null + ? iconv.decode(body, encoding) + : body + req.body = parse(str) + } catch (err) { + next(createError(400, err, { + body: str, + type: err.type || 'entity.parse.failed' + })) + return + } + + next() + }) +} + +/** + * Get the content stream of the request. + * + * @param {object} req + * @param {function} debug + * @param {boolean} [inflate=true] + * @return {object} + * @api private + */ + +function contentstream (req, debug, inflate) { + var encoding = (req.headers['content-encoding'] || 'identity').toLowerCase() + var length = req.headers['content-length'] + var stream + + debug('content-encoding "%s"', encoding) + + if (inflate === false && encoding !== 'identity') { + throw createError(415, 'content encoding unsupported', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } + + switch (encoding) { + case 'deflate': + stream = zlib.createInflate() + debug('inflate body') + req.pipe(stream) + break + case 'gzip': + stream = zlib.createGunzip() + debug('gunzip body') + req.pipe(stream) + break + case 'identity': + stream = req + stream.length = length + break + default: + throw createError(415, 'unsupported content encoding "' + encoding + '"', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } + + return stream +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/json.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/json.js new file mode 100755 index 0000000..a7bc838 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/json.js @@ -0,0 +1,232 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var createError = require('http-errors') +var debug = require('debug')('body-parser:json') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = json + +/** + * RegExp to match the first non-space in a string. + * + * Allowed whitespace is defined in RFC 7159: + * + * ws = *( + * %x20 / ; Space + * %x09 / ; Horizontal tab + * %x0A / ; Line feed or New line + * %x0D ) ; Carriage return + */ + +var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*(.)/ // eslint-disable-line no-control-regex + +/** + * Create a middleware to parse JSON bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function json (options) { + var opts = options || {} + + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var inflate = opts.inflate !== false + var reviver = opts.reviver + var strict = opts.strict !== false + var type = opts.type || 'application/json' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (body) { + if (body.length === 0) { + // special-case empty json body, as it's a common client-side mistake + // TODO: maybe make this configurable or part of "strict" option + return {} + } + + if (strict) { + var first = firstchar(body) + + if (first !== '{' && first !== '[') { + debug('strict violation') + throw createStrictSyntaxError(body, first) + } + } + + try { + debug('parse json') + return JSON.parse(body, reviver) + } catch (e) { + throw normalizeJsonSyntaxError(e, { + stack: e.stack + }) + } + } + + return function jsonParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset per RFC 7159 sec 8.1 + var charset = getCharset(req) || 'utf-8' + if (charset.substr(0, 4) !== 'utf-') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Create strict violation syntax error matching native error. + * + * @param {string} str + * @param {string} char + * @return {Error} + * @private + */ + +function createStrictSyntaxError (str, char) { + var index = str.indexOf(char) + var partial = str.substring(0, index) + '#' + + try { + JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation') + } catch (e) { + return normalizeJsonSyntaxError(e, { + message: e.message.replace('#', char), + stack: e.stack + }) + } +} + +/** + * Get the first non-whitespace character in a string. + * + * @param {string} str + * @return {function} + * @private + */ + +function firstchar (str) { + return FIRST_CHAR_REGEXP.exec(str)[1] +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Normalize a SyntaxError for JSON.parse. + * + * @param {SyntaxError} error + * @param {object} obj + * @return {SyntaxError} + */ + +function normalizeJsonSyntaxError (error, obj) { + var keys = Object.getOwnPropertyNames(error) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + if (key !== 'stack' && key !== 'message') { + delete error[key] + } + } + + var props = Object.keys(obj) + + for (var j = 0; j < props.length; j++) { + var prop = props[j] + error[prop] = obj[prop] + } + + return error +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/raw.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/raw.js new file mode 100755 index 0000000..f5d1b67 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/raw.js @@ -0,0 +1,101 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var bytes = require('bytes') +var debug = require('debug')('body-parser:raw') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = raw + +/** + * Create a middleware to parse raw bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function raw (options) { + var opts = options || {} + + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'application/octet-stream' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (buf) { + return buf + } + + return function rawParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // read + read(req, res, next, parse, debug, { + encoding: null, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/text.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/text.js new file mode 100755 index 0000000..083a009 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/text.js @@ -0,0 +1,121 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var debug = require('debug')('body-parser:text') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = text + +/** + * Create a middleware to parse text bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function text (options) { + var opts = options || {} + + var defaultCharset = opts.defaultCharset || 'utf-8' + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'text/plain' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (buf) { + return buf + } + + return function textParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // get charset + var charset = getCharset(req) || defaultCharset + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/urlencoded.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/urlencoded.js new file mode 100755 index 0000000..5ccda21 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/lib/types/urlencoded.js @@ -0,0 +1,284 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var createError = require('http-errors') +var debug = require('debug')('body-parser:urlencoded') +var deprecate = require('depd')('body-parser') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = urlencoded + +/** + * Cache of parser modules. + */ + +var parsers = Object.create(null) + +/** + * Create a middleware to parse urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function urlencoded (options) { + var opts = options || {} + + // notice because option default will flip in next major + if (opts.extended === undefined) { + deprecate('undefined extended: provide extended option') + } + + var extended = opts.extended !== false + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'application/x-www-form-urlencoded' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate query parser + var queryparse = extended + ? extendedparser(opts) + : simpleparser(opts) + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (body) { + return body.length + ? queryparse(body) + : {} + } + + return function urlencodedParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset + var charset = getCharset(req) || 'utf-8' + if (charset !== 'utf-8') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + debug: debug, + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the extended query parser. + * + * @param {object} options + */ + +function extendedparser (options) { + var parameterLimit = options.parameterLimit !== undefined + ? options.parameterLimit + : 1000 + var parse = parser('qs') + + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError('option parameterLimit must be a positive number') + } + + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0 + } + + return function queryparse (body) { + var paramCount = parameterCount(body, parameterLimit) + + if (paramCount === undefined) { + debug('too many parameters') + throw createError(413, 'too many parameters', { + type: 'parameters.too.many' + }) + } + + var arrayLimit = Math.max(100, paramCount) + + debug('parse extended urlencoding') + return parse(body, { + allowPrototypes: true, + arrayLimit: arrayLimit, + depth: Infinity, + parameterLimit: parameterLimit + }) + } +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Count the number of parameters, stopping once limit reached + * + * @param {string} body + * @param {number} limit + * @api private + */ + +function parameterCount (body, limit) { + var count = 0 + var index = 0 + + while ((index = body.indexOf('&', index)) !== -1) { + count++ + index++ + + if (count === limit) { + return undefined + } + } + + return count +} + +/** + * Get parser for module name dynamically. + * + * @param {string} name + * @return {function} + * @api private + */ + +function parser (name) { + var mod = parsers[name] + + if (mod !== undefined) { + return mod.parse + } + + // this uses a switch for static require analysis + switch (name) { + case 'qs': + mod = require('qs') + break + case 'querystring': + mod = require('querystring') + break + } + + // store to prevent invoking require() + parsers[name] = mod + + return mod.parse +} + +/** + * Get the simple query parser. + * + * @param {object} options + */ + +function simpleparser (options) { + var parameterLimit = options.parameterLimit !== undefined + ? options.parameterLimit + : 1000 + var parse = parser('querystring') + + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError('option parameterLimit must be a positive number') + } + + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0 + } + + return function queryparse (body) { + var paramCount = parameterCount(body, parameterLimit) + + if (paramCount === undefined) { + debug('too many parameters') + throw createError(413, 'too many parameters', { + type: 'parameters.too.many' + }) + } + + debug('parse urlencoding') + return parse(body, undefined, undefined, {maxKeys: parameterLimit}) + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/package.json new file mode 100755 index 0000000..b3f1eb5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/body-parser/package.json @@ -0,0 +1,128 @@ +{ + "_args": [ + [ + { + "raw": "body-parser", + "scope": null, + "escapedName": "body-parser", + "name": "body-parser", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples" + ] + ], + "_from": "body-parser@latest", + "_id": "body-parser@1.18.2", + "_inCache": true, + "_location": "/body-parser", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/body-parser-1.18.2.tgz_1506099009907_0.5088193896226585" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "body-parser", + "scope": null, + "escapedName": "body-parser", + "name": "body-parser", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "_requiredBy": [ + "#USER", + "/", + "/express" + ], + "_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "_shasum": "87678a19d84b47d859b83199bd59bce222b10454", + "_shrinkwrap": null, + "_spec": "body-parser", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples", + "bugs": { + "url": "https://github.com/expressjs/body-parser/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "description": "Node.js body parsing middleware", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "methods": "1.1.2", + "mocha": "2.5.3", + "safe-buffer": "5.1.1", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "shasum": "87678a19d84b47d859b83199bd59bce222b10454", + "tarball": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "lib/", + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "b2659a7af3b413a2d1df274bef409fe6cdcf6b8f", + "homepage": "https://github.com/expressjs/body-parser#readme", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "body-parser", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/expressjs/body-parser.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --require test/support/env --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/" + }, + "version": "1.18.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/History.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/History.md new file mode 100755 index 0000000..13d463a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/History.md @@ -0,0 +1,82 @@ +3.0.0 / 2017-08-31 +================== + + * Change "kB" to "KB" in format output + * Remove support for Node.js 0.6 + * Remove support for ComponentJS + +2.5.0 / 2017-03-24 +================== + + * Add option "unit" + +2.4.0 / 2016-06-01 +================== + + * Add option "unitSeparator" + +2.3.0 / 2016-02-15 +================== + + * Drop partial bytes on all parsed units + * Fix non-finite numbers to `.format` to return `null` + * Fix parsing byte string that looks like hex + * perf: hoist regular expressions + +2.2.0 / 2015-11-13 +================== + + * add option "decimalPlaces" + * add option "fixedDecimals" + +2.1.0 / 2015-05-21 +================== + + * add `.format` export + * add `.parse` export + +2.0.2 / 2015-05-20 +================== + + * remove map recreation + * remove unnecessary object construction + +2.0.1 / 2015-05-07 +================== + + * fix browserify require + * remove node.extend dependency + +2.0.0 / 2015-04-12 +================== + + * add option "case" + * add option "thousandsSeparator" + * return "null" on invalid parse input + * support proper round-trip: bytes(bytes(num)) === num + * units no longer case sensitive when parsing + +1.0.0 / 2014-05-05 +================== + + * add negative support. fixes #6 + +0.3.0 / 2014-03-19 +================== + + * added terabyte support + +0.2.1 / 2013-04-01 +================== + + * add .component + +0.2.0 / 2012-10-28 +================== + + * bytes(200).should.eql('200b') + +0.1.0 / 2012-07-04 +================== + + * add bytes to string conversion [yields] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/LICENSE new file mode 100755 index 0000000..63e95a9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2015 Jed Watson <jed.watson@me.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/Readme.md new file mode 100755 index 0000000..9b53745 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/Readme.md @@ -0,0 +1,125 @@ +# Bytes utility + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install bytes +``` + +## Usage + +```js +var bytes = require('bytes'); +``` + +#### bytes.format(number value, [options]): string|null + +Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is + rounded. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number` | Value in bytes | +| options | `Object` | Conversion options | + +**Options** + +| Property | Type | Description | +|-------------------|--------|-----------------------------------------------------------------------------------------| +| decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. | +| fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` | +| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `.`... Default value to `''`. | +| unit | `string`|`null` | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to `''` (which means auto detect). | +| unitSeparator | `string`|`null` | Separator to use between number and unit. Default value to `''`. | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`null` | Return null upon error. String value otherwise. | + +**Example** + +```js +bytes(1024); +// output: '1KB' + +bytes(1000); +// output: '1000B' + +bytes(1000, {thousandsSeparator: ' '}); +// output: '1 000B' + +bytes(1024 * 1.7, {decimalPlaces: 0}); +// output: '2KB' + +bytes(1024, {unitSeparator: ' '}); +// output: '1 KB' + +``` + +#### bytes.parse(string|number value): number|null + +Parse the string value into an integer in bytes. If no unit is given, or `value` +is a number, it is assumed the value is in bytes. + +Supported units and abbreviations are as follows and are case-insensitive: + + * `b` for bytes + * `kb` for kilobytes + * `mb` for megabytes + * `gb` for gigabytes + * `tb` for terabytes + +The units are in powers of two, not ten. This means 1kb = 1024b according to this parser. + +**Arguments** + +| Name | Type | Description | +|---------------|--------|--------------------| +| value | `string`|`number` | String to parse, or number in bytes. | + +**Returns** + +| Name | Type | Description | +|---------|-------------|-------------------------| +| results | `number`|`null` | Return null upon error. Value in bytes otherwise. | + +**Example** + +```js +bytes('1KB'); +// output: 1024 + +bytes('1024'); +// output: 1024 + +bytes(1024); +// output: 1024 +``` + +## License + +[MIT](LICENSE) + +[downloads-image]: https://img.shields.io/npm/dm/bytes.svg +[downloads-url]: https://npmjs.org/package/bytes +[npm-image]: https://img.shields.io/npm/v/bytes.svg +[npm-url]: https://npmjs.org/package/bytes +[travis-image]: https://img.shields.io/travis/visionmedia/bytes.js/master.svg +[travis-url]: https://travis-ci.org/visionmedia/bytes.js +[coveralls-image]: https://img.shields.io/coveralls/visionmedia/bytes.js/master.svg +[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/index.js new file mode 100755 index 0000000..1e39afd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/index.js @@ -0,0 +1,159 @@ +/*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = bytes; +module.exports.format = format; +module.exports.parse = parse; + +/** + * Module variables. + * @private + */ + +var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + +var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + +var map = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: ((1 << 30) * 1024) +}; + +var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb)$/i; + +/** + * Convert the given value in bytes into a string or parse to string to an integer in bytes. + * + * @param {string|number} value + * @param {{ + * case: [string], + * decimalPlaces: [number] + * fixedDecimals: [boolean] + * thousandsSeparator: [string] + * unitSeparator: [string] + * }} [options] bytes options. + * + * @returns {string|number|null} + */ + +function bytes(value, options) { + if (typeof value === 'string') { + return parse(value); + } + + if (typeof value === 'number') { + return format(value, options); + } + + return null; +} + +/** + * Format the given value in bytes into a string. + * + * If the value is negative, it is kept as such. If it is a float, + * it is rounded. + * + * @param {number} value + * @param {object} [options] + * @param {number} [options.decimalPlaces=2] + * @param {number} [options.fixedDecimals=false] + * @param {string} [options.thousandsSeparator=] + * @param {string} [options.unit=] + * @param {string} [options.unitSeparator=] + * + * @returns {string|null} + * @public + */ + +function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + + var mag = Math.abs(value); + var thousandsSeparator = (options && options.thousandsSeparator) || ''; + var unitSeparator = (options && options.unitSeparator) || ''; + var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = (options && options.unit) || ''; + + if (!unit || !map[unit.toLowerCase()]) { + if (mag >= map.tb) { + unit = 'TB'; + } else if (mag >= map.gb) { + unit = 'GB'; + } else if (mag >= map.mb) { + unit = 'MB'; + } else if (mag >= map.kb) { + unit = 'KB'; + } else { + unit = 'B'; + } + } + + var val = value / map[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, '$1'); + } + + if (thousandsSeparator) { + str = str.replace(formatThousandsRegExp, thousandsSeparator); + } + + return str + unitSeparator + unit; +} + +/** + * Parse the string value into an integer in bytes. + * + * If no unit is given, it is assumed the value is in bytes. + * + * @param {number|string} val + * + * @returns {number|null} + * @public + */ + +function parse(val) { + if (typeof val === 'number' && !isNaN(val)) { + return val; + } + + if (typeof val !== 'string') { + return null; + } + + // Test if the string passed is valid + var results = parseRegExp.exec(val); + var floatValue; + var unit = 'b'; + + if (!results) { + // Nothing could be extracted from the given string + floatValue = parseInt(val, 10); + unit = 'b' + } else { + // Retrieve the value and the unit + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + + return Math.floor(map[unit] * floatValue); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/package.json new file mode 100755 index 0000000..dc1e14c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/bytes/package.json @@ -0,0 +1,122 @@ +{ + "_args": [ + [ + { + "raw": "bytes@3.0.0", + "scope": null, + "escapedName": "bytes", + "name": "bytes", + "rawSpec": "3.0.0", + "spec": "3.0.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser" + ] + ], + "_from": "bytes@3.0.0", + "_id": "bytes@3.0.0", + "_inCache": true, + "_location": "/bytes", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/bytes-3.0.0.tgz_1504216364188_0.5158762519713491" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "bytes@3.0.0", + "scope": null, + "escapedName": "bytes", + "name": "bytes", + "rawSpec": "3.0.0", + "spec": "3.0.0", + "type": "version" + }, + "_requiredBy": [ + "/body-parser", + "/raw-body" + ], + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "_shasum": "d32815404d689699f85a4ea4fa8755dd13a96048", + "_shrinkwrap": null, + "_spec": "bytes@3.0.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": "http://tjholowaychuk.com" + }, + "bugs": { + "url": "https://github.com/visionmedia/bytes.js/issues" + }, + "contributors": [ + { + "name": "Jed Watson", + "email": "jed.watson@me.com" + }, + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "dependencies": {}, + "description": "Utility to parse a string bytes to bytes and vice-versa", + "devDependencies": { + "mocha": "2.5.3", + "nyc": "10.3.2" + }, + "directories": {}, + "dist": { + "shasum": "d32815404d689699f85a4ea4fa8755dd13a96048", + "tarball": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "History.md", + "LICENSE", + "Readme.md", + "index.js" + ], + "gitHead": "25d4cb488aea3b637448a85fa297d9e65b4b4e04", + "homepage": "https://github.com/visionmedia/bytes.js#readme", + "keywords": [ + "byte", + "bytes", + "utility", + "parse", + "parser", + "convert", + "converter" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "name": "bytes", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/visionmedia/bytes.js.git" + }, + "scripts": { + "test": "mocha --check-leaks --reporter spec", + "test-ci": "nyc --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + }, + "version": "3.0.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/HISTORY.md new file mode 100755 index 0000000..53849b6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/HISTORY.md @@ -0,0 +1,50 @@ +0.5.2 / 2016-12-08 +================== + + * Fix `parse` to accept any linear whitespace character + +0.5.1 / 2016-01-17 +================== + + * perf: enable strict mode + +0.5.0 / 2014-10-11 +================== + + * Add `parse` function + +0.4.0 / 2014-09-21 +================== + + * Expand non-Unicode `filename` to the full ISO-8859-1 charset + +0.3.0 / 2014-09-20 +================== + + * Add `fallback` option + * Add `type` option + +0.2.0 / 2014-09-19 +================== + + * Reduce ambiguity of file names with hex escape in buggy browsers + +0.1.2 / 2014-09-19 +================== + + * Fix periodic invalid Unicode filename header + +0.1.1 / 2014-09-19 +================== + + * Fix invalid characters appearing in `filename*` parameter + +0.1.0 / 2014-09-18 +================== + + * Make the `filename` argument optional + +0.0.0 / 2014-09-18 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/LICENSE new file mode 100755 index 0000000..b7dce6c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/README.md new file mode 100755 index 0000000..992d19a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/README.md @@ -0,0 +1,141 @@ +# content-disposition + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create and parse HTTP `Content-Disposition` header + +## Installation + +```sh +$ npm install content-disposition +``` + +## API + +```js +var contentDisposition = require('content-disposition') +``` + +### contentDisposition(filename, options) + +Create an attachment `Content-Disposition` header value using the given file name, +if supplied. The `filename` is optional and if no file name is desired, but you +want to specify `options`, set `filename` to `undefined`. + +```js +res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf')) +``` + +**note** HTTP headers are of the ISO-8859-1 character set. If you are writing this +header through a means different from `setHeader` in Node.js, you'll want to specify +the `'binary'` encoding in Node.js. + +#### Options + +`contentDisposition` accepts these properties in the options object. + +##### fallback + +If the `filename` option is outside ISO-8859-1, then the file name is actually +stored in a supplemental field for clients that support Unicode file names and +a ISO-8859-1 version of the file name is automatically generated. + +This specifies the ISO-8859-1 file name to override the automatic generation or +disables the generation all together, defaults to `true`. + + - A string will specify the ISO-8859-1 file name to use in place of automatic + generation. + - `false` will disable including a ISO-8859-1 file name and only include the + Unicode version (unless the file name is already ISO-8859-1). + - `true` will enable automatic generation if the file name is outside ISO-8859-1. + +If the `filename` option is ISO-8859-1 and this option is specified and has a +different value, then the `filename` option is encoded in the extended field +and this set as the fallback field, even though they are both ISO-8859-1. + +##### type + +Specifies the disposition type, defaults to `"attachment"`. This can also be +`"inline"`, or any other value (all values except inline are treated like +`attachment`, but can convey additional information if both parties agree to +it). The type is normalized to lower-case. + +### contentDisposition.parse(string) + +```js +var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'); +``` + +Parse a `Content-Disposition` header string. This automatically handles extended +("Unicode") parameters by decoding them and providing them under the standard +parameter name. This will return an object with the following properties (examples +are shown for the string `'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'`): + + - `type`: The disposition type (always lower case). Example: `'attachment'` + + - `parameters`: An object of the parameters in the disposition (name of parameter + always lower case and extended versions replace non-extended versions). Example: + `{filename: "€ rates.txt"}` + +## Examples + +### Send a file for download + +```js +var contentDisposition = require('content-disposition') +var destroy = require('destroy') +var http = require('http') +var onFinished = require('on-finished') + +var filePath = '/path/to/public/plans.pdf' + +http.createServer(function onRequest(req, res) { + // set headers + res.setHeader('Content-Type', 'application/pdf') + res.setHeader('Content-Disposition', contentDisposition(filePath)) + + // send file + var stream = fs.createReadStream(filePath) + stream.pipe(res) + onFinished(res, function (err) { + destroy(stream) + }) +}) +``` + +## Testing + +```sh +$ npm test +``` + +## References + +- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][rfc-2616] +- [RFC 5987: Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters][rfc-5987] +- [RFC 6266: Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)][rfc-6266] +- [Test Cases for HTTP Content-Disposition header field (RFC 6266) and the Encodings defined in RFCs 2047, 2231 and 5987][tc-2231] + +[rfc-2616]: https://tools.ietf.org/html/rfc2616 +[rfc-5987]: https://tools.ietf.org/html/rfc5987 +[rfc-6266]: https://tools.ietf.org/html/rfc6266 +[tc-2231]: http://greenbytes.de/tech/tc2231/ + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/content-disposition.svg?style=flat +[npm-url]: https://npmjs.org/package/content-disposition +[node-version-image]: https://img.shields.io/node/v/content-disposition.svg?style=flat +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/content-disposition.svg?style=flat +[travis-url]: https://travis-ci.org/jshttp/content-disposition +[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-disposition.svg?style=flat +[coveralls-url]: https://coveralls.io/r/jshttp/content-disposition?branch=master +[downloads-image]: https://img.shields.io/npm/dm/content-disposition.svg?style=flat +[downloads-url]: https://npmjs.org/package/content-disposition diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/index.js new file mode 100755 index 0000000..88a0d0a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/index.js @@ -0,0 +1,445 @@ +/*! + * content-disposition + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + */ + +module.exports = contentDisposition +module.exports.parse = parse + +/** + * Module dependencies. + */ + +var basename = require('path').basename + +/** + * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%") + */ + +var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g // eslint-disable-line no-control-regex + +/** + * RegExp to match percent encoding escape. + */ + +var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/ +var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g + +/** + * RegExp to match non-latin1 characters. + */ + +var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = <any US-ASCII character (octets 0 - 127)> + */ + +var QESC_REGEXP = /\\([\u0000-\u007f])/g + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + */ + +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp for various RFC 2616 grammar + * + * parameter = token "=" ( token | quoted-string ) + * token = 1*<any CHAR except CTLs or separators> + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = <any TEXT except <">> + * quoted-pair = "\" CHAR + * CHAR = <any US-ASCII character (octets 0 - 127)> + * TEXT = <any OCTET except CTLs, but including LWS> + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = <US-ASCII CR, carriage return (13)> + * LF = <US-ASCII LF, linefeed (10)> + * SP = <US-ASCII SP, space (32)> + * HT = <US-ASCII HT, horizontal-tab (9)> + * CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)> + * OCTET = <any 8-bit sequence of data> + */ + +var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/ +var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/ + +/** + * RegExp for various RFC 5987 grammar + * + * ext-value = charset "'" [ language ] "'" value-chars + * charset = "UTF-8" / "ISO-8859-1" / mime-charset + * mime-charset = 1*mime-charsetc + * mime-charsetc = ALPHA / DIGIT + * / "!" / "#" / "$" / "%" / "&" + * / "+" / "-" / "^" / "_" / "`" + * / "{" / "}" / "~" + * language = ( 2*3ALPHA [ extlang ] ) + * / 4ALPHA + * / 5*8ALPHA + * extlang = *3( "-" 3ALPHA ) + * value-chars = *( pct-encoded / attr-char ) + * pct-encoded = "%" HEXDIG HEXDIG + * attr-char = ALPHA / DIGIT + * / "!" / "#" / "$" / "&" / "+" / "-" / "." + * / "^" / "_" / "`" / "|" / "~" + */ + +var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/ + +/** + * RegExp for various RFC 6266 grammar + * + * disposition-type = "inline" | "attachment" | disp-ext-type + * disp-ext-type = token + * disposition-parm = filename-parm | disp-ext-parm + * filename-parm = "filename" "=" value + * | "filename*" "=" ext-value + * disp-ext-parm = token "=" value + * | ext-token "=" ext-value + * ext-token = <the characters in token, followed by "*"> + */ + +var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/ // eslint-disable-line no-control-regex + +/** + * Create an attachment Content-Disposition header. + * + * @param {string} [filename] + * @param {object} [options] + * @param {string} [options.type=attachment] + * @param {string|boolean} [options.fallback=true] + * @return {string} + * @api public + */ + +function contentDisposition (filename, options) { + var opts = options || {} + + // get type + var type = opts.type || 'attachment' + + // get parameters + var params = createparams(filename, opts.fallback) + + // format into string + return format(new ContentDisposition(type, params)) +} + +/** + * Create parameters object from filename and fallback. + * + * @param {string} [filename] + * @param {string|boolean} [fallback=true] + * @return {object} + * @api private + */ + +function createparams (filename, fallback) { + if (filename === undefined) { + return + } + + var params = {} + + if (typeof filename !== 'string') { + throw new TypeError('filename must be a string') + } + + // fallback defaults to true + if (fallback === undefined) { + fallback = true + } + + if (typeof fallback !== 'string' && typeof fallback !== 'boolean') { + throw new TypeError('fallback must be a string or boolean') + } + + if (typeof fallback === 'string' && NON_LATIN1_REGEXP.test(fallback)) { + throw new TypeError('fallback must be ISO-8859-1 string') + } + + // restrict to file base name + var name = basename(filename) + + // determine if name is suitable for quoted string + var isQuotedString = TEXT_REGEXP.test(name) + + // generate fallback name + var fallbackName = typeof fallback !== 'string' + ? fallback && getlatin1(name) + : basename(fallback) + var hasFallback = typeof fallbackName === 'string' && fallbackName !== name + + // set extended filename parameter + if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { + params['filename*'] = name + } + + // set filename parameter + if (isQuotedString || hasFallback) { + params.filename = hasFallback + ? fallbackName + : name + } + + return params +} + +/** + * Format object to Content-Disposition header. + * + * @param {object} obj + * @param {string} obj.type + * @param {object} [obj.parameters] + * @return {string} + * @api private + */ + +function format (obj) { + var parameters = obj.parameters + var type = obj.type + + if (!type || typeof type !== 'string' || !TOKEN_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + // start with normalized type + var string = String(type).toLowerCase() + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + var val = param.substr(-1) === '*' + ? ustring(parameters[param]) + : qstring(parameters[param]) + + string += '; ' + param + '=' + val + } + } + + return string +} + +/** + * Decode a RFC 6987 field value (gracefully). + * + * @param {string} str + * @return {string} + * @api private + */ + +function decodefield (str) { + var match = EXT_VALUE_REGEXP.exec(str) + + if (!match) { + throw new TypeError('invalid extended field value') + } + + var charset = match[1].toLowerCase() + var encoded = match[2] + var value + + // to binary string + var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode) + + switch (charset) { + case 'iso-8859-1': + value = getlatin1(binary) + break + case 'utf-8': + value = new Buffer(binary, 'binary').toString('utf8') + break + default: + throw new TypeError('unsupported charset in extended field') + } + + return value +} + +/** + * Get ISO-8859-1 version of string. + * + * @param {string} val + * @return {string} + * @api private + */ + +function getlatin1 (val) { + // simple Unicode -> ISO-8859-1 transformation + return String(val).replace(NON_LATIN1_REGEXP, '?') +} + +/** + * Parse Content-Disposition header string. + * + * @param {string} string + * @return {object} + * @api private + */ + +function parse (string) { + if (!string || typeof string !== 'string') { + throw new TypeError('argument string is required') + } + + var match = DISPOSITION_TYPE_REGEXP.exec(string) + + if (!match) { + throw new TypeError('invalid type format') + } + + // normalize type + var index = match[0].length + var type = match[1].toLowerCase() + + var key + var names = [] + var params = {} + var value + + // calculate index to start at + index = PARAM_REGEXP.lastIndex = match[0].substr(-1) === ';' + ? index - 1 + : index + + // match parameters + while ((match = PARAM_REGEXP.exec(string))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (names.indexOf(key) !== -1) { + throw new TypeError('invalid duplicate parameter') + } + + names.push(key) + + if (key.indexOf('*') + 1 === key.length) { + // decode extended value + key = key.slice(0, -1) + value = decodefield(value) + + // overwrite existing value + params[key] = value + continue + } + + if (typeof params[key] === 'string') { + continue + } + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .substr(1, value.length - 2) + .replace(QESC_REGEXP, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + return new ContentDisposition(type, params) +} + +/** + * Percent decode a single character. + * + * @param {string} str + * @param {string} hex + * @return {string} + * @api private + */ + +function pdecode (str, hex) { + return String.fromCharCode(parseInt(hex, 16)) +} + +/** + * Percent encode a single character. + * + * @param {string} char + * @return {string} + * @api private + */ + +function pencode (char) { + var hex = String(char) + .charCodeAt(0) + .toString(16) + .toUpperCase() + return hex.length === 1 + ? '%0' + hex + : '%' + hex +} + +/** + * Quote a string for HTTP. + * + * @param {string} val + * @return {string} + * @api private + */ + +function qstring (val) { + var str = String(val) + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Encode a Unicode string for HTTP (RFC 5987). + * + * @param {string} val + * @return {string} + * @api private + */ + +function ustring (val) { + var str = String(val) + + // percent encode as UTF-8 + var encoded = encodeURIComponent(str) + .replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode) + + return 'UTF-8\'\'' + encoded +} + +/** + * Class for parsed Content-Disposition header for v8 optimization + */ + +function ContentDisposition (type, parameters) { + this.type = type + this.parameters = parameters +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/package.json new file mode 100755 index 0000000..c6ce42d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-disposition/package.json @@ -0,0 +1,110 @@ +{ + "_args": [ + [ + { + "raw": "content-disposition@0.5.2", + "scope": null, + "escapedName": "content-disposition", + "name": "content-disposition", + "rawSpec": "0.5.2", + "spec": "0.5.2", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "content-disposition@0.5.2", + "_id": "content-disposition@0.5.2", + "_inCache": true, + "_location": "/content-disposition", + "_nodeVersion": "4.6.0", + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/content-disposition-0.5.2.tgz_1481246224565_0.35659545403905213" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "2.15.9", + "_phantomChildren": {}, + "_requested": { + "raw": "content-disposition@0.5.2", + "scope": null, + "escapedName": "content-disposition", + "name": "content-disposition", + "rawSpec": "0.5.2", + "spec": "0.5.2", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "_shasum": "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4", + "_shrinkwrap": null, + "_spec": "content-disposition@0.5.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/content-disposition/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "Create and parse Content-Disposition header", + "devDependencies": { + "eslint": "3.11.1", + "eslint-config-standard": "6.2.1", + "eslint-plugin-promise": "3.3.0", + "eslint-plugin-standard": "2.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4", + "tarball": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "2a08417377cf55678c9f870b305f3c6c088920f3", + "homepage": "https://github.com/jshttp/content-disposition#readme", + "keywords": [ + "content-disposition", + "http", + "rfc6266", + "res" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "content-disposition", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/content-disposition.git" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "0.5.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/HISTORY.md new file mode 100755 index 0000000..8f5cb70 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/HISTORY.md @@ -0,0 +1,24 @@ +1.0.4 / 2017-09-11 +================== + + * perf: skip parameter parsing when no parameters + +1.0.3 / 2017-09-10 +================== + + * perf: remove argument reassignment + +1.0.2 / 2016-05-09 +================== + + * perf: enable strict mode + +1.0.1 / 2015-02-13 +================== + + * Improve missing `Content-Type` header error message + +1.0.0 / 2015-02-01 +================== + + * Initial implementation, derived from `media-typer@0.3.0` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/LICENSE new file mode 100755 index 0000000..34b1a2d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/README.md new file mode 100755 index 0000000..3ed6741 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/README.md @@ -0,0 +1,92 @@ +# content-type + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create and parse HTTP Content-Type header according to RFC 7231 + +## Installation + +```sh +$ npm install content-type +``` + +## API + +```js +var contentType = require('content-type') +``` + +### contentType.parse(string) + +```js +var obj = contentType.parse('image/svg+xml; charset=utf-8') +``` + +Parse a content type string. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (the type and subtype, always lower case). + Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of parameter + always lower case). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the string is missing or invalid. + +### contentType.parse(req) + +```js +var obj = contentType.parse(req) +``` + +Parse the `content-type` header from the given `req`. Short-cut for +`contentType.parse(req.headers['content-type'])`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.parse(res) + +```js +var obj = contentType.parse(res) +``` + +Parse the `content-type` header set on the given `res`. Short-cut for +`contentType.parse(res.getHeader('content-type'))`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.format(obj) + +```js +var str = contentType.format({type: 'image/svg+xml'}) +``` + +Format an object into a content type string. This will return a string of the +content type for the given object with the following properties (examples are +shown that produce the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of the + parameter will be lower-cased). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the object contains an invalid type or parameter names. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/content-type.svg +[npm-url]: https://npmjs.org/package/content-type +[node-version-image]: https://img.shields.io/node/v/content-type.svg +[node-version-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/jshttp/content-type/master.svg +[travis-url]: https://travis-ci.org/jshttp/content-type +[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-type/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/content-type +[downloads-image]: https://img.shields.io/npm/dm/content-type.svg +[downloads-url]: https://npmjs.org/package/content-type diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/index.js new file mode 100755 index 0000000..6ce03f2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/index.js @@ -0,0 +1,222 @@ +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1 + * + * parameter = token "=" ( token / quoted-string ) + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + * obs-text = %x80-FF + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + */ +var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g +var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/ +var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * RegExp to match quoted-pair in RFC 7230 sec 3.2.6 + * + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + * obs-text = %x80-FF + */ +var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g + +/** + * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6 + */ +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp to match type in RFC 7231 sec 3.1.1.1 + * + * media-type = type "/" subtype + * type = token + * subtype = token + */ +var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * Module exports. + * @public + */ + +exports.format = format +exports.parse = parse + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @public + */ + +function format (obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var parameters = obj.parameters + var type = obj.type + + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + var string = type + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError('invalid parameter name') + } + + string += '; ' + param + '=' + qstring(parameters[param]) + } + } + + return string +} + +/** + * Parse media type to object. + * + * @param {string|object} string + * @return {Object} + * @public + */ + +function parse (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + // support req/res-like objects as argument + var header = typeof string === 'object' + ? getcontenttype(string) + : string + + if (typeof header !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var index = header.indexOf(';') + var type = index !== -1 + ? header.substr(0, index).trim() + : header.trim() + + if (!TYPE_REGEXP.test(type)) { + throw new TypeError('invalid media type') + } + + var obj = new ContentType(type.toLowerCase()) + + // parse parameters + if (index !== -1) { + var key + var match + var value + + PARAM_REGEXP.lastIndex = index + + while ((match = PARAM_REGEXP.exec(header))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .substr(1, value.length - 2) + .replace(QESC_REGEXP, '$1') + } + + obj.parameters[key] = value + } + + if (index !== header.length) { + throw new TypeError('invalid parameter format') + } + } + + return obj +} + +/** + * Get content-type from req/res objects. + * + * @param {object} + * @return {Object} + * @private + */ + +function getcontenttype (obj) { + var header + + if (typeof obj.getHeader === 'function') { + // res-like + header = obj.getHeader('content-type') + } else if (typeof obj.headers === 'object') { + // req-like + header = obj.headers && obj.headers['content-type'] + } + + if (typeof header !== 'string') { + throw new TypeError('content-type header is missing from object') + } + + return header +} + +/** + * Quote a string if necessary. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + // no need to quote tokens + if (TOKEN_REGEXP.test(str)) { + return str + } + + if (str.length > 0 && !TEXT_REGEXP.test(str)) { + throw new TypeError('invalid parameter value') + } + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Class to represent a content type. + * @private + */ +function ContentType (type) { + this.parameters = Object.create(null) + this.type = type +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/package.json new file mode 100755 index 0000000..0d7768d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/content-type/package.json @@ -0,0 +1,113 @@ +{ + "_args": [ + [ + { + "raw": "content-type@~1.0.4", + "scope": null, + "escapedName": "content-type", + "name": "content-type", + "rawSpec": "~1.0.4", + "spec": ">=1.0.4 <1.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "content-type@>=1.0.4 <1.1.0", + "_id": "content-type@1.0.4", + "_inCache": true, + "_location": "/content-type", + "_nodeVersion": "6.11.3", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/content-type-1.0.4.tgz_1505166155546_0.06956395204178989" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "content-type@~1.0.4", + "scope": null, + "escapedName": "content-type", + "name": "content-type", + "rawSpec": "~1.0.4", + "spec": ">=1.0.4 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/body-parser", + "/express" + ], + "_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "_shasum": "e138cc75e040c727b1966fe5e5f8c9aee256fe3b", + "_shrinkwrap": null, + "_spec": "content-type@~1.0.4", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/jshttp/content-type/issues" + }, + "dependencies": {}, + "description": "Create and parse HTTP Content-Type header", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "~1.21.5" + }, + "directories": {}, + "dist": { + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "shasum": "e138cc75e040c727b1966fe5e5f8c9aee256fe3b", + "tarball": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "d22f8ac6c407789c906bd6fed137efde8f772b09", + "homepage": "https://github.com/jshttp/content-type#readme", + "keywords": [ + "content-type", + "http", + "req", + "res", + "rfc7231" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "content-type", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/content-type.git" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + }, + "version": "1.0.4" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/.npmignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/.npmignore new file mode 100755 index 0000000..f1250e5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/.npmignore @@ -0,0 +1,4 @@ +support +test +examples +*.sock diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/History.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/History.md new file mode 100755 index 0000000..78513cc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/History.md @@ -0,0 +1,38 @@ +1.0.6 / 2015-02-03 +================== + +* use `npm test` instead of `make test` to run tests +* clearer assertion messages when checking input + + +1.0.5 / 2014-09-05 +================== + +* add license to package.json + +1.0.4 / 2014-06-25 +================== + + * corrected avoidance of timing attacks (thanks @tenbits!) + +1.0.3 / 2014-01-28 +================== + + * [incorrect] fix for timing attacks + +1.0.2 / 2014-01-28 +================== + + * fix missing repository warning + * fix typo in test + +1.0.1 / 2013-04-15 +================== + + * Revert "Changed underlying HMAC algo. to sha512." + * Revert "Fix for timing attacks on MAC verification." + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/Readme.md new file mode 100755 index 0000000..2559e84 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/Readme.md @@ -0,0 +1,42 @@ + +# cookie-signature + + Sign and unsign cookies. + +## Example + +```js +var cookie = require('cookie-signature'); + +var val = cookie.sign('hello', 'tobiiscool'); +val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); + +var val = cookie.sign('hello', 'tobiiscool'); +cookie.unsign(val, 'tobiiscool').should.equal('hello'); +cookie.unsign(val, 'luna').should.be.false; +``` + +## License + +(The MIT License) + +Copyright (c) 2012 LearnBoost <tj@learnboost.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/index.js new file mode 100755 index 0000000..b8c9463 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/index.js @@ -0,0 +1,51 @@ +/** + * Module dependencies. + */ + +var crypto = require('crypto'); + +/** + * Sign the given `val` with `secret`. + * + * @param {String} val + * @param {String} secret + * @return {String} + * @api private + */ + +exports.sign = function(val, secret){ + if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); + return val + '.' + crypto + .createHmac('sha256', secret) + .update(val) + .digest('base64') + .replace(/\=+$/, ''); +}; + +/** + * Unsign and decode the given `val` with `secret`, + * returning `false` if the signature is invalid. + * + * @param {String} val + * @param {String} secret + * @return {String|Boolean} + * @api private + */ + +exports.unsign = function(val, secret){ + if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); + if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); + var str = val.slice(0, val.lastIndexOf('.')) + , mac = exports.sign(str, secret); + + return sha1(mac) == sha1(val) ? str : false; +}; + +/** + * Private + */ + +function sha1(str){ + return crypto.createHash('sha1').update(str).digest('hex'); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/package.json new file mode 100755 index 0000000..220c627 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie-signature/package.json @@ -0,0 +1,92 @@ +{ + "_args": [ + [ + { + "raw": "cookie-signature@1.0.6", + "scope": null, + "escapedName": "cookie-signature", + "name": "cookie-signature", + "rawSpec": "1.0.6", + "spec": "1.0.6", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "cookie-signature@1.0.6", + "_id": "cookie-signature@1.0.6", + "_inCache": true, + "_location": "/cookie-signature", + "_nodeVersion": "0.10.36", + "_npmUser": { + "name": "natevw", + "email": "natevw@yahoo.com" + }, + "_npmVersion": "2.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "cookie-signature@1.0.6", + "scope": null, + "escapedName": "cookie-signature", + "name": "cookie-signature", + "rawSpec": "1.0.6", + "spec": "1.0.6", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", + "_shrinkwrap": null, + "_spec": "cookie-signature@1.0.6", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@learnboost.com" + }, + "bugs": { + "url": "https://github.com/visionmedia/node-cookie-signature/issues" + }, + "dependencies": {}, + "description": "Sign and unsign cookies", + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "directories": {}, + "dist": { + "shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", + "tarball": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + }, + "gitHead": "391b56cf44d88c493491b7e3fc53208cfb976d2a", + "homepage": "https://github.com/visionmedia/node-cookie-signature", + "keywords": [ + "cookie", + "sign", + "unsign" + ], + "license": "MIT", + "main": "index", + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "natevw", + "email": "natevw@yahoo.com" + } + ], + "name": "cookie-signature", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/visionmedia/node-cookie-signature.git" + }, + "scripts": { + "test": "mocha --require should --reporter spec" + }, + "version": "1.0.6" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/HISTORY.md new file mode 100755 index 0000000..5bd6485 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/HISTORY.md @@ -0,0 +1,118 @@ +0.3.1 / 2016-05-26 +================== + + * Fix `sameSite: true` to work with draft-7 clients + - `true` now sends `SameSite=Strict` instead of `SameSite` + +0.3.0 / 2016-05-26 +================== + + * Add `sameSite` option + - Replaces `firstPartyOnly` option, never implemented by browsers + * Improve error message when `encode` is not a function + * Improve error message when `expires` is not a `Date` + +0.2.4 / 2016-05-20 +================== + + * perf: enable strict mode + * perf: use for loop in parse + * perf: use string concatination for serialization + +0.2.3 / 2015-10-25 +================== + + * Fix cookie `Max-Age` to never be a floating point number + +0.2.2 / 2015-09-17 +================== + + * Fix regression when setting empty cookie value + - Ease the new restriction, which is just basic header-level validation + * Fix typo in invalid value errors + +0.2.1 / 2015-09-17 +================== + + * Throw on invalid values provided to `serialize` + - Ensures the resulting string is a valid HTTP header value + +0.2.0 / 2015-08-13 +================== + + * Add `firstPartyOnly` option + * Throw better error for invalid argument to parse + * perf: hoist regular expression + +0.1.5 / 2015-09-17 +================== + + * Fix regression when setting empty cookie value + - Ease the new restriction, which is just basic header-level validation + * Fix typo in invalid value errors + +0.1.4 / 2015-09-17 +================== + + * Throw better error for invalid argument to parse + * Throw on invalid values provided to `serialize` + - Ensures the resulting string is a valid HTTP header value + +0.1.3 / 2015-05-19 +================== + + * Reduce the scope of try-catch deopt + * Remove argument reassignments + +0.1.2 / 2014-04-16 +================== + + * Remove unnecessary files from npm package + +0.1.1 / 2014-02-23 +================== + + * Fix bad parse when cookie value contained a comma + * Fix support for `maxAge` of `0` + +0.1.0 / 2013-05-01 +================== + + * Add `decode` option + * Add `encode` option + +0.0.6 / 2013-04-08 +================== + + * Ignore cookie parts missing `=` + +0.0.5 / 2012-10-29 +================== + + * Return raw cookie value if value unescape errors + +0.0.4 / 2012-06-21 +================== + + * Use encode/decodeURIComponent for cookie encoding/decoding + - Improve server/client interoperability + +0.0.3 / 2012-06-06 +================== + + * Only escape special characters per the cookie RFC + +0.0.2 / 2012-06-01 +================== + + * Fix `maxAge` option to not throw error + +0.0.1 / 2012-05-28 +================== + + * Add more tests + +0.0.0 / 2012-05-28 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/LICENSE new file mode 100755 index 0000000..058b6b4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman <shtylman@gmail.com> +Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/README.md new file mode 100755 index 0000000..db0d078 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/README.md @@ -0,0 +1,220 @@ +# cookie + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Basic HTTP cookie parser and serializer for HTTP servers. + +## Installation + +```sh +$ npm install cookie +``` + +## API + +```js +var cookie = require('cookie'); +``` + +### cookie.parse(str, options) + +Parse an HTTP `Cookie` header string and returning an object of all cookie name-value pairs. +The `str` argument is the string representing a `Cookie` header value and `options` is an +optional object containing additional parsing options. + +```js +var cookies = cookie.parse('foo=bar; equation=E%3Dmc%5E2'); +// { foo: 'bar', equation: 'E=mc^2' } +``` + +#### Options + +`cookie.parse` accepts these properties in the options object. + +##### decode + +Specifies a function that will be used to decode a cookie's value. Since the value of a cookie +has a limited character set (and must be a simple string), this function can be used to decode +a previously-encoded cookie value into a JavaScript string or other object. + +The default function is the global `decodeURIComponent`, which will decode any URL-encoded +sequences into their byte representations. + +**note** if an error is thrown from this function, the original, non-decoded cookie value will +be returned as the cookie's value. + +### cookie.serialize(name, value, options) + +Serialize a cookie name-value pair into a `Set-Cookie` header string. The `name` argument is the +name for the cookie, the `value` argument is the value to set the cookie to, and the `options` +argument is an optional object containing additional serialization options. + +```js +var setCookie = cookie.serialize('foo', 'bar'); +// foo=bar +``` + +#### Options + +`cookie.serialize` accepts these properties in the options object. + +##### domain + +Specifies the value for the [`Domain` `Set-Cookie` attribute][rfc-6266-5.2.3]. By default, no +domain is set, and most clients will consider the cookie to apply to only the current domain. + +##### encode + +Specifies a function that will be used to encode a cookie's value. Since value of a cookie +has a limited character set (and must be a simple string), this function can be used to encode +a value into a string suited for a cookie's value. + +The default function is the global `ecodeURIComponent`, which will encode a JavaScript string +into UTF-8 byte sequences and then URL-encode any that fall outside of the cookie range. + +##### expires + +Specifies the `Date` object to be the value for the [`Expires` `Set-Cookie` attribute][rfc-6266-5.2.1]. +By default, no expiration is set, and most clients will consider this a "non-persistent cookie" and +will delete it on a condition like exiting a web browser application. + +**note** the [cookie storage model specification][rfc-6266-5.3] states that if both `expires` and +`magAge` are set, then `maxAge` takes precedence, but it is possiblke not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### httpOnly + +Specifies the `boolean` value for the [`HttpOnly` `Set-Cookie` attribute][rfc-6266-5.2.6]. When truthy, +the `HttpOnly` attribute is set, otherwise it is not. By default, the `HttpOnly` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not allow client-side +JavaScript to see the cookie in `document.cookie`. + +##### maxAge + +Specifies the `number` (in seconds) to be the value for the [`Max-Age` `Set-Cookie` attribute][rfc-6266-5.2.2]. +The given number will be converted to an integer by rounding down. By default, no maximum age is set. + +**note** the [cookie storage model specification][rfc-6266-5.3] states that if both `expires` and +`magAge` are set, then `maxAge` takes precedence, but it is possiblke not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### path + +Specifies the value for the [`Path` `Set-Cookie` attribute][rfc-6266-5.2.4]. By default, the path +is considered the ["default path"][rfc-6266-5.1.4]. By default, no maximum age is set, and most +clients will consider this a "non-persistent cookie" and will delete it on a condition like exiting +a web browser application. + +##### sameSite + +Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][draft-west-first-party-cookies-07]. + + - `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + - `false` will not set the `SameSite` attribute. + - `'lax'` will set the `SameSite` attribute to `Lax` for lax same site enforcement. + - `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + +More information about the different enforcement levels can be found in the specification +https://tools.ietf.org/html/draft-west-first-party-cookies-07#section-4.1.1 + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +##### secure + +Specifies the `boolean` value for the [`Secure` `Set-Cookie` attribute][rfc-6266-5.2.5]. When truthy, +the `Secure` attribute is set, otherwise it is not. By default, the `Secure` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not send the cookie back to +the server in the future if the browser does not have an HTTPS connection. + +## Example + +The following example uses this module in conjunction with the Node.js core HTTP server +to prompt a user for their name and display it back on future visits. + +```js +var cookie = require('cookie'); +var escapeHtml = require('escape-html'); +var http = require('http'); +var url = require('url'); + +function onRequest(req, res) { + // Parse the query string + var query = url.parse(req.url, true, true).query; + + if (query && query.name) { + // Set a new cookie with the name + res.setHeader('Set-Cookie', cookie.serialize('name', String(query.name), { + httpOnly: true, + maxAge: 60 * 60 * 24 * 7 // 1 week + })); + + // Redirect back after setting cookie + res.statusCode = 302; + res.setHeader('Location', req.headers.referer || '/'); + res.end(); + return; + } + + // Parse the cookies on the request + var cookies = cookie.parse(req.headers.cookie || ''); + + // Get the visitor name set in the cookie + var name = cookies.name; + + res.setHeader('Content-Type', 'text/html; charset=UTF-8'); + + if (name) { + res.write('<p>Welcome back, <b>' + escapeHtml(name) + '</b>!</p>'); + } else { + res.write('<p>Hello, new visitor!</p>'); + } + + res.write('<form method="GET">'); + res.write('<input placeholder="enter your name" name="name"> <input type="submit" value="Set Name">'); + res.end('</form'); +} + +http.createServer(onRequest).listen(3000); +``` + +## Testing + +```sh +$ npm test +``` + +## References + +- [RFC 6266: HTTP State Management Mechanism][rfc-6266] +- [Same-site Cookies][draft-west-first-party-cookies-07] + +[draft-west-first-party-cookies-07]: https://tools.ietf.org/html/draft-west-first-party-cookies-07 +[rfc-6266]: https://tools.ietf.org/html/rfc6266 +[rfc-6266-5.1.4]: https://tools.ietf.org/html/rfc6266#section-5.1.4 +[rfc-6266-5.2.1]: https://tools.ietf.org/html/rfc6266#section-5.2.1 +[rfc-6266-5.2.2]: https://tools.ietf.org/html/rfc6266#section-5.2.2 +[rfc-6266-5.2.3]: https://tools.ietf.org/html/rfc6266#section-5.2.3 +[rfc-6266-5.2.4]: https://tools.ietf.org/html/rfc6266#section-5.2.4 +[rfc-6266-5.3]: https://tools.ietf.org/html/rfc6266#section-5.3 + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/cookie.svg +[npm-url]: https://npmjs.org/package/cookie +[node-version-image]: https://img.shields.io/node/v/cookie.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/cookie/master.svg +[travis-url]: https://travis-ci.org/jshttp/cookie +[coveralls-image]: https://img.shields.io/coveralls/jshttp/cookie/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/cookie?branch=master +[downloads-image]: https://img.shields.io/npm/dm/cookie.svg +[downloads-url]: https://npmjs.org/package/cookie diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/index.js new file mode 100755 index 0000000..ab2e467 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/index.js @@ -0,0 +1,195 @@ +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var decode = decodeURIComponent; +var encode = encodeURIComponent; +var pairSplitRegExp = /; */; + +/** + * RegExp to match field-content in RFC 7230 sec 3.2 + * + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + * obs-text = %x80-FF + */ + +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + +/** + * Parse a cookie header. + * + * Parse the given cookie header string into an object + * The object has the various cookies as keys(names) => values + * + * @param {string} str + * @param {object} [options] + * @return {object} + * @public + */ + +function parse(str, options) { + if (typeof str !== 'string') { + throw new TypeError('argument str must be a string'); + } + + var obj = {} + var opt = options || {}; + var pairs = str.split(pairSplitRegExp); + var dec = opt.decode || decode; + + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i]; + var eq_idx = pair.indexOf('='); + + // skip things that don't look like key=value + if (eq_idx < 0) { + continue; + } + + var key = pair.substr(0, eq_idx).trim() + var val = pair.substr(++eq_idx, pair.length).trim(); + + // quoted values + if ('"' == val[0]) { + val = val.slice(1, -1); + } + + // only assign once + if (undefined == obj[key]) { + obj[key] = tryDecode(val, dec); + } + } + + return obj; +} + +/** + * Serialize data into a cookie header. + * + * Serialize the a name value pair into a cookie string suitable for + * http headers. An optional options object specified cookie parameters. + * + * serialize('foo', 'bar', { httpOnly: true }) + * => "foo=bar; httpOnly" + * + * @param {string} name + * @param {string} val + * @param {object} [options] + * @return {string} + * @public + */ + +function serialize(name, val, options) { + var opt = options || {}; + var enc = opt.encode || encode; + + if (typeof enc !== 'function') { + throw new TypeError('option encode is invalid'); + } + + if (!fieldContentRegExp.test(name)) { + throw new TypeError('argument name is invalid'); + } + + var value = enc(val); + + if (value && !fieldContentRegExp.test(value)) { + throw new TypeError('argument val is invalid'); + } + + var str = name + '=' + value; + + if (null != opt.maxAge) { + var maxAge = opt.maxAge - 0; + if (isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += '; Max-Age=' + Math.floor(maxAge); + } + + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + + str += '; Domain=' + opt.domain; + } + + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + + str += '; Path=' + opt.path; + } + + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + + str += '; Expires=' + opt.expires.toUTCString(); + } + + if (opt.httpOnly) { + str += '; HttpOnly'; + } + + if (opt.secure) { + str += '; Secure'; + } + + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' + ? opt.sameSite.toLowerCase() : opt.sameSite; + + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + + return str; +} + +/** + * Try decoding a string using a decoding function. + * + * @param {string} str + * @param {function} decode + * @private + */ + +function tryDecode(str, decode) { + try { + return decode(str); + } catch (e) { + return str; + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/package.json new file mode 100755 index 0000000..fb09e1b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/cookie/package.json @@ -0,0 +1,106 @@ +{ + "_args": [ + [ + { + "raw": "cookie@0.3.1", + "scope": null, + "escapedName": "cookie", + "name": "cookie", + "rawSpec": "0.3.1", + "spec": "0.3.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "cookie@0.3.1", + "_id": "cookie@0.3.1", + "_inCache": true, + "_location": "/cookie", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/cookie-0.3.1.tgz_1464323556714_0.6435900838114321" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "cookie@0.3.1", + "scope": null, + "escapedName": "cookie", + "name": "cookie", + "rawSpec": "0.3.1", + "spec": "0.3.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "_shasum": "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb", + "_shrinkwrap": null, + "_spec": "cookie@0.3.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Roman Shtylman", + "email": "shtylman@gmail.com" + }, + "bugs": { + "url": "https://github.com/jshttp/cookie/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "HTTP server cookie parsing and serialization", + "devDependencies": { + "istanbul": "0.4.3", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb", + "tarball": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "gitHead": "e3c77d497d66c8b8d4b677b8954c1b192a09f0b3", + "homepage": "https://github.com/jshttp/cookie", + "keywords": [ + "cookie", + "cookies" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "cookie", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/cookie.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + }, + "version": "0.3.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.coveralls.yml b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.coveralls.yml new file mode 100755 index 0000000..20a7068 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.coveralls.yml @@ -0,0 +1 @@ +repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.eslintrc b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.eslintrc new file mode 100755 index 0000000..8a37ae2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.eslintrc @@ -0,0 +1,11 @@ +{ + "env": { + "browser": true, + "node": true + }, + "rules": { + "no-console": 0, + "no-empty": [1, { "allowEmptyCatch": true }] + }, + "extends": "eslint:recommended" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.npmignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.npmignore new file mode 100755 index 0000000..5f60eec --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.npmignore @@ -0,0 +1,9 @@ +support +test +examples +example +*.sock +dist +yarn.lock +coverage +bower.json diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.travis.yml b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.travis.yml new file mode 100755 index 0000000..6c6090c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/.travis.yml @@ -0,0 +1,14 @@ + +language: node_js +node_js: + - "6" + - "5" + - "4" + +install: + - make node_modules + +script: + - make lint + - make test + - make coveralls diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/CHANGELOG.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/CHANGELOG.md new file mode 100755 index 0000000..eadaa18 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/CHANGELOG.md @@ -0,0 +1,362 @@ + +2.6.9 / 2017-09-22 +================== + + * remove ReDoS regexp in %o formatter (#504) + +2.6.8 / 2017-05-18 +================== + + * Fix: Check for undefined on browser globals (#462, @marbemac) + +2.6.7 / 2017-05-16 +================== + + * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) + * Fix: Inline extend function in node implementation (#452, @dougwilson) + * Docs: Fix typo (#455, @msasad) + +2.6.5 / 2017-04-27 +================== + + * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) + * Misc: clean up browser reference checks (#447, @thebigredgeek) + * Misc: add npm-debug.log to .gitignore (@thebigredgeek) + + +2.6.4 / 2017-04-20 +================== + + * Fix: bug that would occure if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Chore: ignore bower.json in npm installations. (#437, @joaovieira) + * Misc: update "ms" to v0.7.3 (@tootallnate) + +2.6.3 / 2017-03-13 +================== + + * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) + * Docs: Changelog fix (@thebigredgeek) + +2.6.2 / 2017-03-10 +================== + + * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) + * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) + * Docs: Add Slackin invite badge (@tootallnate) + +2.6.1 / 2017-02-10 +================== + + * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error + * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) + * Fix: IE8 "Expected identifier" error (#414, @vgoma) + * Fix: Namespaces would not disable once enabled (#409, @musikov) + +2.6.0 / 2016-12-28 +================== + + * Fix: added better null pointer checks for browser useColors (@thebigredgeek) + * Improvement: removed explicit `window.debug` export (#404, @tootallnate) + * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) + +2.5.2 / 2016-12-25 +================== + + * Fix: reference error on window within webworkers (#393, @KlausTrainer) + * Docs: fixed README typo (#391, @lurch) + * Docs: added notice about v3 api discussion (@thebigredgeek) + +2.5.1 / 2016-12-20 +================== + + * Fix: babel-core compatibility + +2.5.0 / 2016-12-20 +================== + + * Fix: wrong reference in bower file (@thebigredgeek) + * Fix: webworker compatibility (@thebigredgeek) + * Fix: output formatting issue (#388, @kribblo) + * Fix: babel-loader compatibility (#383, @escwald) + * Misc: removed built asset from repo and publications (@thebigredgeek) + * Misc: moved source files to /src (#378, @yamikuronue) + * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) + * Test: coveralls integration (#378, @yamikuronue) + * Docs: simplified language in the opening paragraph (#373, @yamikuronue) + +2.4.5 / 2016-12-17 +================== + + * Fix: `navigator` undefined in Rhino (#376, @jochenberger) + * Fix: custom log function (#379, @hsiliev) + * Improvement: bit of cleanup + linting fixes (@thebigredgeek) + * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) + * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) + +2.4.4 / 2016-12-14 +================== + + * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) + +2.4.3 / 2016-12-14 +================== + + * Fix: navigation.userAgent error for react native (#364, @escwald) + +2.4.2 / 2016-12-14 +================== + + * Fix: browser colors (#367, @tootallnate) + * Misc: travis ci integration (@thebigredgeek) + * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) + +2.4.1 / 2016-12-13 +================== + + * Fix: typo that broke the package (#356) + +2.4.0 / 2016-12-13 +================== + + * Fix: bower.json references unbuilt src entry point (#342, @justmatt) + * Fix: revert "handle regex special characters" (@tootallnate) + * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) + * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) + * Improvement: allow colors in workers (#335, @botverse) + * Improvement: use same color for same namespace. (#338, @lchenay) + +2.3.3 / 2016-11-09 +================== + + * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) + * Fix: Returning `localStorage` saved values (#331, Levi Thomason) + * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) + +2.3.2 / 2016-11-09 +================== + + * Fix: be super-safe in index.js as well (@TooTallNate) + * Fix: should check whether process exists (Tom Newby) + +2.3.1 / 2016-11-09 +================== + + * Fix: Added electron compatibility (#324, @paulcbetts) + * Improvement: Added performance optimizations (@tootallnate) + * Readme: Corrected PowerShell environment variable example (#252, @gimre) + * Misc: Removed yarn lock file from source control (#321, @fengmk2) + +2.3.0 / 2016-11-07 +================== + + * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) + * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) + * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) + * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) + * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) + * Package: Update "ms" to 0.7.2 (#315, @DevSide) + * Package: removed superfluous version property from bower.json (#207 @kkirsche) + * Readme: fix USE_COLORS to DEBUG_COLORS + * Readme: Doc fixes for format string sugar (#269, @mlucool) + * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) + * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) + * Readme: better docs for browser support (#224, @matthewmueller) + * Tooling: Added yarn integration for development (#317, @thebigredgeek) + * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) + * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) + * Misc: Updated contributors (@thebigredgeek) + +2.2.0 / 2015-05-09 +================== + + * package: update "ms" to v0.7.1 (#202, @dougwilson) + * README: add logging to file example (#193, @DanielOchoa) + * README: fixed a typo (#191, @amir-s) + * browser: expose `storage` (#190, @stephenmathieson) + * Makefile: add a `distclean` target (#189, @stephenmathieson) + +2.1.3 / 2015-03-13 +================== + + * Updated stdout/stderr example (#186) + * Updated example/stdout.js to match debug current behaviour + * Renamed example/stderr.js to stdout.js + * Update Readme.md (#184) + * replace high intensity foreground color for bold (#182, #183) + +2.1.2 / 2015-03-01 +================== + + * dist: recompile + * update "ms" to v0.7.0 + * package: update "browserify" to v9.0.3 + * component: fix "ms.js" repo location + * changed bower package name + * updated documentation about using debug in a browser + * fix: security error on safari (#167, #168, @yields) + +2.1.1 / 2014-12-29 +================== + + * browser: use `typeof` to check for `console` existence + * browser: check for `console.log` truthiness (fix IE 8/9) + * browser: add support for Chrome apps + * Readme: added Windows usage remarks + * Add `bower.json` to properly support bower install + +2.1.0 / 2014-10-15 +================== + + * node: implement `DEBUG_FD` env variable support + * package: update "browserify" to v6.1.0 + * package: add "license" field to package.json (#135, @panuhorsmalahti) + +2.0.0 / 2014-09-01 +================== + + * package: update "browserify" to v5.11.0 + * node: use stderr rather than stdout for logging (#29, @stephenmathieson) + +1.0.4 / 2014-07-15 +================== + + * dist: recompile + * example: remove `console.info()` log usage + * example: add "Content-Type" UTF-8 header to browser example + * browser: place %c marker after the space character + * browser: reset the "content" color via `color: inherit` + * browser: add colors support for Firefox >= v31 + * debug: prefer an instance `log()` function over the global one (#119) + * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) + +1.0.3 / 2014-07-09 +================== + + * Add support for multiple wildcards in namespaces (#122, @seegno) + * browser: fix lint + +1.0.2 / 2014-06-10 +================== + + * browser: update color palette (#113, @gscottolson) + * common: make console logging function configurable (#108, @timoxley) + * node: fix %o colors on old node <= 0.8.x + * Makefile: find node path using shell/which (#109, @timoxley) + +1.0.1 / 2014-06-06 +================== + + * browser: use `removeItem()` to clear localStorage + * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) + * package: add "contributors" section + * node: fix comment typo + * README: list authors + +1.0.0 / 2014-06-04 +================== + + * make ms diff be global, not be scope + * debug: ignore empty strings in enable() + * node: make DEBUG_COLORS able to disable coloring + * *: export the `colors` array + * npmignore: don't publish the `dist` dir + * Makefile: refactor to use browserify + * package: add "browserify" as a dev dependency + * Readme: add Web Inspector Colors section + * node: reset terminal color for the debug content + * node: map "%o" to `util.inspect()` + * browser: map "%j" to `JSON.stringify()` + * debug: add custom "formatters" + * debug: use "ms" module for humanizing the diff + * Readme: add "bash" syntax highlighting + * browser: add Firebug color support + * browser: add colors for WebKit browsers + * node: apply log to `console` + * rewrite: abstract common logic for Node & browsers + * add .jshintrc file + +0.8.1 / 2014-04-14 +================== + + * package: re-add the "component" section + +0.8.0 / 2014-03-30 +================== + + * add `enable()` method for nodejs. Closes #27 + * change from stderr to stdout + * remove unnecessary index.js file + +0.7.4 / 2013-11-13 +================== + + * remove "browserify" key from package.json (fixes something in browserify) + +0.7.3 / 2013-10-30 +================== + + * fix: catch localStorage security error when cookies are blocked (Chrome) + * add debug(err) support. Closes #46 + * add .browser prop to package.json. Closes #42 + +0.7.2 / 2013-02-06 +================== + + * fix package.json + * fix: Mobile Safari (private mode) is broken with debug + * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript + +0.7.1 / 2013-02-05 +================== + + * add repository URL to package.json + * add DEBUG_COLORED to force colored output + * add browserify support + * fix component. Closes #24 + +0.7.0 / 2012-05-04 +================== + + * Added .component to package.json + * Added debug.component.js build + +0.6.0 / 2012-03-16 +================== + + * Added support for "-" prefix in DEBUG [Vinay Pulim] + * Added `.enabled` flag to the node version [TooTallNate] + +0.5.0 / 2012-02-02 +================== + + * Added: humanize diffs. Closes #8 + * Added `debug.disable()` to the CS variant + * Removed padding. Closes #10 + * Fixed: persist client-side variant again. Closes #9 + +0.4.0 / 2012-02-01 +================== + + * Added browser variant support for older browsers [TooTallNate] + * Added `debug.enable('project:*')` to browser variant [TooTallNate] + * Added padding to diff (moved it to the right) + +0.3.0 / 2012-01-26 +================== + + * Added millisecond diff when isatty, otherwise UTC string + +0.2.0 / 2012-01-22 +================== + + * Added wildcard support + +0.1.0 / 2011-12-02 +================== + + * Added: remove colors unless stderr isatty [TooTallNate] + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/LICENSE new file mode 100755 index 0000000..658c933 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/Makefile b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/Makefile new file mode 100755 index 0000000..584da8b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/Makefile @@ -0,0 +1,50 @@ +# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 +THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) + +# BIN directory +BIN := $(THIS_DIR)/node_modules/.bin + +# Path +PATH := node_modules/.bin:$(PATH) +SHELL := /bin/bash + +# applications +NODE ?= $(shell which node) +YARN ?= $(shell which yarn) +PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) +BROWSERIFY ?= $(NODE) $(BIN)/browserify + +.FORCE: + +install: node_modules + +node_modules: package.json + @NODE_ENV= $(PKG) install + @touch node_modules + +lint: .FORCE + eslint browser.js debug.js index.js node.js + +test-node: .FORCE + istanbul cover node_modules/mocha/bin/_mocha -- test/**.js + +test-browser: .FORCE + mkdir -p dist + + @$(BROWSERIFY) \ + --standalone debug \ + . > dist/debug.js + + karma start --single-run + rimraf dist + +test: .FORCE + concurrently \ + "make test-node" \ + "make test-browser" + +coveralls: + cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +.PHONY: all install clean distclean diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/README.md new file mode 100755 index 0000000..f67be6b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/README.md @@ -0,0 +1,312 @@ +# debug +[](https://travis-ci.org/visionmedia/debug) [](https://coveralls.io/github/visionmedia/debug?branch=master) [](https://visionmedia-community-slackin.now.sh/) [](#backers) +[](#sponsors) + + + +A tiny node.js debugging utility modelled after node core's debugging technique. + +**Discussion around the V3 API is under way [here](https://github.com/visionmedia/debug/issues/370)** + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example _app.js_: + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %s', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example _worker.js_: + +```js +var debug = require('debug')('worker'); + +setInterval(function(){ + debug('doing some work'); +}, 1000); +``` + + The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: + +  + +  + +#### Windows note + + On Windows the environment variable is set using the `set` command. + + ```cmd + set DEBUG=*,-not_this + ``` + + Note that PowerShell uses different syntax to set environment variables. + + ```cmd + $env:DEBUG = "*,-not_this" + ``` + +Then, run the program to be debugged as usual. + +## Millisecond diff + + When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + +  + + When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: + +  + +## Conventions + + If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". + +## Wildcards + + The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + + You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:". + +## Environment Variables + + When running through Node.js, you can set a few environment variables that will + change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + + __Note:__ The environment variables beginning with `DEBUG_` end up being + converted into an Options object that gets used with `%o`/`%O` formatters. + See the Node.js documentation for + [`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) + for the complete list. + +## Formatters + + + Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + +### Custom formatters + + You can add custom formatters by extending the `debug.formatters` object. For example, if you wanted to add support for rendering a Buffer as hex with `%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + +## Browser support + You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), + or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), + if you don't want to build it yourself. + + Debug's enable state is currently persisted by `localStorage`. + Consider the situation shown below where you have `worker:a` and `worker:b`, + and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + +#### Web Inspector Colors + + Colors are also enabled on "Web Inspectors" that understand the `%c` formatting + option. These are WebKit web inspectors, Firefox ([since version + 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) + and the Firebug plugin for Firefox (any version). + + Colored output looks something like: + +  + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example _stdout.js_: + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + +<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a> +<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a> + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + +<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a> +<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a> + +## License + +(The MIT License) + +Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/component.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/component.json new file mode 100755 index 0000000..9de2641 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/component.json @@ -0,0 +1,19 @@ +{ + "name": "debug", + "repo": "visionmedia/debug", + "description": "small debugging utility", + "version": "2.6.9", + "keywords": [ + "debug", + "log", + "debugger" + ], + "main": "src/browser.js", + "scripts": [ + "src/browser.js", + "src/debug.js" + ], + "dependencies": { + "rauchg/ms.js": "0.7.1" + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/karma.conf.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/karma.conf.js new file mode 100755 index 0000000..103a82d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'chai', 'sinon'], + + + // list of files / patterns to load in the browser + files: [ + 'dist/debug.js', + 'test/*spec.js' + ], + + + // list of files to exclude + exclude: [ + 'src/node.js' + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/node.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/node.js new file mode 100755 index 0000000..7fc36fe --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/node.js @@ -0,0 +1 @@ +module.exports = require('./src/node'); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/package.json new file mode 100755 index 0000000..20f8a05 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/package.json @@ -0,0 +1,139 @@ +{ + "_args": [ + [ + { + "raw": "debug@2.6.9", + "scope": null, + "escapedName": "debug", + "name": "debug", + "rawSpec": "2.6.9", + "spec": "2.6.9", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "debug@2.6.9", + "_id": "debug@2.6.9", + "_inCache": true, + "_location": "/debug", + "_nodeVersion": "8.4.0", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/debug-2.6.9.tgz_1506087154503_0.5196126794908196" + }, + "_npmUser": { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "debug@2.6.9", + "scope": null, + "escapedName": "debug", + "name": "debug", + "rawSpec": "2.6.9", + "spec": "2.6.9", + "type": "version" + }, + "_requiredBy": [ + "/body-parser", + "/express", + "/finalhandler", + "/send" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "_shasum": "5d128515df134ff327e90a4c93f4e077a536341f", + "_shrinkwrap": null, + "_spec": "debug@2.6.9", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "component": { + "scripts": { + "debug/index.js": "browser.js", + "debug/debug.js": "debug.js" + } + }, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + } + ], + "dependencies": { + "ms": "2.0.0" + }, + "description": "small debugging utility", + "devDependencies": { + "browserify": "9.0.3", + "chai": "^3.5.0", + "concurrently": "^3.1.0", + "coveralls": "^2.11.15", + "eslint": "^3.12.1", + "istanbul": "^0.4.5", + "karma": "^1.3.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sinon": "^1.0.5", + "mocha": "^3.2.0", + "mocha-lcov-reporter": "^1.2.0", + "rimraf": "^2.5.4", + "sinon": "^1.17.6", + "sinon-chai": "^2.8.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "shasum": "5d128515df134ff327e90a4c93f4e077a536341f", + "tarball": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + }, + "gitHead": "13abeae468fea297d0dccc50bc55590809241083", + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "maintainers": [ + { + "name": "thebigredgeek", + "email": "rhyneandrew@gmail.com" + }, + { + "name": "kolban", + "email": "kolban1@kolban.com" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "name": "debug", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "version": "2.6.9" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/browser.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/browser.js new file mode 100755 index 0000000..7106924 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/browser.js @@ -0,0 +1,185 @@ +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + 'lightseagreen', + 'forestgreen', + 'goldenrod', + 'dodgerblue', + 'darkorchid', + 'crimson' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/debug.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/debug.js new file mode 100755 index 0000000..6a5e3fc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/debug.js @@ -0,0 +1,202 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require('ms'); + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Previous log timestamp. + */ + +var prevTime; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + return debug; +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (var i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/index.js new file mode 100755 index 0000000..e12cf4d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process !== 'undefined' && process.type === 'renderer') { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/inspector-log.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/inspector-log.js new file mode 100755 index 0000000..60ea6c0 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/inspector-log.js @@ -0,0 +1,15 @@ +module.exports = inspectorLog; + +// black hole +const nullStream = new (require('stream').Writable)(); +nullStream._write = () => {}; + +/** + * Outputs a `console.log()` to the Node.js Inspector console *only*. + */ +function inspectorLog() { + const stdout = console._stdout; + console._stdout = nullStream; + console.log.apply(console, arguments); + console._stdout = stdout; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/node.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/node.js new file mode 100755 index 0000000..b15109c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/debug/src/node.js @@ -0,0 +1,248 @@ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * The file descriptor to write the `debug()` calls to. + * Set the `DEBUG_FD` env variable to override with another value. i.e.: + * + * $ DEBUG_FD=3 node script.js 3>debug.log + */ + +var fd = parseInt(process.env.DEBUG_FD, 10) || 2; + +if (1 !== fd && 2 !== fd) { + util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')() +} + +var stream = 1 === fd ? process.stdout : + 2 === fd ? process.stderr : + createWritableStdioStream(fd); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = new Date().toUTCString() + + ' ' + name + ' ' + args[0]; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to `stream`. + */ + +function log() { + return stream.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Copied from `node/src/node.js`. + * + * XXX: It's lame that node doesn't expose this API out-of-the-box. It also + * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame. + */ + +function createWritableStdioStream (fd) { + var stream; + var tty_wrap = process.binding('tty_wrap'); + + // Note stream._type is used for test-module-load-list.js + + switch (tty_wrap.guessHandleType(fd)) { + case 'TTY': + stream = new tty.WriteStream(fd); + stream._type = 'tty'; + + // Hack to have stream not keep the event loop alive. + // See https://github.com/joyent/node/issues/1726 + if (stream._handle && stream._handle.unref) { + stream._handle.unref(); + } + break; + + case 'FILE': + var fs = require('fs'); + stream = new fs.SyncWriteStream(fd, { autoClose: false }); + stream._type = 'fs'; + break; + + case 'PIPE': + case 'TCP': + var net = require('net'); + stream = new net.Socket({ + fd: fd, + readable: false, + writable: true + }); + + // FIXME Should probably have an option in net.Socket to create a + // stream from an existing fd which is writable only. But for now + // we'll just add this hack and set the `readable` member to false. + // Test: ./node test/fixtures/echo.js < /etc/passwd + stream.readable = false; + stream.read = null; + stream._type = 'pipe'; + + // FIXME Hack to have stream not keep the event loop alive. + // See https://github.com/joyent/node/issues/1726 + if (stream._handle && stream._handle.unref) { + stream._handle.unref(); + } + break; + + default: + // Probably an error on in uv_guess_handle() + throw new Error('Implement me. Unknown stream file type!'); + } + + // For supporting legacy API we put the FD here. + stream.fd = fd; + + stream._isStdio = true; + + return stream; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/History.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/History.md new file mode 100755 index 0000000..f001649 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/History.md @@ -0,0 +1,90 @@ +1.1.1 / 2017-07-27 +================== + + * Remove unnecessary `Buffer` loading + * Support Node.js 0.6 to 8.x + +1.1.0 / 2015-09-14 +================== + + * Enable strict mode in more places + * Support io.js 3.x + * Support io.js 2.x + * Support web browser loading + - Requires bundler like Browserify or webpack + +1.0.1 / 2015-04-07 +================== + + * Fix `TypeError`s when under `'use strict'` code + * Fix useless type name on auto-generated messages + * Support io.js 1.x + * Support Node.js 0.12 + +1.0.0 / 2014-09-17 +================== + + * No changes + +0.4.5 / 2014-09-09 +================== + + * Improve call speed to functions using the function wrapper + * Support Node.js 0.6 + +0.4.4 / 2014-07-27 +================== + + * Work-around v8 generating empty stack traces + +0.4.3 / 2014-07-26 +================== + + * Fix exception when global `Error.stackTraceLimit` is too low + +0.4.2 / 2014-07-19 +================== + + * Correct call site for wrapped functions and properties + +0.4.1 / 2014-07-19 +================== + + * Improve automatic message generation for function properties + +0.4.0 / 2014-07-19 +================== + + * Add `TRACE_DEPRECATION` environment variable + * Remove non-standard grey color from color output + * Support `--no-deprecation` argument + * Support `--trace-deprecation` argument + * Support `deprecate.property(fn, prop, message)` + +0.3.0 / 2014-06-16 +================== + + * Add `NO_DEPRECATION` environment variable + +0.2.0 / 2014-06-15 +================== + + * Add `deprecate.property(obj, prop, message)` + * Remove `supports-color` dependency for node.js 0.8 + +0.1.0 / 2014-06-15 +================== + + * Add `deprecate.function(fn, message)` + * Add `process.on('deprecation', fn)` emitter + * Automatically generate message when omitted from `deprecate()` + +0.0.1 / 2014-06-15 +================== + + * Fix warning for dynamic calls at singe call site + +0.0.0 / 2014-06-15 +================== + + * Initial implementation diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/LICENSE new file mode 100755 index 0000000..84441fb --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/Readme.md new file mode 100755 index 0000000..9e7d872 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/Readme.md @@ -0,0 +1,283 @@ +# depd + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Linux Build][travis-image]][travis-url] +[![Windows Build][appveyor-image]][appveyor-url] +[![Coverage Status][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +Deprecate all the things + +> With great modules comes great responsibility; mark things deprecated! + +## Install + +This module is installed directly using `npm`: + +```sh +$ npm install depd +``` + +This module can also be bundled with systems like +[Browserify](http://browserify.org/) or [webpack](https://webpack.github.io/), +though by default this module will alter it's API to no longer display or +track deprecations. + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var deprecate = require('depd')('my-module') +``` + +This library allows you to display deprecation messages to your users. +This library goes above and beyond with deprecation warnings by +introspection of the call stack (but only the bits that it is interested +in). + +Instead of just warning on the first invocation of a deprecated +function and never again, this module will warn on the first invocation +of a deprecated function per unique call site, making it ideal to alert +users of all deprecated uses across the code base, rather than just +whatever happens to execute first. + +The deprecation warnings from this module also include the file and line +information for the call into the module that the deprecated function was +in. + +**NOTE** this library has a similar interface to the `debug` module, and +this module uses the calling file to get the boundary for the call stacks, +so you should always create a new `deprecate` object in each file and not +within some central file. + +### depd(namespace) + +Create a new deprecate function that uses the given namespace name in the +messages and will display the call site prior to the stack entering the +file this function was called from. It is highly suggested you use the +name of your module as the namespace. + +### deprecate(message) + +Call this function from deprecated code to display a deprecation message. +This message will appear once per unique caller site. Caller site is the +first call site in the stack in a different file from the caller of this +function. + +If the message is omitted, a message is generated for you based on the site +of the `deprecate()` call and will display the name of the function called, +similar to the name displayed in a stack trace. + +### deprecate.function(fn, message) + +Call this function to wrap a given function in a deprecation message on any +call to the function. An optional message can be supplied to provide a custom +message. + +### deprecate.property(obj, prop, message) + +Call this function to wrap a given property on object in a deprecation message +on any accessing or setting of the property. An optional message can be supplied +to provide a custom message. + +The method must be called on the object where the property belongs (not +inherited from the prototype). + +If the property is a data descriptor, it will be converted to an accessor +descriptor in order to display the deprecation message. + +### process.on('deprecation', fn) + +This module will allow easy capturing of deprecation errors by emitting the +errors as the type "deprecation" on the global `process`. If there are no +listeners for this type, the errors are written to STDERR as normal, but if +there are any listeners, nothing will be written to STDERR and instead only +emitted. From there, you can write the errors in a different format or to a +logging source. + +The error represents the deprecation and is emitted only once with the same +rules as writing to STDERR. The error has the following properties: + + - `message` - This is the message given by the library + - `name` - This is always `'DeprecationError'` + - `namespace` - This is the namespace the deprecation came from + - `stack` - This is the stack of the call to the deprecated thing + +Example `error.stack` output: + +``` +DeprecationError: my-cool-module deprecated oldfunction + at Object.<anonymous> ([eval]-wrapper:6:22) + at Module._compile (module.js:456:26) + at evalScript (node.js:532:25) + at startup (node.js:80:7) + at node.js:902:3 +``` + +### process.env.NO_DEPRECATION + +As a user of modules that are deprecated, the environment variable `NO_DEPRECATION` +is provided as a quick solution to silencing deprecation warnings from being +output. The format of this is similar to that of `DEBUG`: + +```sh +$ NO_DEPRECATION=my-module,othermod node app.js +``` + +This will suppress deprecations from being output for "my-module" and "othermod". +The value is a list of comma-separated namespaces. To suppress every warning +across all namespaces, use the value `*` for a namespace. + +Providing the argument `--no-deprecation` to the `node` executable will suppress +all deprecations (only available in Node.js 0.8 or higher). + +**NOTE** This will not suppress the deperecations given to any "deprecation" +event listeners, just the output to STDERR. + +### process.env.TRACE_DEPRECATION + +As a user of modules that are deprecated, the environment variable `TRACE_DEPRECATION` +is provided as a solution to getting more detailed location information in deprecation +warnings by including the entire stack trace. The format of this is the same as +`NO_DEPRECATION`: + +```sh +$ TRACE_DEPRECATION=my-module,othermod node app.js +``` + +This will include stack traces for deprecations being output for "my-module" and +"othermod". The value is a list of comma-separated namespaces. To trace every +warning across all namespaces, use the value `*` for a namespace. + +Providing the argument `--trace-deprecation` to the `node` executable will trace +all deprecations (only available in Node.js 0.8 or higher). + +**NOTE** This will not trace the deperecations silenced by `NO_DEPRECATION`. + +## Display + + + +When a user calls a function in your library that you mark deprecated, they +will see the following written to STDERR (in the given colors, similar colors +and layout to the `debug` module): + +``` +bright cyan bright yellow +| | reset cyan +| | | | +▼ ▼ ▼ ▼ +my-cool-module deprecated oldfunction [eval]-wrapper:6:22 +▲ ▲ ▲ ▲ +| | | | +namespace | | location of mycoolmod.oldfunction() call + | deprecation message + the word "deprecated" +``` + +If the user redirects their STDERR to a file or somewhere that does not support +colors, they see (similar layout to the `debug` module): + +``` +Sun, 15 Jun 2014 05:21:37 GMT my-cool-module deprecated oldfunction at [eval]-wrapper:6:22 +▲ ▲ ▲ ▲ ▲ +| | | | | +timestamp of message namespace | | location of mycoolmod.oldfunction() call + | deprecation message + the word "deprecated" +``` + +## Examples + +### Deprecating all calls to a function + +This will display a deprecated message about "oldfunction" being deprecated +from "my-module" on STDERR. + +```js +var deprecate = require('depd')('my-cool-module') + +// message automatically derived from function name +// Object.oldfunction +exports.oldfunction = deprecate.function(function oldfunction () { + // all calls to function are deprecated +}) + +// specific message +exports.oldfunction = deprecate.function(function () { + // all calls to function are deprecated +}, 'oldfunction') +``` + +### Conditionally deprecating a function call + +This will display a deprecated message about "weirdfunction" being deprecated +from "my-module" on STDERR when called with less than 2 arguments. + +```js +var deprecate = require('depd')('my-cool-module') + +exports.weirdfunction = function () { + if (arguments.length < 2) { + // calls with 0 or 1 args are deprecated + deprecate('weirdfunction args < 2') + } +} +``` + +When calling `deprecate` as a function, the warning is counted per call site +within your own module, so you can display different deprecations depending +on different situations and the users will still get all the warnings: + +```js +var deprecate = require('depd')('my-cool-module') + +exports.weirdfunction = function () { + if (arguments.length < 2) { + // calls with 0 or 1 args are deprecated + deprecate('weirdfunction args < 2') + } else if (typeof arguments[0] !== 'string') { + // calls with non-string first argument are deprecated + deprecate('weirdfunction non-string first arg') + } +} +``` + +### Deprecating property access + +This will display a deprecated message about "oldprop" being deprecated +from "my-module" on STDERR when accessed. A deprecation will be displayed +when setting the value and when getting the value. + +```js +var deprecate = require('depd')('my-cool-module') + +exports.oldprop = 'something' + +// message automatically derives from property name +deprecate.property(exports, 'oldprop') + +// explicit message +deprecate.property(exports, 'oldprop', 'oldprop >= 0.10') +``` + +## License + +[MIT](LICENSE) + +[npm-version-image]: https://img.shields.io/npm/v/depd.svg +[npm-downloads-image]: https://img.shields.io/npm/dm/depd.svg +[npm-url]: https://npmjs.org/package/depd +[travis-image]: https://img.shields.io/travis/dougwilson/nodejs-depd/master.svg?label=linux +[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd +[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/nodejs-depd/master.svg?label=windows +[appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd +[coveralls-image]: https://img.shields.io/coveralls/dougwilson/nodejs-depd/master.svg +[coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master +[node-image]: https://img.shields.io/node/v/depd.svg +[node-url]: https://nodejs.org/en/download/ +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://www.gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/index.js new file mode 100755 index 0000000..73d81ab --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/index.js @@ -0,0 +1,520 @@ +/*! + * depd + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var callSiteToString = require('./lib/compat').callSiteToString +var eventListenerCount = require('./lib/compat').eventListenerCount +var relative = require('path').relative + +/** + * Module exports. + */ + +module.exports = depd + +/** + * Get the path to base files on. + */ + +var basePath = process.cwd() + +/** + * Determine if namespace is contained in the string. + */ + +function containsNamespace (str, namespace) { + var val = str.split(/[ ,]+/) + + namespace = String(namespace).toLowerCase() + + for (var i = 0; i < val.length; i++) { + if (!(str = val[i])) continue + + // namespace contained + if (str === '*' || str.toLowerCase() === namespace) { + return true + } + } + + return false +} + +/** + * Convert a data descriptor to accessor descriptor. + */ + +function convertDataDescriptorToAccessor (obj, prop, message) { + var descriptor = Object.getOwnPropertyDescriptor(obj, prop) + var value = descriptor.value + + descriptor.get = function getter () { return value } + + if (descriptor.writable) { + descriptor.set = function setter (val) { return (value = val) } + } + + delete descriptor.value + delete descriptor.writable + + Object.defineProperty(obj, prop, descriptor) + + return descriptor +} + +/** + * Create arguments string to keep arity. + */ + +function createArgumentsString (arity) { + var str = '' + + for (var i = 0; i < arity; i++) { + str += ', arg' + i + } + + return str.substr(2) +} + +/** + * Create stack string from stack. + */ + +function createStackString (stack) { + var str = this.name + ': ' + this.namespace + + if (this.message) { + str += ' deprecated ' + this.message + } + + for (var i = 0; i < stack.length; i++) { + str += '\n at ' + callSiteToString(stack[i]) + } + + return str +} + +/** + * Create deprecate for namespace in caller. + */ + +function depd (namespace) { + if (!namespace) { + throw new TypeError('argument namespace is required') + } + + var stack = getStack() + var site = callSiteLocation(stack[1]) + var file = site[0] + + function deprecate (message) { + // call to self as log + log.call(deprecate, message) + } + + deprecate._file = file + deprecate._ignored = isignored(namespace) + deprecate._namespace = namespace + deprecate._traced = istraced(namespace) + deprecate._warned = Object.create(null) + + deprecate.function = wrapfunction + deprecate.property = wrapproperty + + return deprecate +} + +/** + * Determine if namespace is ignored. + */ + +function isignored (namespace) { + /* istanbul ignore next: tested in a child processs */ + if (process.noDeprecation) { + // --no-deprecation support + return true + } + + var str = process.env.NO_DEPRECATION || '' + + // namespace ignored + return containsNamespace(str, namespace) +} + +/** + * Determine if namespace is traced. + */ + +function istraced (namespace) { + /* istanbul ignore next: tested in a child processs */ + if (process.traceDeprecation) { + // --trace-deprecation support + return true + } + + var str = process.env.TRACE_DEPRECATION || '' + + // namespace traced + return containsNamespace(str, namespace) +} + +/** + * Display deprecation message. + */ + +function log (message, site) { + var haslisteners = eventListenerCount(process, 'deprecation') !== 0 + + // abort early if no destination + if (!haslisteners && this._ignored) { + return + } + + var caller + var callFile + var callSite + var i = 0 + var seen = false + var stack = getStack() + var file = this._file + + if (site) { + // provided site + callSite = callSiteLocation(stack[1]) + callSite.name = site.name + file = callSite[0] + } else { + // get call site + i = 2 + site = callSiteLocation(stack[i]) + callSite = site + } + + // get caller of deprecated thing in relation to file + for (; i < stack.length; i++) { + caller = callSiteLocation(stack[i]) + callFile = caller[0] + + if (callFile === file) { + seen = true + } else if (callFile === this._file) { + file = this._file + } else if (seen) { + break + } + } + + var key = caller + ? site.join(':') + '__' + caller.join(':') + : undefined + + if (key !== undefined && key in this._warned) { + // already warned + return + } + + this._warned[key] = true + + // generate automatic message from call site + if (!message) { + message = callSite === site || !callSite.name + ? defaultMessage(site) + : defaultMessage(callSite) + } + + // emit deprecation if listeners exist + if (haslisteners) { + var err = DeprecationError(this._namespace, message, stack.slice(i)) + process.emit('deprecation', err) + return + } + + // format and write message + var format = process.stderr.isTTY + ? formatColor + : formatPlain + var msg = format.call(this, message, caller, stack.slice(i)) + process.stderr.write(msg + '\n', 'utf8') +} + +/** + * Get call site location as array. + */ + +function callSiteLocation (callSite) { + var file = callSite.getFileName() || '<anonymous>' + var line = callSite.getLineNumber() + var colm = callSite.getColumnNumber() + + if (callSite.isEval()) { + file = callSite.getEvalOrigin() + ', ' + file + } + + var site = [file, line, colm] + + site.callSite = callSite + site.name = callSite.getFunctionName() + + return site +} + +/** + * Generate a default message from the site. + */ + +function defaultMessage (site) { + var callSite = site.callSite + var funcName = site.name + + // make useful anonymous name + if (!funcName) { + funcName = '<anonymous@' + formatLocation(site) + '>' + } + + var context = callSite.getThis() + var typeName = context && callSite.getTypeName() + + // ignore useless type name + if (typeName === 'Object') { + typeName = undefined + } + + // make useful type name + if (typeName === 'Function') { + typeName = context.name || typeName + } + + return typeName && callSite.getMethodName() + ? typeName + '.' + funcName + : funcName +} + +/** + * Format deprecation message without color. + */ + +function formatPlain (msg, caller, stack) { + var timestamp = new Date().toUTCString() + + var formatted = timestamp + + ' ' + this._namespace + + ' deprecated ' + msg + + // add stack trace + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += '\n at ' + callSiteToString(stack[i]) + } + + return formatted + } + + if (caller) { + formatted += ' at ' + formatLocation(caller) + } + + return formatted +} + +/** + * Format deprecation message with color. + */ + +function formatColor (msg, caller, stack) { + var formatted = '\x1b[36;1m' + this._namespace + '\x1b[22;39m' + // bold cyan + ' \x1b[33;1mdeprecated\x1b[22;39m' + // bold yellow + ' \x1b[0m' + msg + '\x1b[39m' // reset + + // add stack trace + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += '\n \x1b[36mat ' + callSiteToString(stack[i]) + '\x1b[39m' // cyan + } + + return formatted + } + + if (caller) { + formatted += ' \x1b[36m' + formatLocation(caller) + '\x1b[39m' // cyan + } + + return formatted +} + +/** + * Format call site location. + */ + +function formatLocation (callSite) { + return relative(basePath, callSite[0]) + + ':' + callSite[1] + + ':' + callSite[2] +} + +/** + * Get the stack as array of call sites. + */ + +function getStack () { + var limit = Error.stackTraceLimit + var obj = {} + var prep = Error.prepareStackTrace + + Error.prepareStackTrace = prepareObjectStackTrace + Error.stackTraceLimit = Math.max(10, limit) + + // capture the stack + Error.captureStackTrace(obj) + + // slice this function off the top + var stack = obj.stack.slice(1) + + Error.prepareStackTrace = prep + Error.stackTraceLimit = limit + + return stack +} + +/** + * Capture call site stack from v8. + */ + +function prepareObjectStackTrace (obj, stack) { + return stack +} + +/** + * Return a wrapped function in a deprecation message. + */ + +function wrapfunction (fn, message) { + if (typeof fn !== 'function') { + throw new TypeError('argument fn must be a function') + } + + var args = createArgumentsString(fn.length) + var deprecate = this // eslint-disable-line no-unused-vars + var stack = getStack() + var site = callSiteLocation(stack[1]) + + site.name = fn.name + + // eslint-disable-next-line no-eval + var deprecatedfn = eval('(function (' + args + ') {\n' + + '"use strict"\n' + + 'log.call(deprecate, message, site)\n' + + 'return fn.apply(this, arguments)\n' + + '})') + + return deprecatedfn +} + +/** + * Wrap property in a deprecation message. + */ + +function wrapproperty (obj, prop, message) { + if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { + throw new TypeError('argument obj must be object') + } + + var descriptor = Object.getOwnPropertyDescriptor(obj, prop) + + if (!descriptor) { + throw new TypeError('must call property on owner object') + } + + if (!descriptor.configurable) { + throw new TypeError('property must be configurable') + } + + var deprecate = this + var stack = getStack() + var site = callSiteLocation(stack[1]) + + // set site name + site.name = prop + + // convert data descriptor + if ('value' in descriptor) { + descriptor = convertDataDescriptorToAccessor(obj, prop, message) + } + + var get = descriptor.get + var set = descriptor.set + + // wrap getter + if (typeof get === 'function') { + descriptor.get = function getter () { + log.call(deprecate, message, site) + return get.apply(this, arguments) + } + } + + // wrap setter + if (typeof set === 'function') { + descriptor.set = function setter () { + log.call(deprecate, message, site) + return set.apply(this, arguments) + } + } + + Object.defineProperty(obj, prop, descriptor) +} + +/** + * Create DeprecationError for deprecation + */ + +function DeprecationError (namespace, message, stack) { + var error = new Error() + var stackString + + Object.defineProperty(error, 'constructor', { + value: DeprecationError + }) + + Object.defineProperty(error, 'message', { + configurable: true, + enumerable: false, + value: message, + writable: true + }) + + Object.defineProperty(error, 'name', { + enumerable: false, + configurable: true, + value: 'DeprecationError', + writable: true + }) + + Object.defineProperty(error, 'namespace', { + configurable: true, + enumerable: false, + value: namespace, + writable: true + }) + + Object.defineProperty(error, 'stack', { + configurable: true, + enumerable: false, + get: function () { + if (stackString !== undefined) { + return stackString + } + + // prepare stack trace + return (stackString = createStackString.call(this, stack)) + }, + set: function setter (val) { + stackString = val + } + }) + + return error +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/browser/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/browser/index.js new file mode 100755 index 0000000..6be45cc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/browser/index.js @@ -0,0 +1,77 @@ +/*! + * depd + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = depd + +/** + * Create deprecate for namespace in caller. + */ + +function depd (namespace) { + if (!namespace) { + throw new TypeError('argument namespace is required') + } + + function deprecate (message) { + // no-op in browser + } + + deprecate._file = undefined + deprecate._ignored = true + deprecate._namespace = namespace + deprecate._traced = false + deprecate._warned = Object.create(null) + + deprecate.function = wrapfunction + deprecate.property = wrapproperty + + return deprecate +} + +/** + * Return a wrapped function in a deprecation message. + * + * This is a no-op version of the wrapper, which does nothing but call + * validation. + */ + +function wrapfunction (fn, message) { + if (typeof fn !== 'function') { + throw new TypeError('argument fn must be a function') + } + + return fn +} + +/** + * Wrap property in a deprecation message. + * + * This is a no-op version of the wrapper, which does nothing but call + * validation. + */ + +function wrapproperty (obj, prop, message) { + if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { + throw new TypeError('argument obj must be object') + } + + var descriptor = Object.getOwnPropertyDescriptor(obj, prop) + + if (!descriptor) { + throw new TypeError('must call property on owner object') + } + + if (!descriptor.configurable) { + throw new TypeError('property must be configurable') + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/callsite-tostring.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/callsite-tostring.js new file mode 100755 index 0000000..73186dc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/callsite-tostring.js @@ -0,0 +1,103 @@ +/*! + * depd + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + */ + +module.exports = callSiteToString + +/** + * Format a CallSite file location to a string. + */ + +function callSiteFileLocation (callSite) { + var fileName + var fileLocation = '' + + if (callSite.isNative()) { + fileLocation = 'native' + } else if (callSite.isEval()) { + fileName = callSite.getScriptNameOrSourceURL() + if (!fileName) { + fileLocation = callSite.getEvalOrigin() + } + } else { + fileName = callSite.getFileName() + } + + if (fileName) { + fileLocation += fileName + + var lineNumber = callSite.getLineNumber() + if (lineNumber != null) { + fileLocation += ':' + lineNumber + + var columnNumber = callSite.getColumnNumber() + if (columnNumber) { + fileLocation += ':' + columnNumber + } + } + } + + return fileLocation || 'unknown source' +} + +/** + * Format a CallSite to a string. + */ + +function callSiteToString (callSite) { + var addSuffix = true + var fileLocation = callSiteFileLocation(callSite) + var functionName = callSite.getFunctionName() + var isConstructor = callSite.isConstructor() + var isMethodCall = !(callSite.isToplevel() || isConstructor) + var line = '' + + if (isMethodCall) { + var methodName = callSite.getMethodName() + var typeName = getConstructorName(callSite) + + if (functionName) { + if (typeName && functionName.indexOf(typeName) !== 0) { + line += typeName + '.' + } + + line += functionName + + if (methodName && functionName.lastIndexOf('.' + methodName) !== functionName.length - methodName.length - 1) { + line += ' [as ' + methodName + ']' + } + } else { + line += typeName + '.' + (methodName || '<anonymous>') + } + } else if (isConstructor) { + line += 'new ' + (functionName || '<anonymous>') + } else if (functionName) { + line += functionName + } else { + addSuffix = false + line += fileLocation + } + + if (addSuffix) { + line += ' (' + fileLocation + ')' + } + + return line +} + +/** + * Get constructor name of reviver. + */ + +function getConstructorName (obj) { + var receiver = obj.receiver + return (receiver.constructor && receiver.constructor.name) || null +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/event-listener-count.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/event-listener-count.js new file mode 100755 index 0000000..3a8925d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/event-listener-count.js @@ -0,0 +1,22 @@ +/*! + * depd + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = eventListenerCount + +/** + * Get the count of listeners on an event emitter of a specific type. + */ + +function eventListenerCount (emitter, type) { + return emitter.listeners(type).length +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/index.js new file mode 100755 index 0000000..955b333 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/lib/compat/index.js @@ -0,0 +1,79 @@ +/*! + * depd + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var EventEmitter = require('events').EventEmitter + +/** + * Module exports. + * @public + */ + +lazyProperty(module.exports, 'callSiteToString', function callSiteToString () { + var limit = Error.stackTraceLimit + var obj = {} + var prep = Error.prepareStackTrace + + function prepareObjectStackTrace (obj, stack) { + return stack + } + + Error.prepareStackTrace = prepareObjectStackTrace + Error.stackTraceLimit = 2 + + // capture the stack + Error.captureStackTrace(obj) + + // slice the stack + var stack = obj.stack.slice() + + Error.prepareStackTrace = prep + Error.stackTraceLimit = limit + + return stack[0].toString ? toString : require('./callsite-tostring') +}) + +lazyProperty(module.exports, 'eventListenerCount', function eventListenerCount () { + return EventEmitter.listenerCount || require('./event-listener-count') +}) + +/** + * Define a lazy property. + */ + +function lazyProperty (obj, prop, getter) { + function get () { + var val = getter() + + Object.defineProperty(obj, prop, { + configurable: true, + enumerable: true, + value: val + }) + + return val + } + + Object.defineProperty(obj, prop, { + configurable: true, + enumerable: true, + get: get + }) +} + +/** + * Call toString() on the obj + */ + +function toString (obj) { + return obj.toString() +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/package.json new file mode 100755 index 0000000..dee870e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/depd/package.json @@ -0,0 +1,115 @@ +{ + "_args": [ + [ + { + "raw": "depd@~1.1.1", + "scope": null, + "escapedName": "depd", + "name": "depd", + "rawSpec": "~1.1.1", + "spec": ">=1.1.1 <1.2.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "depd@>=1.1.1 <1.2.0", + "_id": "depd@1.1.1", + "_inCache": true, + "_location": "/depd", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/depd-1.1.1.tgz_1501197028677_0.8715836545452476" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "depd@~1.1.1", + "scope": null, + "escapedName": "depd", + "name": "depd", + "rawSpec": "~1.1.1", + "spec": ">=1.1.1 <1.2.0", + "type": "range" + }, + "_requiredBy": [ + "/body-parser", + "/express", + "/http-errors", + "/send" + ], + "_resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "_shasum": "5783b4e1c459f06fa5ca27f991f3d06e7a310359", + "_shrinkwrap": null, + "_spec": "depd@~1.1.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "browser": "lib/browser/index.js", + "bugs": { + "url": "https://github.com/dougwilson/nodejs-depd/issues" + }, + "dependencies": {}, + "description": "Deprecate all the things", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "7.1.0", + "eslint-plugin-markdown": "1.0.0-beta.7", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "2.3.1", + "istanbul": "0.4.5", + "mocha": "~1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "5783b4e1c459f06fa5ca27f991f3d06e7a310359", + "tarball": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "lib/", + "History.md", + "LICENSE", + "index.js", + "Readme.md" + ], + "gitHead": "15c5604aaab7befd413506e86670168d7481043a", + "homepage": "https://github.com/dougwilson/nodejs-depd#readme", + "keywords": [ + "deprecate", + "deprecated" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "depd", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/dougwilson/nodejs-depd.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --no-exit test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/" + }, + "version": "1.1.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/LICENSE new file mode 100755 index 0000000..a7ae8ee --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/README.md new file mode 100755 index 0000000..6474bc3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/README.md @@ -0,0 +1,60 @@ +# Destroy + +[![NPM version][npm-image]][npm-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] +[![Gittip][gittip-image]][gittip-url] + +Destroy a stream. + +This module is meant to ensure a stream gets destroyed, handling different APIs +and Node.js bugs. + +## API + +```js +var destroy = require('destroy') +``` + +### destroy(stream) + +Destroy the given stream. In most cases, this is identical to a simple +`stream.destroy()` call. The rules are as follows for a given stream: + + 1. If the `stream` is an instance of `ReadStream`, then call `stream.destroy()` + and add a listener to the `open` event to call `stream.close()` if it is + fired. This is for a Node.js bug that will leak a file descriptor if + `.destroy()` is called before `open`. + 2. If the `stream` is not an instance of `Stream`, then nothing happens. + 3. If the `stream` has a `.destroy()` method, then call it. + +The function returns the `stream` passed in as the argument. + +## Example + +```js +var destroy = require('destroy') + +var fs = require('fs') +var stream = fs.createReadStream('package.json') + +// ... and later +destroy(stream) +``` + +[npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square +[npm-url]: https://npmjs.org/package/destroy +[github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square +[github-url]: https://github.com/stream-utils/destroy/tags +[travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square +[travis-url]: https://travis-ci.org/stream-utils/destroy +[coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square +[coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master +[license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square +[license-url]: LICENSE.md +[downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square +[downloads-url]: https://npmjs.org/package/destroy +[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square +[gittip-url]: https://www.gittip.com/jonathanong/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/index.js new file mode 100755 index 0000000..6da2d26 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/index.js @@ -0,0 +1,75 @@ +/*! + * destroy + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var ReadStream = require('fs').ReadStream +var Stream = require('stream') + +/** + * Module exports. + * @public + */ + +module.exports = destroy + +/** + * Destroy a stream. + * + * @param {object} stream + * @public + */ + +function destroy(stream) { + if (stream instanceof ReadStream) { + return destroyReadStream(stream) + } + + if (!(stream instanceof Stream)) { + return stream + } + + if (typeof stream.destroy === 'function') { + stream.destroy() + } + + return stream +} + +/** + * Destroy a ReadStream. + * + * @param {object} stream + * @private + */ + +function destroyReadStream(stream) { + stream.destroy() + + if (typeof stream.close === 'function') { + // node.js core bug work-around + stream.on('open', onOpenClose) + } + + return stream +} + +/** + * On open handler to close stream. + * @private + */ + +function onOpenClose() { + if (typeof this.fd === 'number') { + // actually close down the fd + this.close() + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/package.json new file mode 100755 index 0000000..f332cf8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/destroy/package.json @@ -0,0 +1,106 @@ +{ + "_args": [ + [ + { + "raw": "destroy@~1.0.4", + "scope": null, + "escapedName": "destroy", + "name": "destroy", + "rawSpec": "~1.0.4", + "spec": ">=1.0.4 <1.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\send" + ] + ], + "_from": "destroy@>=1.0.4 <1.1.0", + "_id": "destroy@1.0.4", + "_inCache": true, + "_location": "/destroy", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "destroy@~1.0.4", + "scope": null, + "escapedName": "destroy", + "name": "destroy", + "rawSpec": "~1.0.4", + "spec": ">=1.0.4 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/send" + ], + "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "_shasum": "978857442c44749e4206613e37946205826abd80", + "_shrinkwrap": null, + "_spec": "destroy@~1.0.4", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\send", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/stream-utils/destroy/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "destroy a stream if possible", + "devDependencies": { + "istanbul": "0.4.2", + "mocha": "2.3.4" + }, + "directories": {}, + "dist": { + "shasum": "978857442c44749e4206613e37946205826abd80", + "tarball": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + }, + "files": [ + "index.js", + "LICENSE" + ], + "gitHead": "86edea01456f5fa1027f6a47250c34c713cbcc3b", + "homepage": "https://github.com/stream-utils/destroy", + "keywords": [ + "stream", + "streams", + "destroy", + "cleanup", + "leak", + "fd" + ], + "license": "MIT", + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "destroy", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/stream-utils/destroy.git" + }, + "scripts": { + "test": "mocha --reporter spec", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" + }, + "version": "1.0.4" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/LICENSE new file mode 100755 index 0000000..a7ae8ee --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/README.md new file mode 100755 index 0000000..cbd2478 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/README.md @@ -0,0 +1,80 @@ +# EE First + +[![NPM version][npm-image]][npm-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] +[![Gittip][gittip-image]][gittip-url] + +Get the first event in a set of event emitters and event pairs, +then clean up after itself. + +## Install + +```sh +$ npm install ee-first +``` + +## API + +```js +var first = require('ee-first') +``` + +### first(arr, listener) + +Invoke `listener` on the first event from the list specified in `arr`. `arr` is +an array of arrays, with each array in the format `[ee, ...event]`. `listener` +will be called only once, the first time any of the given events are emitted. If +`error` is one of the listened events, then if that fires first, the `listener` +will be given the `err` argument. + +The `listener` is invoked as `listener(err, ee, event, args)`, where `err` is the +first argument emitted from an `error` event, if applicable; `ee` is the event +emitter that fired; `event` is the string event name that fired; and `args` is an +array of the arguments that were emitted on the event. + +```js +var ee1 = new EventEmitter() +var ee2 = new EventEmitter() + +first([ + [ee1, 'close', 'end', 'error'], + [ee2, 'error'] +], function (err, ee, event, args) { + // listener invoked +}) +``` + +#### .cancel() + +The group of listeners can be cancelled before being invoked and have all the event +listeners removed from the underlying event emitters. + +```js +var thunk = first([ + [ee1, 'close', 'end', 'error'], + [ee2, 'error'] +], function (err, ee, event, args) { + // listener invoked +}) + +// cancel and clean up +thunk.cancel() +``` + +[npm-image]: https://img.shields.io/npm/v/ee-first.svg?style=flat-square +[npm-url]: https://npmjs.org/package/ee-first +[github-tag]: http://img.shields.io/github/tag/jonathanong/ee-first.svg?style=flat-square +[github-url]: https://github.com/jonathanong/ee-first/tags +[travis-image]: https://img.shields.io/travis/jonathanong/ee-first.svg?style=flat-square +[travis-url]: https://travis-ci.org/jonathanong/ee-first +[coveralls-image]: https://img.shields.io/coveralls/jonathanong/ee-first.svg?style=flat-square +[coveralls-url]: https://coveralls.io/r/jonathanong/ee-first?branch=master +[license-image]: http://img.shields.io/npm/l/ee-first.svg?style=flat-square +[license-url]: LICENSE.md +[downloads-image]: http://img.shields.io/npm/dm/ee-first.svg?style=flat-square +[downloads-url]: https://npmjs.org/package/ee-first +[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square +[gittip-url]: https://www.gittip.com/jonathanong/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/index.js new file mode 100755 index 0000000..501287c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/index.js @@ -0,0 +1,95 @@ +/*! + * ee-first + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = first + +/** + * Get the first event in a set of event emitters and event pairs. + * + * @param {array} stuff + * @param {function} done + * @public + */ + +function first(stuff, done) { + if (!Array.isArray(stuff)) + throw new TypeError('arg must be an array of [ee, events...] arrays') + + var cleanups = [] + + for (var i = 0; i < stuff.length; i++) { + var arr = stuff[i] + + if (!Array.isArray(arr) || arr.length < 2) + throw new TypeError('each array member must be [ee, events...]') + + var ee = arr[0] + + for (var j = 1; j < arr.length; j++) { + var event = arr[j] + var fn = listener(event, callback) + + // listen to the event + ee.on(event, fn) + // push this listener to the list of cleanups + cleanups.push({ + ee: ee, + event: event, + fn: fn, + }) + } + } + + function callback() { + cleanup() + done.apply(null, arguments) + } + + function cleanup() { + var x + for (var i = 0; i < cleanups.length; i++) { + x = cleanups[i] + x.ee.removeListener(x.event, x.fn) + } + } + + function thunk(fn) { + done = fn + } + + thunk.cancel = cleanup + + return thunk +} + +/** + * Create the event listener. + * @private + */ + +function listener(event, done) { + return function onevent(arg1) { + var args = new Array(arguments.length) + var ee = this + var err = event === 'error' + ? arg1 + : null + + // copy args to prevent arguments escaping scope + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + + done(err, ee, event, args) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/package.json new file mode 100755 index 0000000..26b3773 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ee-first/package.json @@ -0,0 +1,98 @@ +{ + "_args": [ + [ + { + "raw": "ee-first@1.1.1", + "scope": null, + "escapedName": "ee-first", + "name": "ee-first", + "rawSpec": "1.1.1", + "spec": "1.1.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\on-finished" + ] + ], + "_from": "ee-first@1.1.1", + "_id": "ee-first@1.1.1", + "_inCache": true, + "_location": "/ee-first", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "ee-first@1.1.1", + "scope": null, + "escapedName": "ee-first", + "name": "ee-first", + "rawSpec": "1.1.1", + "spec": "1.1.1", + "type": "version" + }, + "_requiredBy": [ + "/on-finished" + ], + "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d", + "_shrinkwrap": null, + "_spec": "ee-first@1.1.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\on-finished", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/jonathanong/ee-first/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "return the first event in a set of ee/event pairs", + "devDependencies": { + "istanbul": "0.3.9", + "mocha": "2.2.5" + }, + "directories": {}, + "dist": { + "shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d", + "tarball": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + }, + "files": [ + "index.js", + "LICENSE" + ], + "gitHead": "512e0ce4cc3643f603708f965a97b61b1a9c0441", + "homepage": "https://github.com/jonathanong/ee-first", + "license": "MIT", + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "ee-first", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jonathanong/ee-first.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.1.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/Jakefile b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/Jakefile new file mode 100755 index 0000000..31e07d4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/Jakefile @@ -0,0 +1,70 @@ +var fs = require('fs'); +var execSync = require('child_process').execSync; +var exec = function (cmd) { + execSync(cmd, {stdio: 'inherit'}); +}; + +/* global jake, task, desc, publishTask */ + +task('build', ['lint', 'clean', 'browserify', 'minify'], function () { + console.log('Build completed.'); +}); + +desc('Cleans browerified/minified files and package files'); +task('clean', ['clobber'], function () { + jake.rmRf('./ejs.js'); + jake.rmRf('./ejs.min.js'); + console.log('Cleaned up compiled files.'); +}); + +desc('Lints the source code'); +task('lint', function () { + exec('./node_modules/.bin/eslint \"**/*.js\" Jakefile'); + console.log('Linting completed.'); +}); + +task('browserify', function () { + exec('./node_modules/browserify/bin/cmd.js --standalone ejs lib/ejs.js > ejs.js'); + console.log('Browserification completed.'); +}); + +task('minify', function () { + exec('./node_modules/uglify-js/bin/uglifyjs ejs.js > ejs.min.js'); + console.log('Minification completed.'); +}); + +task('doc', function (dev) { + jake.rmRf('out'); + var p = dev ? '-p' : ''; + exec('./node_modules/.bin/jsdoc ' + p + ' -c jsdoc.json lib/* docs/jsdoc/*'); + console.log('Documentation generated.'); +}); + +task('docPublish', ['doc'], function () { + fs.writeFileSync('out/CNAME', 'api.ejs.co'); + console.log('Pushing docs to gh-pages...'); + exec('./node_modules/.bin/git-directory-deploy --directory out/'); + console.log('Docs published to gh-pages.'); +}); + +task('test', ['lint'], function () { + exec('./node_modules/.bin/mocha'); +}); + +publishTask('ejs', ['build'], function () { + this.packageFiles.include([ + 'Jakefile', + 'README.md', + 'LICENSE', + 'package.json', + 'ejs.js', + 'ejs.min.js', + 'lib/**' + ]); +}); + +jake.Task.publish.on('complete', function () { + console.log('Updating hosted docs...'); + console.log('If this fails, run jake docPublish to re-try.'); + jake.Task.docPublish.invoke(); +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/LICENSE new file mode 100755 index 0000000..d645695 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/README.md new file mode 100755 index 0000000..f9609eb --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/README.md @@ -0,0 +1,257 @@ +# EJS + +Embedded JavaScript templates + +[](https://travis-ci.org/mde/ejs) +[](https://david-dm.org/mde/ejs?type=dev) +[](https://snyk.io/test/npm/ejs) + +## Installation + +```bash +$ npm install ejs +``` + +## Features + + * Control flow with `<% %>` + * Escaped output with `<%= %>` (escape function configurable) + * Unescaped raw output with `<%- %>` + * Newline-trim mode ('newline slurping') with `-%>` ending tag + * Whitespace-trim mode (slurp all whitespace) for control flow with `<%_ _%>` + * Custom delimiters (e.g., use `<? ?>` instead of `<% %>`) + * Includes + * Client-side support + * Static caching of intermediate JavaScript + * Static caching of templates + * Complies with the [Express](http://expressjs.com) view system + +## Example + +```html +<% if (user) { %> + <h2><%= user.name %></h2> +<% } %> +``` + +Try EJS online at: https://ionicabizau.github.io/ejs-playground/. + +## Usage + +```javascript +var template = ejs.compile(str, options); +template(data); +// => Rendered HTML string + +ejs.render(str, data, options); +// => Rendered HTML string + +ejs.renderFile(filename, data, options, function(err, str){ + // str => Rendered HTML string +}); +``` + +It is also possible to use `ejs.render(dataAndOptions);` where you pass +everything in a single object. In that case, you'll end up with local variables +for all the passed options. However, be aware that your code could break if we +add an option with the same name as one of your data object's properties. +Therefore, we do not recommend using this shortcut. + +## Options + + - `cache` Compiled functions are cached, requires `filename` + - `filename` The name of the file being rendered. Not required if you + are using `renderFile()`. Used by `cache` to key caches, and for includes. + - `root` Set project root for includes with an absolute path (/file.ejs). + - `context` Function execution context + - `compileDebug` When `false` no debug instrumentation is compiled + - `client` When `true`, compiles a function that can be rendered + in the browser without needing to load the EJS Runtime + ([ejs.min.js](https://github.com/mde/ejs/releases/latest)). + - `delimiter` Character to use with angle brackets for open/close + - `debug` Output generated function body + - `strict` When set to `true`, generated function is in strict mode + - `_with` Whether or not to use `with() {}` constructs. If `false` then the locals will be stored in the `locals` object. Set to `false` in strict mode. + - `localsName` Name to use for the object storing local variables when not using `with` Defaults to `locals` + - `rmWhitespace` Remove all safe-to-remove whitespace, including leading + and trailing whitespace. It also enables a safer version of `-%>` line + slurping for all scriptlet tags (it does not strip new lines of tags in + the middle of a line). + - `escape` The escaping function used with `<%=` construct. It is + used in rendering and is `.toString()`ed in the generation of client functions. (By default escapes XML). + +This project uses [JSDoc](http://usejsdoc.org/). For the full public API +documentation, clone the repository and run `npm run doc`. This will run JSDoc +with the proper options and output the documentation to `out/`. If you want +the both the public & private API docs, run `npm run devdoc` instead. + +## Tags + + - `<%` 'Scriptlet' tag, for control-flow, no output + - `<%_` 'Whitespace Slurping' Scriptlet tag, strips all whitespace before it + - `<%=` Outputs the value into the template (escaped) + - `<%-` Outputs the unescaped value into the template + - `<%#` Comment tag, no execution, no output + - `<%%` Outputs a literal '<%' + - `%%>` Outputs a literal '%>' + - `%>` Plain ending tag + - `-%>` Trim-mode ('newline slurp') tag, trims following newline + - `_%>` 'Whitespace Slurping' ending tag, removes all whitespace after it + +For the full syntax documentation, please see [docs/syntax.md](https://github.com/mde/ejs/blob/master/docs/syntax.md). + +## Includes + +Includes either have to be an absolute path, or, if not, are assumed as +relative to the template with the `include` call. For example if you are +including `./views/user/show.ejs` from `./views/users.ejs` you would +use `<%- include('user/show') %>`. + +You must specify the `filename` option for the template with the `include` +call unless you are using `renderFile()`. + +You'll likely want to use the raw output tag (`<%-`) with your include to avoid +double-escaping the HTML output. + +```html +<ul> + <% users.forEach(function(user){ %> + <%- include('user/show', {user: user}) %> + <% }); %> +</ul> +``` + +Includes are inserted at runtime, so you can use variables for the path in the +`include` call (for example `<%- include(somePath) %>`). Variables in your +top-level data object are available to all your includes, but local variables +need to be passed down. + +NOTE: Include preprocessor directives (`<% include user/show %>`) are +still supported. + +## Custom delimiters + +Custom delimiters can be applied on a per-template basis, or globally: + +```javascript +var ejs = require('ejs'), + users = ['geddy', 'neil', 'alex']; + +// Just one template +ejs.render('<?= users.join(" | "); ?>', {users: users}, {delimiter: '?'}); +// => 'geddy | neil | alex' + +// Or globally +ejs.delimiter = '$'; +ejs.render('<$= users.join(" | "); $>', {users: users}); +// => 'geddy | neil | alex' +``` + +## Caching + +EJS ships with a basic in-process cache for caching the intermediate JavaScript +functions used to render templates. It's easy to plug in LRU caching using +Node's `lru-cache` library: + +```javascript +var ejs = require('ejs') + , LRU = require('lru-cache'); +ejs.cache = LRU(100); // LRU cache with 100-item limit +``` + +If you want to clear the EJS cache, call `ejs.clearCache`. If you're using the +LRU cache and need a different limit, simple reset `ejs.cache` to a new instance +of the LRU. + +## Custom FileLoader + +The default file loader is `fs.readFileSync`, if you want to customize it, you can set ejs.fileLoader. + +```javascript +var ejs = require('ejs'); +var myFileLoad = function (filePath) { + return 'myFileLoad: ' + fs.readFileSync(filePath); +}; + +ejs.fileLoader = myFileLoad; +``` + +With this feature, you can preprocess the template before reading it. + +## Layouts + +EJS does not specifically support blocks, but layouts can be implemented by +including headers and footers, like so: + + +```html +<%- include('header') -%> +<h1> + Title +</h1> +<p> + My page +</p> +<%- include('footer') -%> +``` + +## Client-side support + +Go to the [Latest Release](https://github.com/mde/ejs/releases/latest), download +`./ejs.js` or `./ejs.min.js`. Alternately, you can compile it yourself by cloning +the repository and running `jake build` (or `$(npm bin)/jake build` if jake is +not installed globally). + +Include one of these files on your page, and `ejs` should be available globally. + +### Example + +```html +<div id="output"></div> +<script src="ejs.min.js"></script> +<script> + var people = ['geddy', 'neil', 'alex'], + html = ejs.render('<%= people.join(", "); %>', {people: people}); + // With jQuery: + $('#output').html(html); + // Vanilla JS: + document.getElementById('output').innerHTML = html; +</script> +``` + +### Caveats + +Most of EJS will work as expected; however, there are a few things to note: + +1. Obviously, since you do not have access to the filesystem, `ejs.renderFile()` won't work. +2. For the same reason, `include`s do not work unless you use an `IncludeCallback`. Here is an example: + ```javascript + var str = "Hello <%= include('file', {person: 'John'}); %>", + fn = ejs.compile(str, {client: true}); + + fn(data, null, function(path, d){ // IncludeCallback + // path -> 'file' + // d -> {person: 'John'} + // Put your code here + // Return the contents of file as a string + }); // returns rendered string + ``` + +## Related projects + +There are a number of implementations of EJS: + + * TJ's implementation, the v1 of this library: https://github.com/tj/ejs + * Jupiter Consulting's EJS: http://www.embeddedjs.com/ + * EJS Embedded JavaScript Framework on Google Code: https://code.google.com/p/embeddedjavascript/ + * Sam Stephenson's Ruby implementation: https://rubygems.org/gems/ejs + * Erubis, an ERB implementation which also runs JavaScript: http://www.kuwata-lab.com/erubis/users-guide.04.html#lang-javascript + +## License + +Licensed under the Apache License, Version 2.0 +(<http://www.apache.org/licenses/LICENSE-2.0>) + +- - - +EJS Embedded JavaScript templates copyright 2112 +mde@fleegix.org. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.js new file mode 100755 index 0000000..1d49e51 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.js @@ -0,0 +1,1494 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ejs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ +/* + * EJS Embedded JavaScript templates + * Copyright 2112 Matthew Eernisse (mde@fleegix.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +'use strict'; + +/** + * @file Embedded JavaScript templating engine. {@link http://ejs.co} + * @author Matthew Eernisse <mde@fleegix.org> + * @author Tiancheng "Timothy" Gu <timothygu99@gmail.com> + * @project EJS + * @license {@link http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0} + */ + +/** + * EJS internal functions. + * + * Technically this "module" lies in the same file as {@link module:ejs}, for + * the sake of organization all the private functions re grouped into this + * module. + * + * @module ejs-internal + * @private + */ + +/** + * Embedded JavaScript templating engine. + * + * @module ejs + * @public + */ + +var fs = require('fs'); +var path = require('path'); +var utils = require('./utils'); + +var scopeOptionWarned = false; +var _VERSION_STRING = require('../package.json').version; +var _DEFAULT_DELIMITER = '%'; +var _DEFAULT_LOCALS_NAME = 'locals'; +var _NAME = 'ejs'; +var _REGEX_STRING = '(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)'; +var _OPTS = ['delimiter', 'scope', 'context', 'debug', 'compileDebug', + 'client', '_with', 'rmWhitespace', 'strict', 'filename']; +// We don't allow 'cache' option to be passed in the data obj +// for the normal `render` call, but this is where Express puts it +// so we make an exception for `renderFile` +var _OPTS_EXPRESS = _OPTS.concat('cache'); +var _BOM = /^\uFEFF/; + +/** + * EJS template function cache. This can be a LRU object from lru-cache NPM + * module. By default, it is {@link module:utils.cache}, a simple in-process + * cache that grows continuously. + * + * @type {Cache} + */ + +exports.cache = utils.cache; + +/** + * Custom file loader. Useful for template preprocessing or restricting access + * to a certain part of the filesystem. + * + * @type {fileLoader} + */ + +exports.fileLoader = fs.readFileSync; + +/** + * Name of the object containing the locals. + * + * This variable is overridden by {@link Options}`.localsName` if it is not + * `undefined`. + * + * @type {String} + * @public + */ + +exports.localsName = _DEFAULT_LOCALS_NAME; + +/** + * Get the path to the included file from the parent file path and the + * specified path. + * + * @param {String} name specified path + * @param {String} filename parent file path + * @param {Boolean} isDir parent file path whether is directory + * @return {String} + */ +exports.resolveInclude = function(name, filename, isDir) { + var dirname = path.dirname; + var extname = path.extname; + var resolve = path.resolve; + var includePath = resolve(isDir ? filename : dirname(filename), name); + var ext = extname(name); + if (!ext) { + includePath += '.ejs'; + } + return includePath; +}; + +/** + * Get the path to the included file by Options + * + * @param {String} path specified path + * @param {Options} options compilation options + * @return {String} + */ +function getIncludePath(path, options) { + var includePath; + var filePath; + var views = options.views; + + // Abs path + if (path.charAt(0) == '/') { + includePath = exports.resolveInclude(path.replace(/^\/*/,''), options.root || '/', true); + } + // Relative paths + else { + // Look relative to a passed filename first + if (options.filename) { + filePath = exports.resolveInclude(path, options.filename); + if (fs.existsSync(filePath)) { + includePath = filePath; + } + } + // Then look in any views directories + if (!includePath) { + if (Array.isArray(views) && views.some(function (v) { + filePath = exports.resolveInclude(path, v, true); + return fs.existsSync(filePath); + })) { + includePath = filePath; + } + } + if (!includePath) { + throw new Error('Could not find include include file.'); + } + } + return includePath; +} + +/** + * Get the template from a string or a file, either compiled on-the-fly or + * read from cache (if enabled), and cache the template if needed. + * + * If `template` is not set, the file specified in `options.filename` will be + * read. + * + * If `options.cache` is true, this function reads the file from + * `options.filename` so it must be set prior to calling this function. + * + * @memberof module:ejs-internal + * @param {Options} options compilation options + * @param {String} [template] template source + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `options.client`, either type might be returned. + * @static + */ + +function handleCache(options, template) { + var func; + var filename = options.filename; + var hasTemplate = arguments.length > 1; + + if (options.cache) { + if (!filename) { + throw new Error('cache option requires a filename'); + } + func = exports.cache.get(filename); + if (func) { + return func; + } + if (!hasTemplate) { + template = fileLoader(filename).toString().replace(_BOM, ''); + } + } + else if (!hasTemplate) { + // istanbul ignore if: should not happen at all + if (!filename) { + throw new Error('Internal EJS error: no file name or template ' + + 'provided'); + } + template = fileLoader(filename).toString().replace(_BOM, ''); + } + func = exports.compile(template, options); + if (options.cache) { + exports.cache.set(filename, func); + } + return func; +} + +/** + * Try calling handleCache with the given options and data and call the + * callback with the result. If an error occurs, call the callback with + * the error. Used by renderFile(). + * + * @memberof module:ejs-internal + * @param {Options} options compilation options + * @param {Object} data template data + * @param {RenderFileCallback} cb callback + * @static + */ + +function tryHandleCache(options, data, cb) { + var result; + try { + result = handleCache(options)(data); + } + catch (err) { + return cb(err); + } + return cb(null, result); +} + +/** + * fileLoader is independent + * + * @param {String} filePath ejs file path. + * @return {String} The contents of the specified file. + * @static + */ + +function fileLoader(filePath){ + return exports.fileLoader(filePath); +} + +/** + * Get the template function. + * + * If `options.cache` is `true`, then the template is cached. + * + * @memberof module:ejs-internal + * @param {String} path path for the specified file + * @param {Options} options compilation options + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `options.client`, either type might be returned + * @static + */ + +function includeFile(path, options) { + var opts = utils.shallowCopy({}, options); + opts.filename = getIncludePath(path, opts); + return handleCache(opts); +} + +/** + * Get the JavaScript source of an included file. + * + * @memberof module:ejs-internal + * @param {String} path path for the specified file + * @param {Options} options compilation options + * @return {Object} + * @static + */ + +function includeSource(path, options) { + var opts = utils.shallowCopy({}, options); + var includePath; + var template; + includePath = getIncludePath(path, opts); + template = fileLoader(includePath).toString().replace(_BOM, ''); + opts.filename = includePath; + var templ = new Template(template, opts); + templ.generateSource(); + return { + source: templ.source, + filename: includePath, + template: template + }; +} + +/** + * Re-throw the given `err` in context to the `str` of ejs, `filename`, and + * `lineno`. + * + * @implements RethrowCallback + * @memberof module:ejs-internal + * @param {Error} err Error object + * @param {String} str EJS source + * @param {String} filename file name of the EJS file + * @param {String} lineno line number of the error + * @static + */ + +function rethrow(err, str, flnm, lineno, esc){ + var lines = str.split('\n'); + var start = Math.max(lineno - 3, 0); + var end = Math.min(lines.length, lineno + 3); + var filename = esc(flnm); // eslint-disable-line + // Error context + var context = lines.slice(start, end).map(function (line, i){ + var curr = i + start + 1; + return (curr == lineno ? ' >> ' : ' ') + + curr + + '| ' + + line; + }).join('\n'); + + // Alter exception message + err.path = filename; + err.message = (filename || 'ejs') + ':' + + lineno + '\n' + + context + '\n\n' + + err.message; + + throw err; +} + +function stripSemi(str){ + return str.replace(/;(\s*$)/, '$1'); +} + +/** + * Compile the given `str` of ejs into a template function. + * + * @param {String} template EJS template + * + * @param {Options} opts compilation options + * + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `opts.client`, either type might be returned. + * @public + */ + +exports.compile = function compile(template, opts) { + var templ; + + // v1 compat + // 'scope' is 'context' + // FIXME: Remove this in a future version + if (opts && opts.scope) { + if (!scopeOptionWarned){ + console.warn('`scope` option is deprecated and will be removed in EJS 3'); + scopeOptionWarned = true; + } + if (!opts.context) { + opts.context = opts.scope; + } + delete opts.scope; + } + templ = new Template(template, opts); + return templ.compile(); +}; + +/** + * Render the given `template` of ejs. + * + * If you would like to include options but not data, you need to explicitly + * call this function with `data` being an empty object or `null`. + * + * @param {String} template EJS template + * @param {Object} [data={}] template data + * @param {Options} [opts={}] compilation and rendering options + * @return {String} + * @public + */ + +exports.render = function (template, d, o) { + var data = d || {}; + var opts = o || {}; + + // No options object -- if there are optiony names + // in the data, copy them to options + if (arguments.length == 2) { + utils.shallowCopyFromList(opts, data, _OPTS); + } + + return handleCache(opts, template)(data); +}; + +/** + * Render an EJS file at the given `path` and callback `cb(err, str)`. + * + * If you would like to include options but not data, you need to explicitly + * call this function with `data` being an empty object or `null`. + * + * @param {String} path path to the EJS file + * @param {Object} [data={}] template data + * @param {Options} [opts={}] compilation and rendering options + * @param {RenderFileCallback} cb callback + * @public + */ + +exports.renderFile = function () { + var filename = arguments[0]; + var cb = arguments[arguments.length - 1]; + var opts = {filename: filename}; + var data; + + if (arguments.length > 2) { + data = arguments[1]; + + // No options object -- if there are optiony names + // in the data, copy them to options + if (arguments.length === 3) { + // Express 4 + if (data.settings) { + if (data.settings['view options']) { + utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS); + } + if (data.settings.views) { + opts.views = data.settings.views; + } + } + // Express 3 and lower + else { + utils.shallowCopyFromList(opts, data, _OPTS_EXPRESS); + } + } + else { + // Use shallowCopy so we don't pollute passed in opts obj with new vals + utils.shallowCopy(opts, arguments[2]); + } + + opts.filename = filename; + } + else { + data = {}; + } + + return tryHandleCache(opts, data, cb); +}; + +/** + * Clear intermediate JavaScript cache. Calls {@link Cache#reset}. + * @public + */ + +exports.clearCache = function () { + exports.cache.reset(); +}; + +function Template(text, opts) { + opts = opts || {}; + var options = {}; + this.templateText = text; + this.mode = null; + this.truncate = false; + this.currentLine = 1; + this.source = ''; + this.dependencies = []; + options.client = opts.client || false; + options.escapeFunction = opts.escape || utils.escapeXML; + options.compileDebug = opts.compileDebug !== false; + options.debug = !!opts.debug; + options.filename = opts.filename; + options.delimiter = opts.delimiter || exports.delimiter || _DEFAULT_DELIMITER; + options.strict = opts.strict || false; + options.context = opts.context; + options.cache = opts.cache || false; + options.rmWhitespace = opts.rmWhitespace; + options.root = opts.root; + options.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME; + options.views = opts.views; + + if (options.strict) { + options._with = false; + } + else { + options._with = typeof opts._with != 'undefined' ? opts._with : true; + } + + this.opts = options; + + this.regex = this.createRegex(); +} + +Template.modes = { + EVAL: 'eval', + ESCAPED: 'escaped', + RAW: 'raw', + COMMENT: 'comment', + LITERAL: 'literal' +}; + +Template.prototype = { + createRegex: function () { + var str = _REGEX_STRING; + var delim = utils.escapeRegExpChars(this.opts.delimiter); + str = str.replace(/%/g, delim); + return new RegExp(str); + }, + + compile: function () { + var src; + var fn; + var opts = this.opts; + var prepended = ''; + var appended = ''; + var escapeFn = opts.escapeFunction; + + if (!this.source) { + this.generateSource(); + prepended += ' var __output = [], __append = __output.push.bind(__output);' + '\n'; + if (opts._with !== false) { + prepended += ' with (' + opts.localsName + ' || {}) {' + '\n'; + appended += ' }' + '\n'; + } + appended += ' return __output.join("");' + '\n'; + this.source = prepended + this.source + appended; + } + + if (opts.compileDebug) { + src = 'var __line = 1' + '\n' + + ' , __lines = ' + JSON.stringify(this.templateText) + '\n' + + ' , __filename = ' + (opts.filename ? + JSON.stringify(opts.filename) : 'undefined') + ';' + '\n' + + 'try {' + '\n' + + this.source + + '} catch (e) {' + '\n' + + ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n' + + '}' + '\n'; + } + else { + src = this.source; + } + + if (opts.client) { + src = 'escapeFn = escapeFn || ' + escapeFn.toString() + ';' + '\n' + src; + if (opts.compileDebug) { + src = 'rethrow = rethrow || ' + rethrow.toString() + ';' + '\n' + src; + } + } + + if (opts.strict) { + src = '"use strict";\n' + src; + } + if (opts.debug) { + console.log(src); + } + + try { + fn = new Function(opts.localsName + ', escapeFn, include, rethrow', src); + } + catch(e) { + // istanbul ignore else + if (e instanceof SyntaxError) { + if (opts.filename) { + e.message += ' in ' + opts.filename; + } + e.message += ' while compiling ejs\n\n'; + e.message += 'If the above error is not helpful, you may want to try EJS-Lint:\n'; + e.message += 'https://github.com/RyanZim/EJS-Lint'; + } + throw e; + } + + if (opts.client) { + fn.dependencies = this.dependencies; + return fn; + } + + // Return a callable function which will execute the function + // created by the source-code, with the passed data as locals + // Adds a local `include` function which allows full recursive include + var returnedFn = function (data) { + var include = function (path, includeData) { + var d = utils.shallowCopy({}, data); + if (includeData) { + d = utils.shallowCopy(d, includeData); + } + return includeFile(path, opts)(d); + }; + return fn.apply(opts.context, [data || {}, escapeFn, include, rethrow]); + }; + returnedFn.dependencies = this.dependencies; + return returnedFn; + }, + + generateSource: function () { + var opts = this.opts; + + if (opts.rmWhitespace) { + // Have to use two separate replace here as `^` and `$` operators don't + // work well with `\r`. + this.templateText = + this.templateText.replace(/\r/g, '').replace(/^\s+|\s+$/gm, ''); + } + + // Slurp spaces and tabs before <%_ and after _%> + this.templateText = + this.templateText.replace(/[ \t]*<%_/gm, '<%_').replace(/_%>[ \t]*/gm, '_%>'); + + var self = this; + var matches = this.parseTemplateText(); + var d = this.opts.delimiter; + + if (matches && matches.length) { + matches.forEach(function (line, index) { + var opening; + var closing; + var include; + var includeOpts; + var includeObj; + var includeSrc; + // If this is an opening tag, check for closing tags + // FIXME: May end up with some false positives here + // Better to store modes as k/v with '<' + delimiter as key + // Then this can simply check against the map + if ( line.indexOf('<' + d) === 0 // If it is a tag + && line.indexOf('<' + d + d) !== 0) { // and is not escaped + closing = matches[index + 2]; + if (!(closing == d + '>' || closing == '-' + d + '>' || closing == '_' + d + '>')) { + throw new Error('Could not find matching close tag for "' + line + '".'); + } + } + // HACK: backward-compat `include` preprocessor directives + if ((include = line.match(/^\s*include\s+(\S+)/))) { + opening = matches[index - 1]; + // Must be in EVAL or RAW mode + if (opening && (opening == '<' + d || opening == '<' + d + '-' || opening == '<' + d + '_')) { + includeOpts = utils.shallowCopy({}, self.opts); + includeObj = includeSource(include[1], includeOpts); + if (self.opts.compileDebug) { + includeSrc = + ' ; (function(){' + '\n' + + ' var __line = 1' + '\n' + + ' , __lines = ' + JSON.stringify(includeObj.template) + '\n' + + ' , __filename = ' + JSON.stringify(includeObj.filename) + ';' + '\n' + + ' try {' + '\n' + + includeObj.source + + ' } catch (e) {' + '\n' + + ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n' + + ' }' + '\n' + + ' ; }).call(this)' + '\n'; + }else{ + includeSrc = ' ; (function(){' + '\n' + includeObj.source + + ' ; }).call(this)' + '\n'; + } + self.source += includeSrc; + self.dependencies.push(exports.resolveInclude(include[1], + includeOpts.filename)); + return; + } + } + self.scanLine(line); + }); + } + + }, + + parseTemplateText: function () { + var str = this.templateText; + var pat = this.regex; + var result = pat.exec(str); + var arr = []; + var firstPos; + + while (result) { + firstPos = result.index; + + if (firstPos !== 0) { + arr.push(str.substring(0, firstPos)); + str = str.slice(firstPos); + } + + arr.push(result[0]); + str = str.slice(result[0].length); + result = pat.exec(str); + } + + if (str) { + arr.push(str); + } + + return arr; + }, + + _addOutput: function (line) { + if (this.truncate) { + // Only replace single leading linebreak in the line after + // -%> tag -- this is the single, trailing linebreak + // after the tag that the truncation mode replaces + // Handle Win / Unix / old Mac linebreaks -- do the \r\n + // combo first in the regex-or + line = line.replace(/^(?:\r\n|\r|\n)/, ''); + this.truncate = false; + } + else if (this.opts.rmWhitespace) { + // rmWhitespace has already removed trailing spaces, just need + // to remove linebreaks + line = line.replace(/^\n/, ''); + } + if (!line) { + return line; + } + + // Preserve literal slashes + line = line.replace(/\\/g, '\\\\'); + + // Convert linebreaks + line = line.replace(/\n/g, '\\n'); + line = line.replace(/\r/g, '\\r'); + + // Escape double-quotes + // - this will be the delimiter during execution + line = line.replace(/"/g, '\\"'); + this.source += ' ; __append("' + line + '")' + '\n'; + }, + + scanLine: function (line) { + var self = this; + var d = this.opts.delimiter; + var newLineCount = 0; + + newLineCount = (line.split('\n').length - 1); + + switch (line) { + case '<' + d: + case '<' + d + '_': + this.mode = Template.modes.EVAL; + break; + case '<' + d + '=': + this.mode = Template.modes.ESCAPED; + break; + case '<' + d + '-': + this.mode = Template.modes.RAW; + break; + case '<' + d + '#': + this.mode = Template.modes.COMMENT; + break; + case '<' + d + d: + this.mode = Template.modes.LITERAL; + this.source += ' ; __append("' + line.replace('<' + d + d, '<' + d) + '")' + '\n'; + break; + case d + d + '>': + this.mode = Template.modes.LITERAL; + this.source += ' ; __append("' + line.replace(d + d + '>', d + '>') + '")' + '\n'; + break; + case d + '>': + case '-' + d + '>': + case '_' + d + '>': + if (this.mode == Template.modes.LITERAL) { + this._addOutput(line); + } + + this.mode = null; + this.truncate = line.indexOf('-') === 0 || line.indexOf('_') === 0; + break; + default: + // In script mode, depends on type of tag + if (this.mode) { + // If '//' is found without a line break, add a line break. + switch (this.mode) { + case Template.modes.EVAL: + case Template.modes.ESCAPED: + case Template.modes.RAW: + if (line.lastIndexOf('//') > line.lastIndexOf('\n')) { + line += '\n'; + } + } + switch (this.mode) { + // Just executing code + case Template.modes.EVAL: + this.source += ' ; ' + line + '\n'; + break; + // Exec, esc, and output + case Template.modes.ESCAPED: + this.source += ' ; __append(escapeFn(' + stripSemi(line) + '))' + '\n'; + break; + // Exec and output + case Template.modes.RAW: + this.source += ' ; __append(' + stripSemi(line) + ')' + '\n'; + break; + case Template.modes.COMMENT: + // Do nothing + break; + // Literal <%% mode, append as raw output + case Template.modes.LITERAL: + this._addOutput(line); + break; + } + } + // In string mode, just add the output + else { + this._addOutput(line); + } + } + + if (self.opts.compileDebug && newLineCount) { + this.currentLine += newLineCount; + this.source += ' ; __line = ' + this.currentLine + '\n'; + } + } +}; + +/** + * Escape characters reserved in XML. + * + * This is simply an export of {@link module:utils.escapeXML}. + * + * If `markup` is `undefined` or `null`, the empty string is returned. + * + * @param {String} markup Input string + * @return {String} Escaped string + * @public + * @func + * */ +exports.escapeXML = utils.escapeXML; + +/** + * Express.js support. + * + * This is an alias for {@link module:ejs.renderFile}, in order to support + * Express.js out-of-the-box. + * + * @func + */ + +exports.__express = exports.renderFile; + +// Add require support +/* istanbul ignore else */ +if (require.extensions) { + require.extensions['.ejs'] = function (module, flnm) { + var filename = flnm || /* istanbul ignore next */ module.filename; + var options = { + filename: filename, + client: true + }; + var template = fileLoader(filename).toString(); + var fn = exports.compile(template, options); + module._compile('module.exports = ' + fn.toString() + ';', filename); + }; +} + +/** + * Version of EJS. + * + * @readonly + * @type {String} + * @public + */ + +exports.VERSION = _VERSION_STRING; + +/** + * Name for detection of EJS. + * + * @readonly + * @type {String} + * @public + */ + +exports.name = _NAME; + +/* istanbul ignore if */ +if (typeof window != 'undefined') { + window.ejs = exports; +} + +},{"../package.json":6,"./utils":2,"fs":3,"path":4}],2:[function(require,module,exports){ +/* + * EJS Embedded JavaScript templates + * Copyright 2112 Matthew Eernisse (mde@fleegix.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +/** + * Private utility functions + * @module utils + * @private + */ + +'use strict'; + +var regExpChars = /[|\\{}()[\]^$+*?.]/g; + +/** + * Escape characters reserved in regular expressions. + * + * If `string` is `undefined` or `null`, the empty string is returned. + * + * @param {String} string Input string + * @return {String} Escaped string + * @static + * @private + */ +exports.escapeRegExpChars = function (string) { + // istanbul ignore if + if (!string) { + return ''; + } + return String(string).replace(regExpChars, '\\$&'); +}; + +var _ENCODE_HTML_RULES = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +var _MATCH_HTML = /[&<>\'"]/g; + +function encode_char(c) { + return _ENCODE_HTML_RULES[c] || c; +} + +/** + * Stringified version of constants used by {@link module:utils.escapeXML}. + * + * It is used in the process of generating {@link ClientFunction}s. + * + * @readonly + * @type {String} + */ + +var escapeFuncStr = + 'var _ENCODE_HTML_RULES = {\n' ++ ' "&": "&"\n' ++ ' , "<": "<"\n' ++ ' , ">": ">"\n' ++ ' , \'"\': """\n' ++ ' , "\'": "'"\n' ++ ' }\n' ++ ' , _MATCH_HTML = /[&<>\'"]/g;\n' ++ 'function encode_char(c) {\n' ++ ' return _ENCODE_HTML_RULES[c] || c;\n' ++ '};\n'; + +/** + * Escape characters reserved in XML. + * + * If `markup` is `undefined` or `null`, the empty string is returned. + * + * @implements {EscapeCallback} + * @param {String} markup Input string + * @return {String} Escaped string + * @static + * @private + */ + +exports.escapeXML = function (markup) { + return markup == undefined + ? '' + : String(markup) + .replace(_MATCH_HTML, encode_char); +}; +exports.escapeXML.toString = function () { + return Function.prototype.toString.call(this) + ';\n' + escapeFuncStr; +}; + +/** + * Naive copy of properties from one object to another. + * Does not recurse into non-scalar properties + * Does not check to see if the property has a value before copying + * + * @param {Object} to Destination object + * @param {Object} from Source object + * @return {Object} Destination object + * @static + * @private + */ +exports.shallowCopy = function (to, from) { + from = from || {}; + for (var p in from) { + to[p] = from[p]; + } + return to; +}; + +/** + * Naive copy of a list of key names, from one object to another. + * Only copies property if it is actually defined + * Does not recurse into non-scalar properties + * + * @param {Object} to Destination object + * @param {Object} from Source object + * @param {Array} list List of properties to copy + * @return {Object} Destination object + * @static + * @private + */ +exports.shallowCopyFromList = function (to, from, list) { + for (var i = 0; i < list.length; i++) { + var p = list[i]; + if (typeof from[p] != 'undefined') { + to[p] = from[p]; + } + } + return to; +}; + +/** + * Simple in-process cache implementation. Does not implement limits of any + * sort. + * + * @implements Cache + * @static + * @private + */ +exports.cache = { + _data: {}, + set: function (key, val) { + this._data[key] = val; + }, + get: function (key) { + return this._data[key]; + }, + reset: function () { + this._data = {}; + } +}; + +},{}],3:[function(require,module,exports){ + +},{}],4:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} + +// Split a filename into [root, dir, basename, ext], unix version +// 'root' is just a slash, or nothing. +var splitPathRe = + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; +var splitPath = function(filename) { + return splitPathRe.exec(filename).slice(1); +}; + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function(path) { + var result = splitPath(path), + root = result[0], + dir = result[1]; + + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + + return root + dir; +}; + + +exports.basename = function(path, ext) { + var f = splitPath(path)[2]; + // TODO: make this comparison case-insensitive on windows? + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + + +exports.extname = function(path) { + return splitPath(path)[3]; +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +}).call(this,require('_process')) +},{"_process":5}],5:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],6:[function(require,module,exports){ +module.exports={ + "name": "ejs", + "description": "Embedded JavaScript templates", + "keywords": [ + "template", + "engine", + "ejs" + ], + "version": "2.5.6", + "author": "Matthew Eernisse <mde@fleegix.org> (http://fleegix.org)", + "contributors": [ + "Timothy Gu <timothygu99@gmail.com> (https://timothygu.github.io)" + ], + "license": "Apache-2.0", + "main": "./lib/ejs.js", + "repository": { + "type": "git", + "url": "git://github.com/mde/ejs.git" + }, + "bugs": "https://github.com/mde/ejs/issues", + "homepage": "https://github.com/mde/ejs", + "dependencies": {}, + "devDependencies": { + "browserify": "^13.0.1", + "eslint": "^3.0.0", + "git-directory-deploy": "^1.5.1", + "istanbul": "~0.4.3", + "jake": "^8.0.0", + "jsdoc": "^3.4.0", + "lru-cache": "^4.0.1", + "mocha": "^3.0.2", + "uglify-js": "^2.6.2" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "jake test", + "lint": "eslint \"**/*.js\" Jakefile", + "coverage": "istanbul cover node_modules/mocha/bin/_mocha", + "doc": "jake doc", + "devdoc": "jake doc[dev]" + } +} + +},{}]},{},[1])(1) +}); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.min.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.min.js new file mode 100755 index 0000000..b8839a9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/ejs.min.js @@ -0,0 +1 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ejs=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var fs=require("fs");var path=require("path");var utils=require("./utils");var scopeOptionWarned=false;var _VERSION_STRING=require("../package.json").version;var _DEFAULT_DELIMITER="%";var _DEFAULT_LOCALS_NAME="locals";var _NAME="ejs";var _REGEX_STRING="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)";var _OPTS=["delimiter","scope","context","debug","compileDebug","client","_with","rmWhitespace","strict","filename"];var _OPTS_EXPRESS=_OPTS.concat("cache");var _BOM=/^\uFEFF/;exports.cache=utils.cache;exports.fileLoader=fs.readFileSync;exports.localsName=_DEFAULT_LOCALS_NAME;exports.resolveInclude=function(name,filename,isDir){var dirname=path.dirname;var extname=path.extname;var resolve=path.resolve;var includePath=resolve(isDir?filename:dirname(filename),name);var ext=extname(name);if(!ext){includePath+=".ejs"}return includePath};function getIncludePath(path,options){var includePath;var filePath;var views=options.views;if(path.charAt(0)=="/"){includePath=exports.resolveInclude(path.replace(/^\/*/,""),options.root||"/",true)}else{if(options.filename){filePath=exports.resolveInclude(path,options.filename);if(fs.existsSync(filePath)){includePath=filePath}}if(!includePath){if(Array.isArray(views)&&views.some(function(v){filePath=exports.resolveInclude(path,v,true);return fs.existsSync(filePath)})){includePath=filePath}}if(!includePath){throw new Error("Could not find include include file.")}}return includePath}function handleCache(options,template){var func;var filename=options.filename;var hasTemplate=arguments.length>1;if(options.cache){if(!filename){throw new Error("cache option requires a filename")}func=exports.cache.get(filename);if(func){return func}if(!hasTemplate){template=fileLoader(filename).toString().replace(_BOM,"")}}else if(!hasTemplate){if(!filename){throw new Error("Internal EJS error: no file name or template "+"provided")}template=fileLoader(filename).toString().replace(_BOM,"")}func=exports.compile(template,options);if(options.cache){exports.cache.set(filename,func)}return func}function tryHandleCache(options,data,cb){var result;try{result=handleCache(options)(data)}catch(err){return cb(err)}return cb(null,result)}function fileLoader(filePath){return exports.fileLoader(filePath)}function includeFile(path,options){var opts=utils.shallowCopy({},options);opts.filename=getIncludePath(path,opts);return handleCache(opts)}function includeSource(path,options){var opts=utils.shallowCopy({},options);var includePath;var template;includePath=getIncludePath(path,opts);template=fileLoader(includePath).toString().replace(_BOM,"");opts.filename=includePath;var templ=new Template(template,opts);templ.generateSource();return{source:templ.source,filename:includePath,template:template}}function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n");var start=Math.max(lineno-3,0);var end=Math.min(lines.length,lineno+3);var filename=esc(flnm);var context=lines.slice(start,end).map(function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line}).join("\n");err.path=filename;err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message;throw err}function stripSemi(str){return str.replace(/;(\s*$)/,"$1")}exports.compile=function compile(template,opts){var templ;if(opts&&opts.scope){if(!scopeOptionWarned){console.warn("`scope` option is deprecated and will be removed in EJS 3");scopeOptionWarned=true}if(!opts.context){opts.context=opts.scope}delete opts.scope}templ=new Template(template,opts);return templ.compile()};exports.render=function(template,d,o){var data=d||{};var opts=o||{};if(arguments.length==2){utils.shallowCopyFromList(opts,data,_OPTS)}return handleCache(opts,template)(data)};exports.renderFile=function(){var filename=arguments[0];var cb=arguments[arguments.length-1];var opts={filename:filename};var data;if(arguments.length>2){data=arguments[1];if(arguments.length===3){if(data.settings){if(data.settings["view options"]){utils.shallowCopyFromList(opts,data.settings["view options"],_OPTS_EXPRESS)}if(data.settings.views){opts.views=data.settings.views}}else{utils.shallowCopyFromList(opts,data,_OPTS_EXPRESS)}}else{utils.shallowCopy(opts,arguments[2])}opts.filename=filename}else{data={}}return tryHandleCache(opts,data,cb)};exports.clearCache=function(){exports.cache.reset()};function Template(text,opts){opts=opts||{};var options={};this.templateText=text;this.mode=null;this.truncate=false;this.currentLine=1;this.source="";this.dependencies=[];options.client=opts.client||false;options.escapeFunction=opts.escape||utils.escapeXML;options.compileDebug=opts.compileDebug!==false;options.debug=!!opts.debug;options.filename=opts.filename;options.delimiter=opts.delimiter||exports.delimiter||_DEFAULT_DELIMITER;options.strict=opts.strict||false;options.context=opts.context;options.cache=opts.cache||false;options.rmWhitespace=opts.rmWhitespace;options.root=opts.root;options.localsName=opts.localsName||exports.localsName||_DEFAULT_LOCALS_NAME;options.views=opts.views;if(options.strict){options._with=false}else{options._with=typeof opts._with!="undefined"?opts._with:true}this.opts=options;this.regex=this.createRegex()}Template.modes={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"};Template.prototype={createRegex:function(){var str=_REGEX_STRING;var delim=utils.escapeRegExpChars(this.opts.delimiter);str=str.replace(/%/g,delim);return new RegExp(str)},compile:function(){var src;var fn;var opts=this.opts;var prepended="";var appended="";var escapeFn=opts.escapeFunction;if(!this.source){this.generateSource();prepended+=" var __output = [], __append = __output.push.bind(__output);"+"\n";if(opts._with!==false){prepended+=" with ("+opts.localsName+" || {}) {"+"\n";appended+=" }"+"\n"}appended+=' return __output.join("");'+"\n";this.source=prepended+this.source+appended}if(opts.compileDebug){src="var __line = 1"+"\n"+" , __lines = "+JSON.stringify(this.templateText)+"\n"+" , __filename = "+(opts.filename?JSON.stringify(opts.filename):"undefined")+";"+"\n"+"try {"+"\n"+this.source+"} catch (e) {"+"\n"+" rethrow(e, __lines, __filename, __line, escapeFn);"+"\n"+"}"+"\n"}else{src=this.source}if(opts.client){src="escapeFn = escapeFn || "+escapeFn.toString()+";"+"\n"+src;if(opts.compileDebug){src="rethrow = rethrow || "+rethrow.toString()+";"+"\n"+src}}if(opts.strict){src='"use strict";\n'+src}if(opts.debug){console.log(src)}try{fn=new Function(opts.localsName+", escapeFn, include, rethrow",src)}catch(e){if(e instanceof SyntaxError){if(opts.filename){e.message+=" in "+opts.filename}e.message+=" while compiling ejs\n\n";e.message+="If the above error is not helpful, you may want to try EJS-Lint:\n";e.message+="https://github.com/RyanZim/EJS-Lint"}throw e}if(opts.client){fn.dependencies=this.dependencies;return fn}var returnedFn=function(data){var include=function(path,includeData){var d=utils.shallowCopy({},data);if(includeData){d=utils.shallowCopy(d,includeData)}return includeFile(path,opts)(d)};return fn.apply(opts.context,[data||{},escapeFn,include,rethrow])};returnedFn.dependencies=this.dependencies;return returnedFn},generateSource:function(){var opts=this.opts;if(opts.rmWhitespace){this.templateText=this.templateText.replace(/\r/g,"").replace(/^\s+|\s+$/gm,"")}this.templateText=this.templateText.replace(/[ \t]*<%_/gm,"<%_").replace(/_%>[ \t]*/gm,"_%>");var self=this;var matches=this.parseTemplateText();var d=this.opts.delimiter;if(matches&&matches.length){matches.forEach(function(line,index){var opening;var closing;var include;var includeOpts;var includeObj;var includeSrc;if(line.indexOf("<"+d)===0&&line.indexOf("<"+d+d)!==0){closing=matches[index+2];if(!(closing==d+">"||closing=="-"+d+">"||closing=="_"+d+">")){throw new Error('Could not find matching close tag for "'+line+'".')}}if(include=line.match(/^\s*include\s+(\S+)/)){opening=matches[index-1];if(opening&&(opening=="<"+d||opening=="<"+d+"-"||opening=="<"+d+"_")){includeOpts=utils.shallowCopy({},self.opts);includeObj=includeSource(include[1],includeOpts);if(self.opts.compileDebug){includeSrc=" ; (function(){"+"\n"+" var __line = 1"+"\n"+" , __lines = "+JSON.stringify(includeObj.template)+"\n"+" , __filename = "+JSON.stringify(includeObj.filename)+";"+"\n"+" try {"+"\n"+includeObj.source+" } catch (e) {"+"\n"+" rethrow(e, __lines, __filename, __line, escapeFn);"+"\n"+" }"+"\n"+" ; }).call(this)"+"\n"}else{includeSrc=" ; (function(){"+"\n"+includeObj.source+" ; }).call(this)"+"\n"}self.source+=includeSrc;self.dependencies.push(exports.resolveInclude(include[1],includeOpts.filename));return}}self.scanLine(line)})}},parseTemplateText:function(){var str=this.templateText;var pat=this.regex;var result=pat.exec(str);var arr=[];var firstPos;while(result){firstPos=result.index;if(firstPos!==0){arr.push(str.substring(0,firstPos));str=str.slice(firstPos)}arr.push(result[0]);str=str.slice(result[0].length);result=pat.exec(str)}if(str){arr.push(str)}return arr},_addOutput:function(line){if(this.truncate){line=line.replace(/^(?:\r\n|\r|\n)/,"");this.truncate=false}else if(this.opts.rmWhitespace){line=line.replace(/^\n/,"")}if(!line){return line}line=line.replace(/\\/g,"\\\\");line=line.replace(/\n/g,"\\n");line=line.replace(/\r/g,"\\r");line=line.replace(/"/g,'\\"');this.source+=' ; __append("'+line+'")'+"\n"},scanLine:function(line){var self=this;var d=this.opts.delimiter;var newLineCount=0;newLineCount=line.split("\n").length-1;switch(line){case"<"+d:case"<"+d+"_":this.mode=Template.modes.EVAL;break;case"<"+d+"=":this.mode=Template.modes.ESCAPED;break;case"<"+d+"-":this.mode=Template.modes.RAW;break;case"<"+d+"#":this.mode=Template.modes.COMMENT;break;case"<"+d+d:this.mode=Template.modes.LITERAL;this.source+=' ; __append("'+line.replace("<"+d+d,"<"+d)+'")'+"\n";break;case d+d+">":this.mode=Template.modes.LITERAL;this.source+=' ; __append("'+line.replace(d+d+">",d+">")+'")'+"\n";break;case d+">":case"-"+d+">":case"_"+d+">":if(this.mode==Template.modes.LITERAL){this._addOutput(line)}this.mode=null;this.truncate=line.indexOf("-")===0||line.indexOf("_")===0;break;default:if(this.mode){switch(this.mode){case Template.modes.EVAL:case Template.modes.ESCAPED:case Template.modes.RAW:if(line.lastIndexOf("//")>line.lastIndexOf("\n")){line+="\n"}}switch(this.mode){case Template.modes.EVAL:this.source+=" ; "+line+"\n";break;case Template.modes.ESCAPED:this.source+=" ; __append(escapeFn("+stripSemi(line)+"))"+"\n";break;case Template.modes.RAW:this.source+=" ; __append("+stripSemi(line)+")"+"\n";break;case Template.modes.COMMENT:break;case Template.modes.LITERAL:this._addOutput(line);break}}else{this._addOutput(line)}}if(self.opts.compileDebug&&newLineCount){this.currentLine+=newLineCount;this.source+=" ; __line = "+this.currentLine+"\n"}}};exports.escapeXML=utils.escapeXML;exports.__express=exports.renderFile;if(require.extensions){require.extensions[".ejs"]=function(module,flnm){var filename=flnm||module.filename;var options={filename:filename,client:true};var template=fileLoader(filename).toString();var fn=exports.compile(template,options);module._compile("module.exports = "+fn.toString()+";",filename)}}exports.VERSION=_VERSION_STRING;exports.name=_NAME;if(typeof window!="undefined"){window.ejs=exports}},{"../package.json":6,"./utils":2,fs:3,path:4}],2:[function(require,module,exports){"use strict";var regExpChars=/[|\\{}()[\]^$+*?.]/g;exports.escapeRegExpChars=function(string){if(!string){return""}return String(string).replace(regExpChars,"\\$&")};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"};var _MATCH_HTML=/[&<>\'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var escapeFuncStr="var _ENCODE_HTML_RULES = {\n"+' "&": "&"\n'+' , "<": "<"\n'+' , ">": ">"\n'+' , \'"\': """\n'+' , "\'": "'"\n'+" }\n"+" , _MATCH_HTML = /[&<>'\"]/g;\n"+"function encode_char(c) {\n"+" return _ENCODE_HTML_RULES[c] || c;\n"+"};\n";exports.escapeXML=function(markup){return markup==undefined?"":String(markup).replace(_MATCH_HTML,encode_char)};exports.escapeXML.toString=function(){return Function.prototype.toString.call(this)+";\n"+escapeFuncStr};exports.shallowCopy=function(to,from){from=from||{};for(var p in from){to[p]=from[p]}return to};exports.shallowCopyFromList=function(to,from,list){for(var i=0;i<list.length;i++){var p=list[i];if(typeof from[p]!="undefined"){to[p]=from[p]}}return to};exports.cache={_data:{},set:function(key,val){this._data[key]=val},get:function(key){return this._data[key]},reset:function(){this._data={}}}},{}],3:[function(require,module,exports){},{}],4:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir};exports.basename=function(path,ext){var f=splitPath(path)[2];if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){return splitPath(path)[3]};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i])}return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len)}}).call(this,require("_process"))},{_process:5}],5:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},{}],6:[function(require,module,exports){module.exports={name:"ejs",description:"Embedded JavaScript templates",keywords:["template","engine","ejs"],version:"2.5.6",author:"Matthew Eernisse <mde@fleegix.org> (http://fleegix.org)",contributors:["Timothy Gu <timothygu99@gmail.com> (https://timothygu.github.io)"],license:"Apache-2.0",main:"./lib/ejs.js",repository:{type:"git",url:"git://github.com/mde/ejs.git"},bugs:"https://github.com/mde/ejs/issues",homepage:"https://github.com/mde/ejs",dependencies:{},devDependencies:{browserify:"^13.0.1",eslint:"^3.0.0","git-directory-deploy":"^1.5.1",istanbul:"~0.4.3",jake:"^8.0.0",jsdoc:"^3.4.0","lru-cache":"^4.0.1",mocha:"^3.0.2","uglify-js":"^2.6.2"},engines:{node:">=0.10.0"},scripts:{test:"jake test",lint:'eslint "**/*.js" Jakefile',coverage:"istanbul cover node_modules/mocha/bin/_mocha",doc:"jake doc",devdoc:"jake doc[dev]"}}},{}]},{},[1])(1)}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/ejs.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/ejs.js new file mode 100755 index 0000000..9973dcd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/ejs.js @@ -0,0 +1,866 @@ +/* + * EJS Embedded JavaScript templates + * Copyright 2112 Matthew Eernisse (mde@fleegix.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +'use strict'; + +/** + * @file Embedded JavaScript templating engine. {@link http://ejs.co} + * @author Matthew Eernisse <mde@fleegix.org> + * @author Tiancheng "Timothy" Gu <timothygu99@gmail.com> + * @project EJS + * @license {@link http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0} + */ + +/** + * EJS internal functions. + * + * Technically this "module" lies in the same file as {@link module:ejs}, for + * the sake of organization all the private functions re grouped into this + * module. + * + * @module ejs-internal + * @private + */ + +/** + * Embedded JavaScript templating engine. + * + * @module ejs + * @public + */ + +var fs = require('fs'); +var path = require('path'); +var utils = require('./utils'); + +var scopeOptionWarned = false; +var _VERSION_STRING = require('../package.json').version; +var _DEFAULT_DELIMITER = '%'; +var _DEFAULT_LOCALS_NAME = 'locals'; +var _NAME = 'ejs'; +var _REGEX_STRING = '(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)'; +var _OPTS = ['delimiter', 'scope', 'context', 'debug', 'compileDebug', + 'client', '_with', 'rmWhitespace', 'strict', 'filename']; +// We don't allow 'cache' option to be passed in the data obj +// for the normal `render` call, but this is where Express puts it +// so we make an exception for `renderFile` +var _OPTS_EXPRESS = _OPTS.concat('cache'); +var _BOM = /^\uFEFF/; + +/** + * EJS template function cache. This can be a LRU object from lru-cache NPM + * module. By default, it is {@link module:utils.cache}, a simple in-process + * cache that grows continuously. + * + * @type {Cache} + */ + +exports.cache = utils.cache; + +/** + * Custom file loader. Useful for template preprocessing or restricting access + * to a certain part of the filesystem. + * + * @type {fileLoader} + */ + +exports.fileLoader = fs.readFileSync; + +/** + * Name of the object containing the locals. + * + * This variable is overridden by {@link Options}`.localsName` if it is not + * `undefined`. + * + * @type {String} + * @public + */ + +exports.localsName = _DEFAULT_LOCALS_NAME; + +/** + * Get the path to the included file from the parent file path and the + * specified path. + * + * @param {String} name specified path + * @param {String} filename parent file path + * @param {Boolean} isDir parent file path whether is directory + * @return {String} + */ +exports.resolveInclude = function(name, filename, isDir) { + var dirname = path.dirname; + var extname = path.extname; + var resolve = path.resolve; + var includePath = resolve(isDir ? filename : dirname(filename), name); + var ext = extname(name); + if (!ext) { + includePath += '.ejs'; + } + return includePath; +}; + +/** + * Get the path to the included file by Options + * + * @param {String} path specified path + * @param {Options} options compilation options + * @return {String} + */ +function getIncludePath(path, options) { + var includePath; + var filePath; + var views = options.views; + + // Abs path + if (path.charAt(0) == '/') { + includePath = exports.resolveInclude(path.replace(/^\/*/,''), options.root || '/', true); + } + // Relative paths + else { + // Look relative to a passed filename first + if (options.filename) { + filePath = exports.resolveInclude(path, options.filename); + if (fs.existsSync(filePath)) { + includePath = filePath; + } + } + // Then look in any views directories + if (!includePath) { + if (Array.isArray(views) && views.some(function (v) { + filePath = exports.resolveInclude(path, v, true); + return fs.existsSync(filePath); + })) { + includePath = filePath; + } + } + if (!includePath) { + throw new Error('Could not find include include file.'); + } + } + return includePath; +} + +/** + * Get the template from a string or a file, either compiled on-the-fly or + * read from cache (if enabled), and cache the template if needed. + * + * If `template` is not set, the file specified in `options.filename` will be + * read. + * + * If `options.cache` is true, this function reads the file from + * `options.filename` so it must be set prior to calling this function. + * + * @memberof module:ejs-internal + * @param {Options} options compilation options + * @param {String} [template] template source + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `options.client`, either type might be returned. + * @static + */ + +function handleCache(options, template) { + var func; + var filename = options.filename; + var hasTemplate = arguments.length > 1; + + if (options.cache) { + if (!filename) { + throw new Error('cache option requires a filename'); + } + func = exports.cache.get(filename); + if (func) { + return func; + } + if (!hasTemplate) { + template = fileLoader(filename).toString().replace(_BOM, ''); + } + } + else if (!hasTemplate) { + // istanbul ignore if: should not happen at all + if (!filename) { + throw new Error('Internal EJS error: no file name or template ' + + 'provided'); + } + template = fileLoader(filename).toString().replace(_BOM, ''); + } + func = exports.compile(template, options); + if (options.cache) { + exports.cache.set(filename, func); + } + return func; +} + +/** + * Try calling handleCache with the given options and data and call the + * callback with the result. If an error occurs, call the callback with + * the error. Used by renderFile(). + * + * @memberof module:ejs-internal + * @param {Options} options compilation options + * @param {Object} data template data + * @param {RenderFileCallback} cb callback + * @static + */ + +function tryHandleCache(options, data, cb) { + var result; + try { + result = handleCache(options)(data); + } + catch (err) { + return cb(err); + } + return cb(null, result); +} + +/** + * fileLoader is independent + * + * @param {String} filePath ejs file path. + * @return {String} The contents of the specified file. + * @static + */ + +function fileLoader(filePath){ + return exports.fileLoader(filePath); +} + +/** + * Get the template function. + * + * If `options.cache` is `true`, then the template is cached. + * + * @memberof module:ejs-internal + * @param {String} path path for the specified file + * @param {Options} options compilation options + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `options.client`, either type might be returned + * @static + */ + +function includeFile(path, options) { + var opts = utils.shallowCopy({}, options); + opts.filename = getIncludePath(path, opts); + return handleCache(opts); +} + +/** + * Get the JavaScript source of an included file. + * + * @memberof module:ejs-internal + * @param {String} path path for the specified file + * @param {Options} options compilation options + * @return {Object} + * @static + */ + +function includeSource(path, options) { + var opts = utils.shallowCopy({}, options); + var includePath; + var template; + includePath = getIncludePath(path, opts); + template = fileLoader(includePath).toString().replace(_BOM, ''); + opts.filename = includePath; + var templ = new Template(template, opts); + templ.generateSource(); + return { + source: templ.source, + filename: includePath, + template: template + }; +} + +/** + * Re-throw the given `err` in context to the `str` of ejs, `filename`, and + * `lineno`. + * + * @implements RethrowCallback + * @memberof module:ejs-internal + * @param {Error} err Error object + * @param {String} str EJS source + * @param {String} filename file name of the EJS file + * @param {String} lineno line number of the error + * @static + */ + +function rethrow(err, str, flnm, lineno, esc){ + var lines = str.split('\n'); + var start = Math.max(lineno - 3, 0); + var end = Math.min(lines.length, lineno + 3); + var filename = esc(flnm); // eslint-disable-line + // Error context + var context = lines.slice(start, end).map(function (line, i){ + var curr = i + start + 1; + return (curr == lineno ? ' >> ' : ' ') + + curr + + '| ' + + line; + }).join('\n'); + + // Alter exception message + err.path = filename; + err.message = (filename || 'ejs') + ':' + + lineno + '\n' + + context + '\n\n' + + err.message; + + throw err; +} + +function stripSemi(str){ + return str.replace(/;(\s*$)/, '$1'); +} + +/** + * Compile the given `str` of ejs into a template function. + * + * @param {String} template EJS template + * + * @param {Options} opts compilation options + * + * @return {(TemplateFunction|ClientFunction)} + * Depending on the value of `opts.client`, either type might be returned. + * @public + */ + +exports.compile = function compile(template, opts) { + var templ; + + // v1 compat + // 'scope' is 'context' + // FIXME: Remove this in a future version + if (opts && opts.scope) { + if (!scopeOptionWarned){ + console.warn('`scope` option is deprecated and will be removed in EJS 3'); + scopeOptionWarned = true; + } + if (!opts.context) { + opts.context = opts.scope; + } + delete opts.scope; + } + templ = new Template(template, opts); + return templ.compile(); +}; + +/** + * Render the given `template` of ejs. + * + * If you would like to include options but not data, you need to explicitly + * call this function with `data` being an empty object or `null`. + * + * @param {String} template EJS template + * @param {Object} [data={}] template data + * @param {Options} [opts={}] compilation and rendering options + * @return {String} + * @public + */ + +exports.render = function (template, d, o) { + var data = d || {}; + var opts = o || {}; + + // No options object -- if there are optiony names + // in the data, copy them to options + if (arguments.length == 2) { + utils.shallowCopyFromList(opts, data, _OPTS); + } + + return handleCache(opts, template)(data); +}; + +/** + * Render an EJS file at the given `path` and callback `cb(err, str)`. + * + * If you would like to include options but not data, you need to explicitly + * call this function with `data` being an empty object or `null`. + * + * @param {String} path path to the EJS file + * @param {Object} [data={}] template data + * @param {Options} [opts={}] compilation and rendering options + * @param {RenderFileCallback} cb callback + * @public + */ + +exports.renderFile = function () { + var filename = arguments[0]; + var cb = arguments[arguments.length - 1]; + var opts = {filename: filename}; + var data; + + if (arguments.length > 2) { + data = arguments[1]; + + // No options object -- if there are optiony names + // in the data, copy them to options + if (arguments.length === 3) { + // Express 4 + if (data.settings) { + if (data.settings['view options']) { + utils.shallowCopyFromList(opts, data.settings['view options'], _OPTS_EXPRESS); + } + if (data.settings.views) { + opts.views = data.settings.views; + } + } + // Express 3 and lower + else { + utils.shallowCopyFromList(opts, data, _OPTS_EXPRESS); + } + } + else { + // Use shallowCopy so we don't pollute passed in opts obj with new vals + utils.shallowCopy(opts, arguments[2]); + } + + opts.filename = filename; + } + else { + data = {}; + } + + return tryHandleCache(opts, data, cb); +}; + +/** + * Clear intermediate JavaScript cache. Calls {@link Cache#reset}. + * @public + */ + +exports.clearCache = function () { + exports.cache.reset(); +}; + +function Template(text, opts) { + opts = opts || {}; + var options = {}; + this.templateText = text; + this.mode = null; + this.truncate = false; + this.currentLine = 1; + this.source = ''; + this.dependencies = []; + options.client = opts.client || false; + options.escapeFunction = opts.escape || utils.escapeXML; + options.compileDebug = opts.compileDebug !== false; + options.debug = !!opts.debug; + options.filename = opts.filename; + options.delimiter = opts.delimiter || exports.delimiter || _DEFAULT_DELIMITER; + options.strict = opts.strict || false; + options.context = opts.context; + options.cache = opts.cache || false; + options.rmWhitespace = opts.rmWhitespace; + options.root = opts.root; + options.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME; + options.views = opts.views; + + if (options.strict) { + options._with = false; + } + else { + options._with = typeof opts._with != 'undefined' ? opts._with : true; + } + + this.opts = options; + + this.regex = this.createRegex(); +} + +Template.modes = { + EVAL: 'eval', + ESCAPED: 'escaped', + RAW: 'raw', + COMMENT: 'comment', + LITERAL: 'literal' +}; + +Template.prototype = { + createRegex: function () { + var str = _REGEX_STRING; + var delim = utils.escapeRegExpChars(this.opts.delimiter); + str = str.replace(/%/g, delim); + return new RegExp(str); + }, + + compile: function () { + var src; + var fn; + var opts = this.opts; + var prepended = ''; + var appended = ''; + var escapeFn = opts.escapeFunction; + + if (!this.source) { + this.generateSource(); + prepended += ' var __output = [], __append = __output.push.bind(__output);' + '\n'; + if (opts._with !== false) { + prepended += ' with (' + opts.localsName + ' || {}) {' + '\n'; + appended += ' }' + '\n'; + } + appended += ' return __output.join("");' + '\n'; + this.source = prepended + this.source + appended; + } + + if (opts.compileDebug) { + src = 'var __line = 1' + '\n' + + ' , __lines = ' + JSON.stringify(this.templateText) + '\n' + + ' , __filename = ' + (opts.filename ? + JSON.stringify(opts.filename) : 'undefined') + ';' + '\n' + + 'try {' + '\n' + + this.source + + '} catch (e) {' + '\n' + + ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n' + + '}' + '\n'; + } + else { + src = this.source; + } + + if (opts.client) { + src = 'escapeFn = escapeFn || ' + escapeFn.toString() + ';' + '\n' + src; + if (opts.compileDebug) { + src = 'rethrow = rethrow || ' + rethrow.toString() + ';' + '\n' + src; + } + } + + if (opts.strict) { + src = '"use strict";\n' + src; + } + if (opts.debug) { + console.log(src); + } + + try { + fn = new Function(opts.localsName + ', escapeFn, include, rethrow', src); + } + catch(e) { + // istanbul ignore else + if (e instanceof SyntaxError) { + if (opts.filename) { + e.message += ' in ' + opts.filename; + } + e.message += ' while compiling ejs\n\n'; + e.message += 'If the above error is not helpful, you may want to try EJS-Lint:\n'; + e.message += 'https://github.com/RyanZim/EJS-Lint'; + } + throw e; + } + + if (opts.client) { + fn.dependencies = this.dependencies; + return fn; + } + + // Return a callable function which will execute the function + // created by the source-code, with the passed data as locals + // Adds a local `include` function which allows full recursive include + var returnedFn = function (data) { + var include = function (path, includeData) { + var d = utils.shallowCopy({}, data); + if (includeData) { + d = utils.shallowCopy(d, includeData); + } + return includeFile(path, opts)(d); + }; + return fn.apply(opts.context, [data || {}, escapeFn, include, rethrow]); + }; + returnedFn.dependencies = this.dependencies; + return returnedFn; + }, + + generateSource: function () { + var opts = this.opts; + + if (opts.rmWhitespace) { + // Have to use two separate replace here as `^` and `$` operators don't + // work well with `\r`. + this.templateText = + this.templateText.replace(/\r/g, '').replace(/^\s+|\s+$/gm, ''); + } + + // Slurp spaces and tabs before <%_ and after _%> + this.templateText = + this.templateText.replace(/[ \t]*<%_/gm, '<%_').replace(/_%>[ \t]*/gm, '_%>'); + + var self = this; + var matches = this.parseTemplateText(); + var d = this.opts.delimiter; + + if (matches && matches.length) { + matches.forEach(function (line, index) { + var opening; + var closing; + var include; + var includeOpts; + var includeObj; + var includeSrc; + // If this is an opening tag, check for closing tags + // FIXME: May end up with some false positives here + // Better to store modes as k/v with '<' + delimiter as key + // Then this can simply check against the map + if ( line.indexOf('<' + d) === 0 // If it is a tag + && line.indexOf('<' + d + d) !== 0) { // and is not escaped + closing = matches[index + 2]; + if (!(closing == d + '>' || closing == '-' + d + '>' || closing == '_' + d + '>')) { + throw new Error('Could not find matching close tag for "' + line + '".'); + } + } + // HACK: backward-compat `include` preprocessor directives + if ((include = line.match(/^\s*include\s+(\S+)/))) { + opening = matches[index - 1]; + // Must be in EVAL or RAW mode + if (opening && (opening == '<' + d || opening == '<' + d + '-' || opening == '<' + d + '_')) { + includeOpts = utils.shallowCopy({}, self.opts); + includeObj = includeSource(include[1], includeOpts); + if (self.opts.compileDebug) { + includeSrc = + ' ; (function(){' + '\n' + + ' var __line = 1' + '\n' + + ' , __lines = ' + JSON.stringify(includeObj.template) + '\n' + + ' , __filename = ' + JSON.stringify(includeObj.filename) + ';' + '\n' + + ' try {' + '\n' + + includeObj.source + + ' } catch (e) {' + '\n' + + ' rethrow(e, __lines, __filename, __line, escapeFn);' + '\n' + + ' }' + '\n' + + ' ; }).call(this)' + '\n'; + }else{ + includeSrc = ' ; (function(){' + '\n' + includeObj.source + + ' ; }).call(this)' + '\n'; + } + self.source += includeSrc; + self.dependencies.push(exports.resolveInclude(include[1], + includeOpts.filename)); + return; + } + } + self.scanLine(line); + }); + } + + }, + + parseTemplateText: function () { + var str = this.templateText; + var pat = this.regex; + var result = pat.exec(str); + var arr = []; + var firstPos; + + while (result) { + firstPos = result.index; + + if (firstPos !== 0) { + arr.push(str.substring(0, firstPos)); + str = str.slice(firstPos); + } + + arr.push(result[0]); + str = str.slice(result[0].length); + result = pat.exec(str); + } + + if (str) { + arr.push(str); + } + + return arr; + }, + + _addOutput: function (line) { + if (this.truncate) { + // Only replace single leading linebreak in the line after + // -%> tag -- this is the single, trailing linebreak + // after the tag that the truncation mode replaces + // Handle Win / Unix / old Mac linebreaks -- do the \r\n + // combo first in the regex-or + line = line.replace(/^(?:\r\n|\r|\n)/, ''); + this.truncate = false; + } + else if (this.opts.rmWhitespace) { + // rmWhitespace has already removed trailing spaces, just need + // to remove linebreaks + line = line.replace(/^\n/, ''); + } + if (!line) { + return line; + } + + // Preserve literal slashes + line = line.replace(/\\/g, '\\\\'); + + // Convert linebreaks + line = line.replace(/\n/g, '\\n'); + line = line.replace(/\r/g, '\\r'); + + // Escape double-quotes + // - this will be the delimiter during execution + line = line.replace(/"/g, '\\"'); + this.source += ' ; __append("' + line + '")' + '\n'; + }, + + scanLine: function (line) { + var self = this; + var d = this.opts.delimiter; + var newLineCount = 0; + + newLineCount = (line.split('\n').length - 1); + + switch (line) { + case '<' + d: + case '<' + d + '_': + this.mode = Template.modes.EVAL; + break; + case '<' + d + '=': + this.mode = Template.modes.ESCAPED; + break; + case '<' + d + '-': + this.mode = Template.modes.RAW; + break; + case '<' + d + '#': + this.mode = Template.modes.COMMENT; + break; + case '<' + d + d: + this.mode = Template.modes.LITERAL; + this.source += ' ; __append("' + line.replace('<' + d + d, '<' + d) + '")' + '\n'; + break; + case d + d + '>': + this.mode = Template.modes.LITERAL; + this.source += ' ; __append("' + line.replace(d + d + '>', d + '>') + '")' + '\n'; + break; + case d + '>': + case '-' + d + '>': + case '_' + d + '>': + if (this.mode == Template.modes.LITERAL) { + this._addOutput(line); + } + + this.mode = null; + this.truncate = line.indexOf('-') === 0 || line.indexOf('_') === 0; + break; + default: + // In script mode, depends on type of tag + if (this.mode) { + // If '//' is found without a line break, add a line break. + switch (this.mode) { + case Template.modes.EVAL: + case Template.modes.ESCAPED: + case Template.modes.RAW: + if (line.lastIndexOf('//') > line.lastIndexOf('\n')) { + line += '\n'; + } + } + switch (this.mode) { + // Just executing code + case Template.modes.EVAL: + this.source += ' ; ' + line + '\n'; + break; + // Exec, esc, and output + case Template.modes.ESCAPED: + this.source += ' ; __append(escapeFn(' + stripSemi(line) + '))' + '\n'; + break; + // Exec and output + case Template.modes.RAW: + this.source += ' ; __append(' + stripSemi(line) + ')' + '\n'; + break; + case Template.modes.COMMENT: + // Do nothing + break; + // Literal <%% mode, append as raw output + case Template.modes.LITERAL: + this._addOutput(line); + break; + } + } + // In string mode, just add the output + else { + this._addOutput(line); + } + } + + if (self.opts.compileDebug && newLineCount) { + this.currentLine += newLineCount; + this.source += ' ; __line = ' + this.currentLine + '\n'; + } + } +}; + +/** + * Escape characters reserved in XML. + * + * This is simply an export of {@link module:utils.escapeXML}. + * + * If `markup` is `undefined` or `null`, the empty string is returned. + * + * @param {String} markup Input string + * @return {String} Escaped string + * @public + * @func + * */ +exports.escapeXML = utils.escapeXML; + +/** + * Express.js support. + * + * This is an alias for {@link module:ejs.renderFile}, in order to support + * Express.js out-of-the-box. + * + * @func + */ + +exports.__express = exports.renderFile; + +// Add require support +/* istanbul ignore else */ +if (require.extensions) { + require.extensions['.ejs'] = function (module, flnm) { + var filename = flnm || /* istanbul ignore next */ module.filename; + var options = { + filename: filename, + client: true + }; + var template = fileLoader(filename).toString(); + var fn = exports.compile(template, options); + module._compile('module.exports = ' + fn.toString() + ';', filename); + }; +} + +/** + * Version of EJS. + * + * @readonly + * @type {String} + * @public + */ + +exports.VERSION = _VERSION_STRING; + +/** + * Name for detection of EJS. + * + * @readonly + * @type {String} + * @public + */ + +exports.name = _NAME; + +/* istanbul ignore if */ +if (typeof window != 'undefined') { + window.ejs = exports; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/utils.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/utils.js new file mode 100755 index 0000000..1b539da --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/lib/utils.js @@ -0,0 +1,164 @@ +/* + * EJS Embedded JavaScript templates + * Copyright 2112 Matthew Eernisse (mde@fleegix.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +/** + * Private utility functions + * @module utils + * @private + */ + +'use strict'; + +var regExpChars = /[|\\{}()[\]^$+*?.]/g; + +/** + * Escape characters reserved in regular expressions. + * + * If `string` is `undefined` or `null`, the empty string is returned. + * + * @param {String} string Input string + * @return {String} Escaped string + * @static + * @private + */ +exports.escapeRegExpChars = function (string) { + // istanbul ignore if + if (!string) { + return ''; + } + return String(string).replace(regExpChars, '\\$&'); +}; + +var _ENCODE_HTML_RULES = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +var _MATCH_HTML = /[&<>\'"]/g; + +function encode_char(c) { + return _ENCODE_HTML_RULES[c] || c; +} + +/** + * Stringified version of constants used by {@link module:utils.escapeXML}. + * + * It is used in the process of generating {@link ClientFunction}s. + * + * @readonly + * @type {String} + */ + +var escapeFuncStr = + 'var _ENCODE_HTML_RULES = {\n' ++ ' "&": "&"\n' ++ ' , "<": "<"\n' ++ ' , ">": ">"\n' ++ ' , \'"\': """\n' ++ ' , "\'": "'"\n' ++ ' }\n' ++ ' , _MATCH_HTML = /[&<>\'"]/g;\n' ++ 'function encode_char(c) {\n' ++ ' return _ENCODE_HTML_RULES[c] || c;\n' ++ '};\n'; + +/** + * Escape characters reserved in XML. + * + * If `markup` is `undefined` or `null`, the empty string is returned. + * + * @implements {EscapeCallback} + * @param {String} markup Input string + * @return {String} Escaped string + * @static + * @private + */ + +exports.escapeXML = function (markup) { + return markup == undefined + ? '' + : String(markup) + .replace(_MATCH_HTML, encode_char); +}; +exports.escapeXML.toString = function () { + return Function.prototype.toString.call(this) + ';\n' + escapeFuncStr; +}; + +/** + * Naive copy of properties from one object to another. + * Does not recurse into non-scalar properties + * Does not check to see if the property has a value before copying + * + * @param {Object} to Destination object + * @param {Object} from Source object + * @return {Object} Destination object + * @static + * @private + */ +exports.shallowCopy = function (to, from) { + from = from || {}; + for (var p in from) { + to[p] = from[p]; + } + return to; +}; + +/** + * Naive copy of a list of key names, from one object to another. + * Only copies property if it is actually defined + * Does not recurse into non-scalar properties + * + * @param {Object} to Destination object + * @param {Object} from Source object + * @param {Array} list List of properties to copy + * @return {Object} Destination object + * @static + * @private + */ +exports.shallowCopyFromList = function (to, from, list) { + for (var i = 0; i < list.length; i++) { + var p = list[i]; + if (typeof from[p] != 'undefined') { + to[p] = from[p]; + } + } + return to; +}; + +/** + * Simple in-process cache implementation. Does not implement limits of any + * sort. + * + * @implements Cache + * @static + * @private + */ +exports.cache = { + _data: {}, + set: function (key, val) { + this._data[key] = val; + }, + get: function (key) { + return this._data[key]; + }, + reset: function () { + this._data = {}; + } +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/package.json new file mode 100755 index 0000000..d1d332f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ejs/package.json @@ -0,0 +1,114 @@ +{ + "_args": [ + [ + { + "raw": "ejs", + "scope": null, + "escapedName": "ejs", + "name": "ejs", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples" + ] + ], + "_from": "ejs@latest", + "_id": "ejs@2.5.7", + "_inCache": true, + "_location": "/ejs", + "_nodeVersion": "6.9.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/ejs-2.5.7.tgz_1501385411193_0.3807816591579467" + }, + "_npmUser": { + "name": "mde", + "email": "mde@fleegix.org" + }, + "_npmVersion": "3.10.8", + "_phantomChildren": {}, + "_requested": { + "raw": "ejs", + "scope": null, + "escapedName": "ejs", + "name": "ejs", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "_shasum": "cc872c168880ae3c7189762fd5ffc00896c9518a", + "_shrinkwrap": null, + "_spec": "ejs", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples", + "author": { + "name": "Matthew Eernisse", + "email": "mde@fleegix.org", + "url": "http://fleegix.org" + }, + "bugs": { + "url": "https://github.com/mde/ejs/issues" + }, + "contributors": [ + { + "name": "Timothy Gu", + "email": "timothygu99@gmail.com", + "url": "https://timothygu.github.io" + } + ], + "dependencies": {}, + "description": "Embedded JavaScript templates", + "devDependencies": { + "browserify": "^13.0.1", + "eslint": "^3.0.0", + "git-directory-deploy": "^1.5.1", + "istanbul": "~0.4.3", + "jake": "^8.0.0", + "jsdoc": "^3.4.0", + "lru-cache": "^4.0.1", + "mocha": "^3.0.2", + "uglify-js": "^2.6.2" + }, + "directories": {}, + "dist": { + "shasum": "cc872c168880ae3c7189762fd5ffc00896c9518a", + "tarball": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz" + }, + "engines": { + "node": ">=0.10.0" + }, + "homepage": "https://github.com/mde/ejs", + "keywords": [ + "template", + "engine", + "ejs" + ], + "license": "Apache-2.0", + "main": "./lib/ejs.js", + "maintainers": [ + { + "name": "mde", + "email": "mde@fleegix.org" + } + ], + "name": "ejs", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/mde/ejs.git" + }, + "scripts": { + "coverage": "istanbul cover node_modules/mocha/bin/_mocha", + "devdoc": "jake doc[dev]", + "doc": "jake doc", + "lint": "eslint \"**/*.js\" Jakefile", + "test": "jake test" + }, + "version": "2.5.7" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/HISTORY.md new file mode 100755 index 0000000..06d34a5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/HISTORY.md @@ -0,0 +1,9 @@ +1.0.1 / 2016-06-09 +================== + + * Fix encoding unpaired surrogates at start/end of string + +1.0.0 / 2016-06-08 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/LICENSE new file mode 100755 index 0000000..8812229 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/README.md new file mode 100755 index 0000000..b086133 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/README.md @@ -0,0 +1,124 @@ +# encodeurl + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Encode a URL to a percent-encoded form, excluding already-encoded sequences + +## Installation + +```sh +$ npm install encodeurl +``` + +## API + +```js +var encodeUrl = require('encodeurl') +``` + +### encodeUrl(url) + +Encode a URL to a percent-encoded form, excluding already-encoded sequences. + +This function will take an already-encoded URL and encode all the non-URL +code points (as UTF-8 byte sequences). This function will not encode the +"%" character unless it is not part of a valid sequence (`%20` will be +left as-is, but `%foo` will be encoded as `%25foo`). + +This encode is meant to be "safe" and does not throw errors. It will try as +hard as it can to properly encode the given URL, including replacing any raw, +unpaired surrogate pairs with the Unicode replacement character prior to +encoding. + +This function is _similar_ to the intrinsic function `encodeURI`, except it +will not encode the `%` character if that is part of a valid sequence, will +not encode `[` and `]` (for IPv6 hostnames) and will replace raw, unpaired +surrogate pairs with the Unicode replacement character (instead of throwing). + +## Examples + +### Encode a URL containing user-controled data + +```js +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') + +http.createServer(function onRequest (req, res) { + // get encoded form of inbound url + var url = encodeUrl(req.url) + + // create html message + var body = '<p>Location ' + escapeHtml(url) + ' not found</p>' + + // send a 404 + res.statusCode = 404 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) + res.end(body, 'utf-8') +}) +``` + +### Encode a URL for use in a header field + +```js +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var url = require('url') + +http.createServer(function onRequest (req, res) { + // parse inbound url + var href = url.parse(req) + + // set new host for redirect + href.host = 'localhost' + href.protocol = 'https:' + href.slashes = true + + // create location header + var location = encodeUrl(url.format(href)) + + // create html message + var body = '<p>Redirecting to new site: ' + escapeHtml(location) + '</p>' + + // send a 301 + res.statusCode = 301 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) + res.setHeader('Location', location) + res.end(body, 'utf-8') +}) +``` + +## Testing + +```sh +$ npm test +$ npm run lint +``` + +## References + +- [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax][rfc-3986] +- [WHATWG URL Living Standard][whatwg-url] + +[rfc-3986]: https://tools.ietf.org/html/rfc3986 +[whatwg-url]: https://url.spec.whatwg.org/ + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/encodeurl.svg +[npm-url]: https://npmjs.org/package/encodeurl +[node-version-image]: https://img.shields.io/node/v/encodeurl.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/pillarjs/encodeurl.svg +[travis-url]: https://travis-ci.org/pillarjs/encodeurl +[coveralls-image]: https://img.shields.io/coveralls/pillarjs/encodeurl.svg +[coveralls-url]: https://coveralls.io/r/pillarjs/encodeurl?branch=master +[downloads-image]: https://img.shields.io/npm/dm/encodeurl.svg +[downloads-url]: https://npmjs.org/package/encodeurl diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/index.js new file mode 100755 index 0000000..ae77cc9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/index.js @@ -0,0 +1,60 @@ +/*! + * encodeurl + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = encodeUrl + +/** + * RegExp to match non-URL code points, *after* encoding (i.e. not including "%") + * and including invalid escape sequences. + * @private + */ + +var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]))+/g + +/** + * RegExp to match unmatched surrogate pair. + * @private + */ + +var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g + +/** + * String to replace unmatched surrogate pair with. + * @private + */ + +var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2' + +/** + * Encode a URL to a percent-encoded form, excluding already-encoded sequences. + * + * This function will take an already-encoded URL and encode all the non-URL + * code points. This function will not encode the "%" character unless it is + * not part of a valid sequence (`%20` will be left as-is, but `%foo` will + * be encoded as `%25foo`). + * + * This encode is meant to be "safe" and does not throw errors. It will try as + * hard as it can to properly encode the given URL, including replacing any raw, + * unpaired surrogate pairs with the Unicode replacement character prior to + * encoding. + * + * @param {string} url + * @return {string} + * @public + */ + +function encodeUrl (url) { + return String(url) + .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE) + .replace(ENCODE_CHARS_REGEXP, encodeURI) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/package.json new file mode 100755 index 0000000..b7f50e8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/encodeurl/package.json @@ -0,0 +1,112 @@ +{ + "_args": [ + [ + { + "raw": "encodeurl@~1.0.1", + "scope": null, + "escapedName": "encodeurl", + "name": "encodeurl", + "rawSpec": "~1.0.1", + "spec": ">=1.0.1 <1.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "encodeurl@>=1.0.1 <1.1.0", + "_id": "encodeurl@1.0.1", + "_inCache": true, + "_location": "/encodeurl", + "_nodeVersion": "4.4.3", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/encodeurl-1.0.1.tgz_1465519736251_0.09314409433864057" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "2.15.1", + "_phantomChildren": {}, + "_requested": { + "raw": "encodeurl@~1.0.1", + "scope": null, + "escapedName": "encodeurl", + "name": "encodeurl", + "rawSpec": "~1.0.1", + "spec": ">=1.0.1 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/finalhandler", + "/send", + "/serve-static" + ], + "_resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "_shasum": "79e3d58655346909fe6f0f45a5de68103b294d20", + "_shrinkwrap": null, + "_spec": "encodeurl@~1.0.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/pillarjs/encodeurl/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "Encode a URL to a percent-encoded form, excluding already-encoded sequences", + "devDependencies": { + "eslint": "2.11.1", + "eslint-config-standard": "5.3.1", + "eslint-plugin-promise": "1.3.2", + "eslint-plugin-standard": "1.3.2", + "istanbul": "0.4.3", + "mocha": "2.5.3" + }, + "directories": {}, + "dist": { + "shasum": "79e3d58655346909fe6f0f45a5de68103b294d20", + "tarball": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "39ed0c235fed4cea7d012038fd6bb0480561d226", + "homepage": "https://github.com/pillarjs/encodeurl#readme", + "keywords": [ + "encode", + "encodeurl", + "url" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "encodeurl", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/pillarjs/encodeurl.git" + }, + "scripts": { + "lint": "eslint **/*.js", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.0.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/LICENSE new file mode 100755 index 0000000..2e70de9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2013 TJ Holowaychuk +Copyright (c) 2015 Andreas Lubbe +Copyright (c) 2015 Tiancheng "Timothy" Gu + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/Readme.md new file mode 100755 index 0000000..653d9ea --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/Readme.md @@ -0,0 +1,43 @@ + +# escape-html + + Escape string for use in HTML + +## Example + +```js +var escape = require('escape-html'); +var html = escape('foo & bar'); +// -> foo & bar +``` + +## Benchmark + +``` +$ npm run-script bench + +> escape-html@1.0.3 bench nodejs-escape-html +> node benchmark/index.js + + + http_parser@1.0 + node@0.10.33 + v8@3.14.5.9 + ares@1.9.0-DEV + uv@0.10.29 + zlib@1.2.3 + modules@11 + openssl@1.0.1j + + 1 test completed. + 2 tests completed. + 3 tests completed. + + no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) + single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) + many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) +``` + +## License + + MIT \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/index.js new file mode 100755 index 0000000..bf9e226 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/index.js @@ -0,0 +1,78 @@ +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ + +'use strict'; + +/** + * Module variables. + * @private + */ + +var matchHtmlRegExp = /["'&<>]/; + +/** + * Module exports. + * @public + */ + +module.exports = escapeHtml; + +/** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ + +function escapeHtml(string) { + var str = '' + string; + var match = matchHtmlRegExp.exec(str); + + if (!match) { + return str; + } + + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: // " + escape = '"'; + break; + case 38: // & + escape = '&'; + break; + case 39: // ' + escape = '''; + break; + case 60: // < + escape = '<'; + break; + case 62: // > + escape = '>'; + break; + default: + continue; + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + + lastIndex = index + 1; + html += escape; + } + + return lastIndex !== index + ? html + str.substring(lastIndex, index) + : html; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/package.json new file mode 100755 index 0000000..5e7a2f7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/escape-html/package.json @@ -0,0 +1,94 @@ +{ + "_args": [ + [ + { + "raw": "escape-html@~1.0.3", + "scope": null, + "escapedName": "escape-html", + "name": "escape-html", + "rawSpec": "~1.0.3", + "spec": ">=1.0.3 <1.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "escape-html@>=1.0.3 <1.1.0", + "_id": "escape-html@1.0.3", + "_inCache": true, + "_location": "/escape-html", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "escape-html@~1.0.3", + "scope": null, + "escapedName": "escape-html", + "name": "escape-html", + "rawSpec": "~1.0.3", + "spec": ">=1.0.3 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/finalhandler", + "/send", + "/serve-static" + ], + "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988", + "_shrinkwrap": null, + "_spec": "escape-html@~1.0.3", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/component/escape-html/issues" + }, + "dependencies": {}, + "description": "Escape string for use in HTML", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "1.0.0" + }, + "directories": {}, + "dist": { + "shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988", + "tarball": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + }, + "files": [ + "LICENSE", + "Readme.md", + "index.js" + ], + "gitHead": "7ac2ea3977fcac3d4c5be8d2a037812820c65f28", + "homepage": "https://github.com/component/escape-html", + "keywords": [ + "escape", + "html", + "utility" + ], + "license": "MIT", + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "escape-html", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/component/escape-html.git" + }, + "scripts": { + "bench": "node benchmark/index.js" + }, + "version": "1.0.3" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/HISTORY.md new file mode 100755 index 0000000..222b293 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/HISTORY.md @@ -0,0 +1,83 @@ +1.8.1 / 2017-09-12 +================== + + * perf: replace regular expression with substring + +1.8.0 / 2017-02-18 +================== + + * Use SHA1 instead of MD5 for ETag hashing + - Improves performance for larger entities + - Works with FIPS 140-2 OpenSSL configuration + +1.7.0 / 2015-06-08 +================== + + * Always include entity length in ETags for hash length extensions + * Generate non-Stats ETags using MD5 only (no longer CRC32) + * Improve stat performance by removing hashing + * Remove base64 padding in ETags to shorten + * Use MD5 instead of MD4 in weak ETags over 1KB + +1.6.0 / 2015-05-10 +================== + + * Improve support for JXcore + * Remove requirement of `atime` in the stats object + * Support "fake" stats objects in environments without `fs` + +1.5.1 / 2014-11-19 +================== + + * deps: crc@3.2.1 + - Minor fixes + +1.5.0 / 2014-10-14 +================== + + * Improve string performance + * Slightly improve speed for weak ETags over 1KB + +1.4.0 / 2014-09-21 +================== + + * Support "fake" stats objects + * Support Node.js 0.6 + +1.3.1 / 2014-09-14 +================== + + * Use the (new and improved) `crc` for crc32 + +1.3.0 / 2014-08-29 +================== + + * Default strings to strong ETags + * Improve speed for weak ETags over 1KB + +1.2.1 / 2014-08-29 +================== + + * Use the (much faster) `buffer-crc32` for crc32 + +1.2.0 / 2014-08-24 +================== + + * Add support for file stat objects + +1.1.0 / 2014-08-24 +================== + + * Add fast-path for empty entity + * Add weak ETag generation + * Shrink size of generated ETags + +1.0.1 / 2014-08-24 +================== + + * Fix behavior of string containing Unicode + +1.0.0 / 2014-05-18 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/LICENSE new file mode 100755 index 0000000..cab251c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/README.md new file mode 100755 index 0000000..09c2169 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/README.md @@ -0,0 +1,159 @@ +# etag + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create simple HTTP ETags + +This module generates HTTP ETags (as defined in RFC 7232) for use in +HTTP responses. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install etag +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var etag = require('etag') +``` + +### etag(entity, [options]) + +Generate a strong ETag for the given entity. This should be the complete +body of the entity. Strings, `Buffer`s, and `fs.Stats` are accepted. By +default, a strong ETag is generated except for `fs.Stats`, which will +generate a weak ETag (this can be overwritten by `options.weak`). + +<!-- eslint-disable no-undef --> + +```js +res.setHeader('ETag', etag(body)) +``` + +#### Options + +`etag` accepts these properties in the options object. + +##### weak + +Specifies if the generated ETag will include the weak validator mark (that +is, the leading `W/`). The actual entity tag is the same. The default value +is `false`, unless the `entity` is `fs.Stats`, in which case it is `true`. + +## Testing + +```sh +$ npm test +``` + +## Benchmark + +```bash +$ npm run-script bench + +> etag@1.8.1 bench nodejs-etag +> node benchmark/index.js + + http_parser@2.7.0 + node@6.11.1 + v8@5.1.281.103 + uv@1.11.0 + zlib@1.2.11 + ares@1.10.1-DEV + icu@58.2 + modules@48 + openssl@1.0.2k + +> node benchmark/body0-100b.js + + 100B body + + 4 tests completed. + + buffer - strong x 258,647 ops/sec ±1.07% (180 runs sampled) + buffer - weak x 263,812 ops/sec ±0.61% (184 runs sampled) + string - strong x 259,955 ops/sec ±1.19% (185 runs sampled) + string - weak x 264,356 ops/sec ±1.09% (184 runs sampled) + +> node benchmark/body1-1kb.js + + 1KB body + + 4 tests completed. + + buffer - strong x 189,018 ops/sec ±1.12% (182 runs sampled) + buffer - weak x 190,586 ops/sec ±0.81% (186 runs sampled) + string - strong x 144,272 ops/sec ±0.96% (188 runs sampled) + string - weak x 145,380 ops/sec ±1.43% (187 runs sampled) + +> node benchmark/body2-5kb.js + + 5KB body + + 4 tests completed. + + buffer - strong x 92,435 ops/sec ±0.42% (188 runs sampled) + buffer - weak x 92,373 ops/sec ±0.58% (189 runs sampled) + string - strong x 48,850 ops/sec ±0.56% (186 runs sampled) + string - weak x 49,380 ops/sec ±0.56% (190 runs sampled) + +> node benchmark/body3-10kb.js + + 10KB body + + 4 tests completed. + + buffer - strong x 55,989 ops/sec ±0.93% (188 runs sampled) + buffer - weak x 56,148 ops/sec ±0.55% (190 runs sampled) + string - strong x 27,345 ops/sec ±0.43% (188 runs sampled) + string - weak x 27,496 ops/sec ±0.45% (190 runs sampled) + +> node benchmark/body4-100kb.js + + 100KB body + + 4 tests completed. + + buffer - strong x 7,083 ops/sec ±0.22% (190 runs sampled) + buffer - weak x 7,115 ops/sec ±0.26% (191 runs sampled) + string - strong x 3,068 ops/sec ±0.34% (190 runs sampled) + string - weak x 3,096 ops/sec ±0.35% (190 runs sampled) + +> node benchmark/stats.js + + stat + + 4 tests completed. + + real - strong x 871,642 ops/sec ±0.34% (189 runs sampled) + real - weak x 867,613 ops/sec ±0.39% (190 runs sampled) + fake - strong x 401,051 ops/sec ±0.40% (189 runs sampled) + fake - weak x 400,100 ops/sec ±0.47% (188 runs sampled) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/etag.svg +[npm-url]: https://npmjs.org/package/etag +[node-version-image]: https://img.shields.io/node/v/etag.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/etag/master.svg +[travis-url]: https://travis-ci.org/jshttp/etag +[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/etag?branch=master +[downloads-image]: https://img.shields.io/npm/dm/etag.svg +[downloads-url]: https://npmjs.org/package/etag diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/index.js new file mode 100755 index 0000000..2a585c9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/index.js @@ -0,0 +1,131 @@ +/*! + * etag + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = etag + +/** + * Module dependencies. + * @private + */ + +var crypto = require('crypto') +var Stats = require('fs').Stats + +/** + * Module variables. + * @private + */ + +var toString = Object.prototype.toString + +/** + * Generate an entity tag. + * + * @param {Buffer|string} entity + * @return {string} + * @private + */ + +function entitytag (entity) { + if (entity.length === 0) { + // fast-path empty + return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"' + } + + // compute hash of entity + var hash = crypto + .createHash('sha1') + .update(entity, 'utf8') + .digest('base64') + .substring(0, 27) + + // compute length of entity + var len = typeof entity === 'string' + ? Buffer.byteLength(entity, 'utf8') + : entity.length + + return '"' + len.toString(16) + '-' + hash + '"' +} + +/** + * Create a simple ETag. + * + * @param {string|Buffer|Stats} entity + * @param {object} [options] + * @param {boolean} [options.weak] + * @return {String} + * @public + */ + +function etag (entity, options) { + if (entity == null) { + throw new TypeError('argument entity is required') + } + + // support fs.Stats object + var isStats = isstats(entity) + var weak = options && typeof options.weak === 'boolean' + ? options.weak + : isStats + + // validate argument + if (!isStats && typeof entity !== 'string' && !Buffer.isBuffer(entity)) { + throw new TypeError('argument entity must be string, Buffer, or fs.Stats') + } + + // generate entity tag + var tag = isStats + ? stattag(entity) + : entitytag(entity) + + return weak + ? 'W/' + tag + : tag +} + +/** + * Determine if object is a Stats object. + * + * @param {object} obj + * @return {boolean} + * @api private + */ + +function isstats (obj) { + // genuine fs.Stats + if (typeof Stats === 'function' && obj instanceof Stats) { + return true + } + + // quack quack + return obj && typeof obj === 'object' && + 'ctime' in obj && toString.call(obj.ctime) === '[object Date]' && + 'mtime' in obj && toString.call(obj.mtime) === '[object Date]' && + 'ino' in obj && typeof obj.ino === 'number' && + 'size' in obj && typeof obj.size === 'number' +} + +/** + * Generate a tag for a stat. + * + * @param {object} stat + * @return {string} + * @private + */ + +function stattag (stat) { + var mtime = stat.mtime.getTime().toString(16) + var size = stat.size.toString(16) + + return '"' + size + '-' + mtime + '"' +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/package.json new file mode 100755 index 0000000..311563d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/etag/package.json @@ -0,0 +1,122 @@ +{ + "_args": [ + [ + { + "raw": "etag@~1.8.1", + "scope": null, + "escapedName": "etag", + "name": "etag", + "rawSpec": "~1.8.1", + "spec": ">=1.8.1 <1.9.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "etag@>=1.8.1 <1.9.0", + "_id": "etag@1.8.1", + "_inCache": true, + "_location": "/etag", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/etag-1.8.1.tgz_1505270623443_0.24458415526896715" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "etag@~1.8.1", + "scope": null, + "escapedName": "etag", + "name": "etag", + "rawSpec": "~1.8.1", + "spec": ">=1.8.1 <1.9.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/send" + ], + "_resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "_shasum": "41ae2eeb65efa62268aebfea83ac7d79299b0887", + "_shrinkwrap": null, + "_spec": "etag@~1.8.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/etag/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "David Björklund", + "email": "david.bjorklund@gmail.com" + } + ], + "dependencies": {}, + "description": "Create simple HTTP ETags", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5", + "safe-buffer": "5.1.1", + "seedrandom": "2.4.3" + }, + "directories": {}, + "dist": { + "shasum": "41ae2eeb65efa62268aebfea83ac7d79299b0887", + "tarball": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "9b1e3e41df31cda4080833c187120b91a7ce8327", + "homepage": "https://github.com/jshttp/etag#readme", + "keywords": [ + "etag", + "http", + "res" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "etag", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/etag.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.8.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/History.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/History.md new file mode 100755 index 0000000..fbf59a2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/History.md @@ -0,0 +1,3374 @@ +4.16.2 / 2017-10-09 +=================== + + * Fix `TypeError` in `res.send` when given `Buffer` and `ETag` header set + * perf: skip parsing of entire `X-Forwarded-Proto` header + +4.16.1 / 2017-09-29 +=================== + + * deps: send@0.16.1 + * deps: serve-static@1.13.1 + - Fix regression when `root` is incorrectly set to a file + - deps: send@0.16.1 + +4.16.0 / 2017-09-28 +=================== + + * Add `"json escape"` setting for `res.json` and `res.jsonp` + * Add `express.json` and `express.urlencoded` to parse bodies + * Add `options` argument to `res.download` + * Improve error message when autoloading invalid view engine + * Improve error messages when non-function provided as middleware + * Skip `Buffer` encoding when not generating ETag for small response + * Use `safe-buffer` for improved Buffer API + * deps: accepts@~1.3.4 + - deps: mime-types@~2.1.16 + * deps: content-type@~1.0.4 + - perf: remove argument reassignment + - perf: skip parameter parsing when no parameters + * deps: etag@~1.8.1 + - perf: replace regular expression with substring + * deps: finalhandler@1.1.0 + - Use `res.headersSent` when available + * deps: parseurl@~1.3.2 + - perf: reduce overhead for full URLs + - perf: unroll the "fast-path" `RegExp` + * deps: proxy-addr@~2.0.2 + - Fix trimming leading / trailing OWS in `X-Forwarded-For` + - deps: forwarded@~0.1.2 + - deps: ipaddr.js@1.5.2 + - perf: reduce overhead when no `X-Forwarded-For` header + * deps: qs@6.5.1 + - Fix parsing & compacting very deep objects + * deps: send@0.16.0 + - Add 70 new types for file extensions + - Add `immutable` option + - Fix missing `</html>` in default error & redirects + - Set charset as "UTF-8" for .js and .json + - Use instance methods on steam to check for listeners + - deps: mime@1.4.1 + - perf: improve path validation speed + * deps: serve-static@1.13.0 + - Add 70 new types for file extensions + - Add `immutable` option + - Set charset as "UTF-8" for .js and .json + - deps: send@0.16.0 + * deps: setprototypeof@1.1.0 + * deps: utils-merge@1.0.1 + * deps: vary@~1.1.2 + - perf: improve header token parsing speed + * perf: re-use options object when generating ETags + * perf: remove dead `.charset` set in `res.jsonp` + +4.15.5 / 2017-09-24 +=================== + + * deps: debug@2.6.9 + * deps: finalhandler@~1.0.6 + - deps: debug@2.6.9 + - deps: parseurl@~1.3.2 + * deps: fresh@0.5.2 + - Fix handling of modified headers with invalid dates + - perf: improve ETag match loop + - perf: improve `If-None-Match` token parsing + * deps: send@0.15.6 + - Fix handling of modified headers with invalid dates + - deps: debug@2.6.9 + - deps: etag@~1.8.1 + - deps: fresh@0.5.2 + - perf: improve `If-Match` token parsing + * deps: serve-static@1.12.6 + - deps: parseurl@~1.3.2 + - deps: send@0.15.6 + - perf: improve slash collapsing + +4.15.4 / 2017-08-06 +=================== + + * deps: debug@2.6.8 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: finalhandler@~1.0.4 + - deps: debug@2.6.8 + * deps: proxy-addr@~1.1.5 + - Fix array argument being altered + - deps: ipaddr.js@1.4.0 + * deps: qs@6.5.0 + * deps: send@0.15.4 + - deps: debug@2.6.8 + - deps: depd@~1.1.1 + - deps: http-errors@~1.6.2 + * deps: serve-static@1.12.4 + - deps: send@0.15.4 + +4.15.3 / 2017-05-16 +=================== + + * Fix error when `res.set` cannot add charset to `Content-Type` + * deps: debug@2.6.7 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + * deps: finalhandler@~1.0.3 + - Fix missing `</html>` in HTML document + - deps: debug@2.6.7 + * deps: proxy-addr@~1.1.4 + - deps: ipaddr.js@1.3.0 + * deps: send@0.15.3 + - deps: debug@2.6.7 + - deps: ms@2.0.0 + * deps: serve-static@1.12.3 + - deps: send@0.15.3 + * deps: type-is@~1.6.15 + - deps: mime-types@~2.1.15 + * deps: vary@~1.1.1 + - perf: hoist regular expression + +4.15.2 / 2017-03-06 +=================== + + * deps: qs@6.4.0 + - Fix regression parsing keys starting with `[` + +4.15.1 / 2017-03-05 +=================== + + * deps: send@0.15.1 + - Fix issue when `Date.parse` does not return `NaN` on invalid date + - Fix strict violation in broken environments + * deps: serve-static@1.12.1 + - Fix issue when `Date.parse` does not return `NaN` on invalid date + - deps: send@0.15.1 + +4.15.0 / 2017-03-01 +=================== + + * Add debug message when loading view engine + * Add `next("router")` to exit from router + * Fix case where `router.use` skipped requests routes did not + * Remove usage of `res._headers` private field + - Improves compatibility with Node.js 8 nightly + * Skip routing when `req.url` is not set + * Use `%o` in path debug to tell types apart + * Use `Object.create` to setup request & response prototypes + * Use `setprototypeof` module to replace `__proto__` setting + * Use `statuses` instead of `http` module for status messages + * deps: debug@2.6.1 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable set to `3` or higher + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * deps: etag@~1.8.0 + - Use SHA1 instead of MD5 for ETag hashing + - Works with FIPS 140-2 OpenSSL configuration + * deps: finalhandler@~1.0.0 + - Fix exception when `err` cannot be converted to a string + - Fully URL-encode the pathname in the 404 + - Only include the pathname in the 404 message + - Send complete HTML document + - Set `Content-Security-Policy: default-src 'self'` header + - deps: debug@2.6.1 + * deps: fresh@0.5.0 + - Fix false detection of `no-cache` request directive + - Fix incorrect result when `If-None-Match` has both `*` and ETags + - Fix weak `ETag` matching to match spec + - perf: delay reading header values until needed + - perf: enable strict mode + - perf: hoist regular expressions + - perf: remove duplicate conditional + - perf: remove unnecessary boolean coercions + - perf: skip checking modified time if ETag check failed + - perf: skip parsing `If-None-Match` when no `ETag` header + - perf: use `Date.parse` instead of `new Date` + * deps: qs@6.3.1 + - Fix array parsing from skipping empty values + - Fix compacting nested arrays + * deps: send@0.15.0 + - Fix false detection of `no-cache` request directive + - Fix incorrect result when `If-None-Match` has both `*` and ETags + - Fix weak `ETag` matching to match spec + - Remove usage of `res._headers` private field + - Support `If-Match` and `If-Unmodified-Since` headers + - Use `res.getHeaderNames()` when available + - Use `res.headersSent` when available + - deps: debug@2.6.1 + - deps: etag@~1.8.0 + - deps: fresh@0.5.0 + - deps: http-errors@~1.6.1 + * deps: serve-static@1.12.0 + - Fix false detection of `no-cache` request directive + - Fix incorrect result when `If-None-Match` has both `*` and ETags + - Fix weak `ETag` matching to match spec + - Remove usage of `res._headers` private field + - Send complete HTML document in redirect response + - Set default CSP header in redirect response + - Support `If-Match` and `If-Unmodified-Since` headers + - Use `res.getHeaderNames()` when available + - Use `res.headersSent` when available + - deps: send@0.15.0 + * perf: add fast match path for `*` route + * perf: improve `req.ips` performance + +4.14.1 / 2017-01-28 +=================== + + * deps: content-disposition@0.5.2 + * deps: finalhandler@0.5.1 + - Fix exception when `err.headers` is not an object + - deps: statuses@~1.3.1 + - perf: hoist regular expressions + - perf: remove duplicate validation path + * deps: proxy-addr@~1.1.3 + - deps: ipaddr.js@1.2.0 + * deps: send@0.14.2 + - deps: http-errors@~1.5.1 + - deps: ms@0.7.2 + - deps: statuses@~1.3.1 + * deps: serve-static@~1.11.2 + - deps: send@0.14.2 + * deps: type-is@~1.6.14 + - deps: mime-types@~2.1.13 + +4.14.0 / 2016-06-16 +=================== + + * Add `acceptRanges` option to `res.sendFile`/`res.sendfile` + * Add `cacheControl` option to `res.sendFile`/`res.sendfile` + * Add `options` argument to `req.range` + - Includes the `combine` option + * Encode URL in `res.location`/`res.redirect` if not already encoded + * Fix some redirect handling in `res.sendFile`/`res.sendfile` + * Fix Windows absolute path check using forward slashes + * Improve error with invalid arguments to `req.get()` + * Improve performance for `res.json`/`res.jsonp` in most cases + * Improve `Range` header handling in `res.sendFile`/`res.sendfile` + * deps: accepts@~1.3.3 + - Fix including type extensions in parameters in `Accept` parsing + - Fix parsing `Accept` parameters with quoted equals + - Fix parsing `Accept` parameters with quoted semicolons + - Many performance improvments + - deps: mime-types@~2.1.11 + - deps: negotiator@0.6.1 + * deps: content-type@~1.0.2 + - perf: enable strict mode + * deps: cookie@0.3.1 + - Add `sameSite` option + - Fix cookie `Max-Age` to never be a floating point number + - Improve error message when `encode` is not a function + - Improve error message when `expires` is not a `Date` + - Throw better error for invalid argument to parse + - Throw on invalid values provided to `serialize` + - perf: enable strict mode + - perf: hoist regular expression + - perf: use for loop in parse + - perf: use string concatination for serialization + * deps: finalhandler@0.5.0 + - Change invalid or non-numeric status code to 500 + - Overwrite status message to match set status code + - Prefer `err.statusCode` if `err.status` is invalid + - Set response headers from `err.headers` object + - Use `statuses` instead of `http` module for status messages + * deps: proxy-addr@~1.1.2 + - Fix accepting various invalid netmasks + - Fix IPv6-mapped IPv4 validation edge cases + - IPv4 netmasks must be contingous + - IPv6 addresses cannot be used as a netmask + - deps: ipaddr.js@1.1.1 + * deps: qs@6.2.0 + - Add `decoder` option in `parse` function + * deps: range-parser@~1.2.0 + - Add `combine` option to combine overlapping ranges + - Fix incorrectly returning -1 when there is at least one valid range + - perf: remove internal function + * deps: send@0.14.1 + - Add `acceptRanges` option + - Add `cacheControl` option + - Attempt to combine multiple ranges into single range + - Correctly inherit from `Stream` class + - Fix `Content-Range` header in 416 responses when using `start`/`end` options + - Fix `Content-Range` header missing from default 416 responses + - Fix redirect error when `path` contains raw non-URL characters + - Fix redirect when `path` starts with multiple forward slashes + - Ignore non-byte `Range` headers + - deps: http-errors@~1.5.0 + - deps: range-parser@~1.2.0 + - deps: statuses@~1.3.0 + - perf: remove argument reassignment + * deps: serve-static@~1.11.1 + - Add `acceptRanges` option + - Add `cacheControl` option + - Attempt to combine multiple ranges into single range + - Fix redirect error when `req.url` contains raw non-URL characters + - Ignore non-byte `Range` headers + - Use status code 301 for redirects + - deps: send@0.14.1 + * deps: type-is@~1.6.13 + - Fix type error when given invalid type to match against + - deps: mime-types@~2.1.11 + * deps: vary@~1.1.0 + - Only accept valid field names in the `field` argument + * perf: use strict equality when possible + +4.13.4 / 2016-01-21 +=================== + + * deps: content-disposition@0.5.1 + - perf: enable strict mode + * deps: cookie@0.1.5 + - Throw on invalid values provided to `serialize` + * deps: depd@~1.1.0 + - Support web browser loading + - perf: enable strict mode + * deps: escape-html@~1.0.3 + - perf: enable strict mode + - perf: optimize string replacement + - perf: use faster string coercion + * deps: finalhandler@0.4.1 + - deps: escape-html@~1.0.3 + * deps: merge-descriptors@1.0.1 + - perf: enable strict mode + * deps: methods@~1.1.2 + - perf: enable strict mode + * deps: parseurl@~1.3.1 + - perf: enable strict mode + * deps: proxy-addr@~1.0.10 + - deps: ipaddr.js@1.0.5 + - perf: enable strict mode + * deps: range-parser@~1.0.3 + - perf: enable strict mode + * deps: send@0.13.1 + - deps: depd@~1.1.0 + - deps: destroy@~1.0.4 + - deps: escape-html@~1.0.3 + - deps: range-parser@~1.0.3 + * deps: serve-static@~1.10.2 + - deps: escape-html@~1.0.3 + - deps: parseurl@~1.3.0 + - deps: send@0.13.1 + +4.13.3 / 2015-08-02 +=================== + + * Fix infinite loop condition using `mergeParams: true` + * Fix inner numeric indices incorrectly altering parent `req.params` + +4.13.2 / 2015-07-31 +=================== + + * deps: accepts@~1.2.12 + - deps: mime-types@~2.1.4 + * deps: array-flatten@1.1.1 + - perf: enable strict mode + * deps: path-to-regexp@0.1.7 + - Fix regression with escaped round brackets and matching groups + * deps: type-is@~1.6.6 + - deps: mime-types@~2.1.4 + +4.13.1 / 2015-07-05 +=================== + + * deps: accepts@~1.2.10 + - deps: mime-types@~2.1.2 + * deps: qs@4.0.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix various parsing edge cases + * deps: type-is@~1.6.4 + - deps: mime-types@~2.1.2 + - perf: enable strict mode + - perf: remove argument reassignment + +4.13.0 / 2015-06-20 +=================== + + * Add settings to debug output + * Fix `res.format` error when only `default` provided + * Fix issue where `next('route')` in `app.param` would incorrectly skip values + * Fix hiding platform issues with `decodeURIComponent` + - Only `URIError`s are a 400 + * Fix using `*` before params in routes + * Fix using capture groups before params in routes + * Simplify `res.cookie` to call `res.append` + * Use `array-flatten` module for flattening arrays + * deps: accepts@~1.2.9 + - deps: mime-types@~2.1.1 + - perf: avoid argument reassignment & argument slice + - perf: avoid negotiator recursive construction + - perf: enable strict mode + - perf: remove unnecessary bitwise operator + * deps: cookie@0.1.3 + - perf: deduce the scope of try-catch deopt + - perf: remove argument reassignments + * deps: escape-html@1.0.2 + * deps: etag@~1.7.0 + - Always include entity length in ETags for hash length extensions + - Generate non-Stats ETags using MD5 only (no longer CRC32) + - Improve stat performance by removing hashing + - Improve support for JXcore + - Remove base64 padding in ETags to shorten + - Support "fake" stats objects in environments without fs + - Use MD5 instead of MD4 in weak ETags over 1KB + * deps: finalhandler@0.4.0 + - Fix a false-positive when unpiping in Node.js 0.8 + - Support `statusCode` property on `Error` objects + - Use `unpipe` module for unpiping requests + - deps: escape-html@1.0.2 + - deps: on-finished@~2.3.0 + - perf: enable strict mode + - perf: remove argument reassignment + * deps: fresh@0.3.0 + - Add weak `ETag` matching support + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * deps: path-to-regexp@0.1.6 + * deps: send@0.13.0 + - Allow Node.js HTTP server to set `Date` response header + - Fix incorrectly removing `Content-Location` on 304 response + - Improve the default redirect response headers + - Send appropriate headers on default error response + - Use `http-errors` for standard emitted errors + - Use `statuses` instead of `http` module for status messages + - deps: escape-html@1.0.2 + - deps: etag@~1.7.0 + - deps: fresh@0.3.0 + - deps: on-finished@~2.3.0 + - perf: enable strict mode + - perf: remove unnecessary array allocations + * deps: serve-static@~1.10.0 + - Add `fallthrough` option + - Fix reading options from options prototype + - Improve the default redirect response headers + - Malformed URLs now `next()` instead of 400 + - deps: escape-html@1.0.2 + - deps: send@0.13.0 + - perf: enable strict mode + - perf: remove argument reassignment + * deps: type-is@~1.6.3 + - deps: mime-types@~2.1.1 + - perf: reduce try block size + - perf: remove bitwise operations + * perf: enable strict mode + * perf: isolate `app.render` try block + * perf: remove argument reassignments in application + * perf: remove argument reassignments in request prototype + * perf: remove argument reassignments in response prototype + * perf: remove argument reassignments in routing + * perf: remove argument reassignments in `View` + * perf: skip attempting to decode zero length string + * perf: use saved reference to `http.STATUS_CODES` + +4.12.4 / 2015-05-17 +=================== + + * deps: accepts@~1.2.7 + - deps: mime-types@~2.0.11 + - deps: negotiator@0.5.3 + * deps: debug@~2.2.0 + - deps: ms@0.7.1 + * deps: depd@~1.0.1 + * deps: etag@~1.6.0 + - Improve support for JXcore + - Support "fake" stats objects in environments without `fs` + * deps: finalhandler@0.3.6 + - deps: debug@~2.2.0 + - deps: on-finished@~2.2.1 + * deps: on-finished@~2.2.1 + - Fix `isFinished(req)` when data buffered + * deps: proxy-addr@~1.0.8 + - deps: ipaddr.js@1.0.1 + * deps: qs@2.4.2 + - Fix allowing parameters like `constructor` + * deps: send@0.12.3 + - deps: debug@~2.2.0 + - deps: depd@~1.0.1 + - deps: etag@~1.6.0 + - deps: ms@0.7.1 + - deps: on-finished@~2.2.1 + * deps: serve-static@~1.9.3 + - deps: send@0.12.3 + * deps: type-is@~1.6.2 + - deps: mime-types@~2.0.11 + +4.12.3 / 2015-03-17 +=================== + + * deps: accepts@~1.2.5 + - deps: mime-types@~2.0.10 + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * deps: finalhandler@0.3.4 + - deps: debug@~2.1.3 + * deps: proxy-addr@~1.0.7 + - deps: ipaddr.js@0.1.9 + * deps: qs@2.4.1 + - Fix error when parameter `hasOwnProperty` is present + * deps: send@0.12.2 + - Throw errors early for invalid `extensions` or `index` options + - deps: debug@~2.1.3 + * deps: serve-static@~1.9.2 + - deps: send@0.12.2 + * deps: type-is@~1.6.1 + - deps: mime-types@~2.0.10 + +4.12.2 / 2015-03-02 +=================== + + * Fix regression where `"Request aborted"` is logged using `res.sendFile` + +4.12.1 / 2015-03-01 +=================== + + * Fix constructing application with non-configurable prototype properties + * Fix `ECONNRESET` errors from `res.sendFile` usage + * Fix `req.host` when using "trust proxy" hops count + * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count + * Fix wrong `code` on aborted connections from `res.sendFile` + * deps: merge-descriptors@1.0.0 + +4.12.0 / 2015-02-23 +=================== + + * Fix `"trust proxy"` setting to inherit when app is mounted + * Generate `ETag`s for all request responses + - No longer restricted to only responses for `GET` and `HEAD` requests + * Use `content-type` to parse `Content-Type` headers + * deps: accepts@~1.2.4 + - Fix preference sorting to be stable for long acceptable lists + - deps: mime-types@~2.0.9 + - deps: negotiator@0.5.1 + * deps: cookie-signature@1.0.6 + * deps: send@0.12.1 + - Always read the stat size from the file + - Fix mutating passed-in `options` + - deps: mime@1.3.4 + * deps: serve-static@~1.9.1 + - deps: send@0.12.1 + * deps: type-is@~1.6.0 + - fix argument reassignment + - fix false-positives in `hasBody` `Transfer-Encoding` check + - support wildcard for both type and subtype (`*/*`) + - deps: mime-types@~2.0.9 + +4.11.2 / 2015-02-01 +=================== + + * Fix `res.redirect` double-calling `res.end` for `HEAD` requests + * deps: accepts@~1.2.3 + - deps: mime-types@~2.0.8 + * deps: proxy-addr@~1.0.6 + - deps: ipaddr.js@0.1.8 + * deps: type-is@~1.5.6 + - deps: mime-types@~2.0.8 + +4.11.1 / 2015-01-20 +=================== + + * deps: send@0.11.1 + - Fix root path disclosure + * deps: serve-static@~1.8.1 + - Fix redirect loop in Node.js 0.11.14 + - Fix root path disclosure + - deps: send@0.11.1 + +4.11.0 / 2015-01-13 +=================== + + * Add `res.append(field, val)` to append headers + * Deprecate leading `:` in `name` for `app.param(name, fn)` + * Deprecate `req.param()` -- use `req.params`, `req.body`, or `req.query` instead + * Deprecate `app.param(fn)` + * Fix `OPTIONS` responses to include the `HEAD` method properly + * Fix `res.sendFile` not always detecting aborted connection + * Match routes iteratively to prevent stack overflows + * deps: accepts@~1.2.2 + - deps: mime-types@~2.0.7 + - deps: negotiator@0.5.0 + * deps: send@0.11.0 + - deps: debug@~2.1.1 + - deps: etag@~1.5.1 + - deps: ms@0.7.0 + - deps: on-finished@~2.2.0 + * deps: serve-static@~1.8.0 + - deps: send@0.11.0 + +4.10.8 / 2015-01-13 +=================== + + * Fix crash from error within `OPTIONS` response handler + * deps: proxy-addr@~1.0.5 + - deps: ipaddr.js@0.1.6 + +4.10.7 / 2015-01-04 +=================== + + * Fix `Allow` header for `OPTIONS` to not contain duplicate methods + * Fix incorrect "Request aborted" for `res.sendFile` when `HEAD` or 304 + * deps: debug@~2.1.1 + * deps: finalhandler@0.3.3 + - deps: debug@~2.1.1 + - deps: on-finished@~2.2.0 + * deps: methods@~1.1.1 + * deps: on-finished@~2.2.0 + * deps: serve-static@~1.7.2 + - Fix potential open redirect when mounted at root + * deps: type-is@~1.5.5 + - deps: mime-types@~2.0.7 + +4.10.6 / 2014-12-12 +=================== + + * Fix exception in `req.fresh`/`req.stale` without response headers + +4.10.5 / 2014-12-10 +=================== + + * Fix `res.send` double-calling `res.end` for `HEAD` requests + * deps: accepts@~1.1.4 + - deps: mime-types@~2.0.4 + * deps: type-is@~1.5.4 + - deps: mime-types@~2.0.4 + +4.10.4 / 2014-11-24 +=================== + + * Fix `res.sendfile` logging standard write errors + +4.10.3 / 2014-11-23 +=================== + + * Fix `res.sendFile` logging standard write errors + * deps: etag@~1.5.1 + * deps: proxy-addr@~1.0.4 + - deps: ipaddr.js@0.1.5 + * deps: qs@2.3.3 + - Fix `arrayLimit` behavior + +4.10.2 / 2014-11-09 +=================== + + * Correctly invoke async router callback asynchronously + * deps: accepts@~1.1.3 + - deps: mime-types@~2.0.3 + * deps: type-is@~1.5.3 + - deps: mime-types@~2.0.3 + +4.10.1 / 2014-10-28 +=================== + + * Fix handling of URLs containing `://` in the path + * deps: qs@2.3.2 + - Fix parsing of mixed objects and values + +4.10.0 / 2014-10-23 +=================== + + * Add support for `app.set('views', array)` + - Views are looked up in sequence in array of directories + * Fix `res.send(status)` to mention `res.sendStatus(status)` + * Fix handling of invalid empty URLs + * Use `content-disposition` module for `res.attachment`/`res.download` + - Sends standards-compliant `Content-Disposition` header + - Full Unicode support + * Use `path.resolve` in view lookup + * deps: debug@~2.1.0 + - Implement `DEBUG_FD` env variable support + * deps: depd@~1.0.0 + * deps: etag@~1.5.0 + - Improve string performance + - Slightly improve speed for weak ETags over 1KB + * deps: finalhandler@0.3.2 + - Terminate in progress response only on error + - Use `on-finished` to determine request status + - deps: debug@~2.1.0 + - deps: on-finished@~2.1.1 + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + * deps: qs@2.3.0 + - Fix parsing of mixed implicit and explicit arrays + * deps: send@0.10.1 + - deps: debug@~2.1.0 + - deps: depd@~1.0.0 + - deps: etag@~1.5.0 + - deps: on-finished@~2.1.1 + * deps: serve-static@~1.7.1 + - deps: send@0.10.1 + +4.9.8 / 2014-10-17 +================== + + * Fix `res.redirect` body when redirect status specified + * deps: accepts@~1.1.2 + - Fix error when media type has invalid parameter + - deps: negotiator@0.4.9 + +4.9.7 / 2014-10-10 +================== + + * Fix using same param name in array of paths + +4.9.6 / 2014-10-08 +================== + + * deps: accepts@~1.1.1 + - deps: mime-types@~2.0.2 + - deps: negotiator@0.4.8 + * deps: serve-static@~1.6.4 + - Fix redirect loop when index file serving disabled + * deps: type-is@~1.5.2 + - deps: mime-types@~2.0.2 + +4.9.5 / 2014-09-24 +================== + + * deps: etag@~1.4.0 + * deps: proxy-addr@~1.0.3 + - Use `forwarded` npm module + * deps: send@0.9.3 + - deps: etag@~1.4.0 + * deps: serve-static@~1.6.3 + - deps: send@0.9.3 + +4.9.4 / 2014-09-19 +================== + + * deps: qs@2.2.4 + - Fix issue with object keys starting with numbers truncated + +4.9.3 / 2014-09-18 +================== + + * deps: proxy-addr@~1.0.2 + - Fix a global leak when multiple subnets are trusted + - deps: ipaddr.js@0.1.3 + +4.9.2 / 2014-09-17 +================== + + * Fix regression for empty string `path` in `app.use` + * Fix `router.use` to accept array of middleware without path + * Improve error message for bad `app.use` arguments + +4.9.1 / 2014-09-16 +================== + + * Fix `app.use` to accept array of middleware without path + * deps: depd@0.4.5 + * deps: etag@~1.3.1 + * deps: send@0.9.2 + - deps: depd@0.4.5 + - deps: etag@~1.3.1 + - deps: range-parser@~1.0.2 + * deps: serve-static@~1.6.2 + - deps: send@0.9.2 + +4.9.0 / 2014-09-08 +================== + + * Add `res.sendStatus` + * Invoke callback for sendfile when client aborts + - Applies to `res.sendFile`, `res.sendfile`, and `res.download` + - `err` will be populated with request aborted error + * Support IP address host in `req.subdomains` + * Use `etag` to generate `ETag` headers + * deps: accepts@~1.1.0 + - update `mime-types` + * deps: cookie-signature@1.0.5 + * deps: debug@~2.0.0 + * deps: finalhandler@0.2.0 + - Set `X-Content-Type-Options: nosniff` header + - deps: debug@~2.0.0 + * deps: fresh@0.2.4 + * deps: media-typer@0.3.0 + - Throw error when parameter format invalid on parse + * deps: qs@2.2.3 + - Fix issue where first empty value in array is discarded + * deps: range-parser@~1.0.2 + * deps: send@0.9.1 + - Add `lastModified` option + - Use `etag` to generate `ETag` header + - deps: debug@~2.0.0 + - deps: fresh@0.2.4 + * deps: serve-static@~1.6.1 + - Add `lastModified` option + - deps: send@0.9.1 + * deps: type-is@~1.5.1 + - fix `hasbody` to be true for `content-length: 0` + - deps: media-typer@0.3.0 + - deps: mime-types@~2.0.1 + * deps: vary@~1.0.0 + - Accept valid `Vary` header string as `field` + +4.8.8 / 2014-09-04 +================== + + * deps: send@0.8.5 + - Fix a path traversal issue when using `root` + - Fix malicious path detection for empty string path + * deps: serve-static@~1.5.4 + - deps: send@0.8.5 + +4.8.7 / 2014-08-29 +================== + + * deps: qs@2.2.2 + - Remove unnecessary cloning + +4.8.6 / 2014-08-27 +================== + + * deps: qs@2.2.0 + - Array parsing fix + - Performance improvements + +4.8.5 / 2014-08-18 +================== + + * deps: send@0.8.3 + - deps: destroy@1.0.3 + - deps: on-finished@2.1.0 + * deps: serve-static@~1.5.3 + - deps: send@0.8.3 + +4.8.4 / 2014-08-14 +================== + + * deps: qs@1.2.2 + * deps: send@0.8.2 + - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream` + * deps: serve-static@~1.5.2 + - deps: send@0.8.2 + +4.8.3 / 2014-08-10 +================== + + * deps: parseurl@~1.3.0 + * deps: qs@1.2.1 + * deps: serve-static@~1.5.1 + - Fix parsing of weird `req.originalUrl` values + - deps: parseurl@~1.3.0 + - deps: utils-merge@1.0.0 + +4.8.2 / 2014-08-07 +================== + + * deps: qs@1.2.0 + - Fix parsing array of objects + +4.8.1 / 2014-08-06 +================== + + * fix incorrect deprecation warnings on `res.download` + * deps: qs@1.1.0 + - Accept urlencoded square brackets + - Accept empty values in implicit array notation + +4.8.0 / 2014-08-05 +================== + + * add `res.sendFile` + - accepts a file system path instead of a URL + - requires an absolute path or `root` option specified + * deprecate `res.sendfile` -- use `res.sendFile` instead + * support mounted app as any argument to `app.use()` + * deps: qs@1.0.2 + - Complete rewrite + - Limits array length to 20 + - Limits object depth to 5 + - Limits parameters to 1,000 + * deps: send@0.8.1 + - Add `extensions` option + * deps: serve-static@~1.5.0 + - Add `extensions` option + - deps: send@0.8.1 + +4.7.4 / 2014-08-04 +================== + + * fix `res.sendfile` regression for serving directory index files + * deps: send@0.7.4 + - Fix incorrect 403 on Windows and Node.js 0.11 + - Fix serving index files without root dir + * deps: serve-static@~1.4.4 + - deps: send@0.7.4 + +4.7.3 / 2014-08-04 +================== + + * deps: send@0.7.3 + - Fix incorrect 403 on Windows and Node.js 0.11 + * deps: serve-static@~1.4.3 + - Fix incorrect 403 on Windows and Node.js 0.11 + - deps: send@0.7.3 + +4.7.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + * deps: send@0.7.2 + - deps: depd@0.4.4 + * deps: serve-static@~1.4.2 + +4.7.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + * deps: send@0.7.1 + - deps: depd@0.4.3 + * deps: serve-static@~1.4.1 + +4.7.0 / 2014-07-25 +================== + + * fix `req.protocol` for proxy-direct connections + * configurable query parser with `app.set('query parser', parser)` + - `app.set('query parser', 'extended')` parse with "qs" module + - `app.set('query parser', 'simple')` parse with "querystring" core module + - `app.set('query parser', false)` disable query string parsing + - `app.set('query parser', true)` enable simple parsing + * deprecate `res.json(status, obj)` -- use `res.status(status).json(obj)` instead + * deprecate `res.jsonp(status, obj)` -- use `res.status(status).jsonp(obj)` instead + * deprecate `res.send(status, body)` -- use `res.status(status).send(body)` instead + * deps: debug@1.0.4 + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + * deps: finalhandler@0.1.0 + - Respond after request fully read + - deps: debug@1.0.4 + * deps: parseurl@~1.2.0 + - Cache URLs based on original value + - Remove no-longer-needed URL mis-parse work-around + - Simplify the "fast-path" `RegExp` + * deps: send@0.7.0 + - Add `dotfiles` option + - Cap `maxAge` value to 1 year + - deps: debug@1.0.4 + - deps: depd@0.4.2 + * deps: serve-static@~1.4.0 + - deps: parseurl@~1.2.0 + - deps: send@0.7.0 + * perf: prevent multiple `Buffer` creation in `res.send` + +4.6.1 / 2014-07-12 +================== + + * fix `subapp.mountpath` regression for `app.use(subapp)` + +4.6.0 / 2014-07-11 +================== + + * accept multiple callbacks to `app.use()` + * add explicit "Rosetta Flash JSONP abuse" protection + - previous versions are not vulnerable; this is just explicit protection + * catch errors in multiple `req.param(name, fn)` handlers + * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead + * fix `res.send(status, num)` to send `num` as json (not error) + * remove unnecessary escaping when `res.jsonp` returns JSON response + * support non-string `path` in `app.use(path, fn)` + - supports array of paths + - supports `RegExp` + * router: fix optimization on router exit + * router: refactor location of `try` blocks + * router: speed up standard `app.use(fn)` + * deps: debug@1.0.3 + - Add support for multiple wildcards in namespaces + * deps: finalhandler@0.0.3 + - deps: debug@1.0.3 + * deps: methods@1.1.0 + - add `CONNECT` + * deps: parseurl@~1.1.3 + - faster parsing of href-only URLs + * deps: path-to-regexp@0.1.3 + * deps: send@0.6.0 + - deps: debug@1.0.3 + * deps: serve-static@~1.3.2 + - deps: parseurl@~1.1.3 + - deps: send@0.6.0 + * perf: fix arguments reassign deopt in some `res` methods + +4.5.1 / 2014-07-06 +================== + + * fix routing regression when altering `req.method` + +4.5.0 / 2014-07-04 +================== + + * add deprecation message to non-plural `req.accepts*` + * add deprecation message to `res.send(body, status)` + * add deprecation message to `res.vary()` + * add `headers` option to `res.sendfile` + - use to set headers on successful file transfer + * add `mergeParams` option to `Router` + - merges `req.params` from parent routes + * add `req.hostname` -- correct name for what `req.host` returns + * deprecate things with `depd` module + * deprecate `req.host` -- use `req.hostname` instead + * fix behavior when handling request without routes + * fix handling when `route.all` is only route + * invoke `router.param()` only when route matches + * restore `req.params` after invoking router + * use `finalhandler` for final response handling + * use `media-typer` to alter content-type charset + * deps: accepts@~1.0.7 + * deps: send@0.5.0 + - Accept string for `maxage` (converted by `ms`) + - Include link in default redirect response + * deps: serve-static@~1.3.0 + - Accept string for `maxAge` (converted by `ms`) + - Add `setHeaders` option + - Include HTML link in redirect response + - deps: send@0.5.0 + * deps: type-is@~1.3.2 + +4.4.5 / 2014-06-26 +================== + + * deps: cookie-signature@1.0.4 + - fix for timing attacks + +4.4.4 / 2014-06-20 +================== + + * fix `res.attachment` Unicode filenames in Safari + * fix "trim prefix" debug message in `express:router` + * deps: accepts@~1.0.5 + * deps: buffer-crc32@0.2.3 + +4.4.3 / 2014-06-11 +================== + + * fix persistence of modified `req.params[name]` from `app.param()` + * deps: accepts@1.0.3 + - deps: negotiator@0.4.6 + * deps: debug@1.0.2 + * deps: send@0.4.3 + - Do not throw un-catchable error on file open race condition + - Use `escape-html` for HTML escaping + - deps: debug@1.0.2 + - deps: finished@1.2.2 + - deps: fresh@0.2.2 + * deps: serve-static@1.2.3 + - Do not throw un-catchable error on file open race condition + - deps: send@0.4.3 + +4.4.2 / 2014-06-09 +================== + + * fix catching errors from top-level handlers + * use `vary` module for `res.vary` + * deps: debug@1.0.1 + * deps: proxy-addr@1.0.1 + * deps: send@0.4.2 + - fix "event emitter leak" warnings + - deps: debug@1.0.1 + - deps: finished@1.2.1 + * deps: serve-static@1.2.2 + - fix "event emitter leak" warnings + - deps: send@0.4.2 + * deps: type-is@1.2.1 + +4.4.1 / 2014-06-02 +================== + + * deps: methods@1.0.1 + * deps: send@0.4.1 + - Send `max-age` in `Cache-Control` in correct format + * deps: serve-static@1.2.1 + - use `escape-html` for escaping + - deps: send@0.4.1 + +4.4.0 / 2014-05-30 +================== + + * custom etag control with `app.set('etag', val)` + - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation + - `app.set('etag', 'weak')` weak tag + - `app.set('etag', 'strong')` strong etag + - `app.set('etag', false)` turn off + - `app.set('etag', true)` standard etag + * mark `res.send` ETag as weak and reduce collisions + * update accepts to 1.0.2 + - Fix interpretation when header not in request + * update send to 0.4.0 + - Calculate ETag with md5 for reduced collisions + - Ignore stream errors after request ends + - deps: debug@0.8.1 + * update serve-static to 1.2.0 + - Calculate ETag with md5 for reduced collisions + - Ignore stream errors after request ends + - deps: send@0.4.0 + +4.3.2 / 2014-05-28 +================== + + * fix handling of errors from `router.param()` callbacks + +4.3.1 / 2014-05-23 +================== + + * revert "fix behavior of multiple `app.VERB` for the same path" + - this caused a regression in the order of route execution + +4.3.0 / 2014-05-21 +================== + + * add `req.baseUrl` to access the path stripped from `req.url` in routes + * fix behavior of multiple `app.VERB` for the same path + * fix issue routing requests among sub routers + * invoke `router.param()` only when necessary instead of every match + * proper proxy trust with `app.set('trust proxy', trust)` + - `app.set('trust proxy', 1)` trust first hop + - `app.set('trust proxy', 'loopback')` trust loopback addresses + - `app.set('trust proxy', '10.0.0.1')` trust single IP + - `app.set('trust proxy', '10.0.0.1/16')` trust subnet + - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list + - `app.set('trust proxy', false)` turn off + - `app.set('trust proxy', true)` trust everything + * set proper `charset` in `Content-Type` for `res.send` + * update type-is to 1.2.0 + - support suffix matching + +4.2.0 / 2014-05-11 +================== + + * deprecate `app.del()` -- use `app.delete()` instead + * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead + - the edge-case `res.json(status, num)` requires `res.status(status).json(num)` + * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead + - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)` + * fix `req.next` when inside router instance + * include `ETag` header in `HEAD` requests + * keep previous `Content-Type` for `res.jsonp` + * support PURGE method + - add `app.purge` + - add `router.purge` + - include PURGE in `app.all` + * update debug to 0.8.0 + - add `enable()` method + - change from stderr to stdout + * update methods to 1.0.0 + - add PURGE + +4.1.2 / 2014-05-08 +================== + + * fix `req.host` for IPv6 literals + * fix `res.jsonp` error if callback param is object + +4.1.1 / 2014-04-27 +================== + + * fix package.json to reflect supported node version + +4.1.0 / 2014-04-24 +================== + + * pass options from `res.sendfile` to `send` + * preserve casing of headers in `res.header` and `res.set` + * support unicode file names in `res.attachment` and `res.download` + * update accepts to 1.0.1 + - deps: negotiator@0.4.0 + * update cookie to 0.1.2 + - Fix for maxAge == 0 + - made compat with expires field + * update send to 0.3.0 + - Accept API options in options object + - Coerce option types + - Control whether to generate etags + - Default directory access to 403 when index disabled + - Fix sending files with dots without root set + - Include file path in etag + - Make "Can't set headers after they are sent." catchable + - Send full entity-body for multi range requests + - Set etags to "weak" + - Support "If-Range" header + - Support multiple index paths + - deps: mime@1.2.11 + * update serve-static to 1.1.0 + - Accept options directly to `send` module + - Resolve relative paths at middleware setup + - Use parseurl to parse the URL from request + - deps: send@0.3.0 + * update type-is to 1.1.0 + - add non-array values support + - add `multipart` as a shorthand + +4.0.0 / 2014-04-09 +================== + + * remove: + - node 0.8 support + - connect and connect's patches except for charset handling + - express(1) - moved to [express-generator](https://github.com/expressjs/generator) + - `express.createServer()` - it has been deprecated for a long time. Use `express()` + - `app.configure` - use logic in your own app code + - `app.router` - is removed + - `req.auth` - use `basic-auth` instead + - `req.accepted*` - use `req.accepts*()` instead + - `res.location` - relative URL resolution is removed + - `res.charset` - include the charset in the content type when using `res.set()` + - all bundled middleware except `static` + * change: + - `app.route` -> `app.mountpath` when mounting an express app in another express app + - `json spaces` no longer enabled by default in development + - `req.accepts*` -> `req.accepts*s` - i.e. `req.acceptsEncoding` -> `req.acceptsEncodings` + - `req.params` is now an object instead of an array + - `res.locals` is no longer a function. It is a plain js object. Treat it as such. + - `res.headerSent` -> `res.headersSent` to match node.js ServerResponse object + * refactor: + - `req.accepts*` with [accepts](https://github.com/expressjs/accepts) + - `req.is` with [type-is](https://github.com/expressjs/type-is) + - [path-to-regexp](https://github.com/component/path-to-regexp) + * add: + - `app.router()` - returns the app Router instance + - `app.route()` - Proxy to the app's `Router#route()` method to create a new route + - Router & Route - public API + +3.21.2 / 2015-07-31 +=================== + + * deps: connect@2.30.2 + - deps: body-parser@~1.13.3 + - deps: compression@~1.5.2 + - deps: errorhandler@~1.4.2 + - deps: method-override@~2.3.5 + - deps: serve-index@~1.7.2 + - deps: type-is@~1.6.6 + - deps: vhost@~3.0.1 + * deps: vary@~1.0.1 + - Fix setting empty header from empty `field` + - perf: enable strict mode + - perf: remove argument reassignments + +3.21.1 / 2015-07-05 +=================== + + * deps: basic-auth@~1.0.3 + * deps: connect@2.30.1 + - deps: body-parser@~1.13.2 + - deps: compression@~1.5.1 + - deps: errorhandler@~1.4.1 + - deps: morgan@~1.6.1 + - deps: pause@0.1.0 + - deps: qs@4.0.0 + - deps: serve-index@~1.7.1 + - deps: type-is@~1.6.4 + +3.21.0 / 2015-06-18 +=================== + + * deps: basic-auth@1.0.2 + - perf: enable strict mode + - perf: hoist regular expression + - perf: parse with regular expressions + - perf: remove argument reassignment + * deps: connect@2.30.0 + - deps: body-parser@~1.13.1 + - deps: bytes@2.1.0 + - deps: compression@~1.5.0 + - deps: cookie@0.1.3 + - deps: cookie-parser@~1.3.5 + - deps: csurf@~1.8.3 + - deps: errorhandler@~1.4.0 + - deps: express-session@~1.11.3 + - deps: finalhandler@0.4.0 + - deps: fresh@0.3.0 + - deps: morgan@~1.6.0 + - deps: serve-favicon@~2.3.0 + - deps: serve-index@~1.7.0 + - deps: serve-static@~1.10.0 + - deps: type-is@~1.6.3 + * deps: cookie@0.1.3 + - perf: deduce the scope of try-catch deopt + - perf: remove argument reassignments + * deps: escape-html@1.0.2 + * deps: etag@~1.7.0 + - Always include entity length in ETags for hash length extensions + - Generate non-Stats ETags using MD5 only (no longer CRC32) + - Improve stat performance by removing hashing + - Improve support for JXcore + - Remove base64 padding in ETags to shorten + - Support "fake" stats objects in environments without fs + - Use MD5 instead of MD4 in weak ETags over 1KB + * deps: fresh@0.3.0 + - Add weak `ETag` matching support + * deps: mkdirp@0.5.1 + - Work in global strict mode + * deps: send@0.13.0 + - Allow Node.js HTTP server to set `Date` response header + - Fix incorrectly removing `Content-Location` on 304 response + - Improve the default redirect response headers + - Send appropriate headers on default error response + - Use `http-errors` for standard emitted errors + - Use `statuses` instead of `http` module for status messages + - deps: escape-html@1.0.2 + - deps: etag@~1.7.0 + - deps: fresh@0.3.0 + - deps: on-finished@~2.3.0 + - perf: enable strict mode + - perf: remove unnecessary array allocations + +3.20.3 / 2015-05-17 +=================== + + * deps: connect@2.29.2 + - deps: body-parser@~1.12.4 + - deps: compression@~1.4.4 + - deps: connect-timeout@~1.6.2 + - deps: debug@~2.2.0 + - deps: depd@~1.0.1 + - deps: errorhandler@~1.3.6 + - deps: finalhandler@0.3.6 + - deps: method-override@~2.3.3 + - deps: morgan@~1.5.3 + - deps: qs@2.4.2 + - deps: response-time@~2.3.1 + - deps: serve-favicon@~2.2.1 + - deps: serve-index@~1.6.4 + - deps: serve-static@~1.9.3 + - deps: type-is@~1.6.2 + * deps: debug@~2.2.0 + - deps: ms@0.7.1 + * deps: depd@~1.0.1 + * deps: proxy-addr@~1.0.8 + - deps: ipaddr.js@1.0.1 + * deps: send@0.12.3 + - deps: debug@~2.2.0 + - deps: depd@~1.0.1 + - deps: etag@~1.6.0 + - deps: ms@0.7.1 + - deps: on-finished@~2.2.1 + +3.20.2 / 2015-03-16 +=================== + + * deps: connect@2.29.1 + - deps: body-parser@~1.12.2 + - deps: compression@~1.4.3 + - deps: connect-timeout@~1.6.1 + - deps: debug@~2.1.3 + - deps: errorhandler@~1.3.5 + - deps: express-session@~1.10.4 + - deps: finalhandler@0.3.4 + - deps: method-override@~2.3.2 + - deps: morgan@~1.5.2 + - deps: qs@2.4.1 + - deps: serve-index@~1.6.3 + - deps: serve-static@~1.9.2 + - deps: type-is@~1.6.1 + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * deps: merge-descriptors@1.0.0 + * deps: proxy-addr@~1.0.7 + - deps: ipaddr.js@0.1.9 + * deps: send@0.12.2 + - Throw errors early for invalid `extensions` or `index` options + - deps: debug@~2.1.3 + +3.20.1 / 2015-02-28 +=================== + + * Fix `req.host` when using "trust proxy" hops count + * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count + +3.20.0 / 2015-02-18 +=================== + + * Fix `"trust proxy"` setting to inherit when app is mounted + * Generate `ETag`s for all request responses + - No longer restricted to only responses for `GET` and `HEAD` requests + * Use `content-type` to parse `Content-Type` headers + * deps: connect@2.29.0 + - Use `content-type` to parse `Content-Type` headers + - deps: body-parser@~1.12.0 + - deps: compression@~1.4.1 + - deps: connect-timeout@~1.6.0 + - deps: cookie-parser@~1.3.4 + - deps: cookie-signature@1.0.6 + - deps: csurf@~1.7.0 + - deps: errorhandler@~1.3.4 + - deps: express-session@~1.10.3 + - deps: http-errors@~1.3.1 + - deps: response-time@~2.3.0 + - deps: serve-index@~1.6.2 + - deps: serve-static@~1.9.1 + - deps: type-is@~1.6.0 + * deps: cookie-signature@1.0.6 + * deps: send@0.12.1 + - Always read the stat size from the file + - Fix mutating passed-in `options` + - deps: mime@1.3.4 + +3.19.2 / 2015-02-01 +=================== + + * deps: connect@2.28.3 + - deps: compression@~1.3.1 + - deps: csurf@~1.6.6 + - deps: errorhandler@~1.3.3 + - deps: express-session@~1.10.2 + - deps: serve-index@~1.6.1 + - deps: type-is@~1.5.6 + * deps: proxy-addr@~1.0.6 + - deps: ipaddr.js@0.1.8 + +3.19.1 / 2015-01-20 +=================== + + * deps: connect@2.28.2 + - deps: body-parser@~1.10.2 + - deps: serve-static@~1.8.1 + * deps: send@0.11.1 + - Fix root path disclosure + +3.19.0 / 2015-01-09 +=================== + + * Fix `OPTIONS` responses to include the `HEAD` method property + * Use `readline` for prompt in `express(1)` + * deps: commander@2.6.0 + * deps: connect@2.28.1 + - deps: body-parser@~1.10.1 + - deps: compression@~1.3.0 + - deps: connect-timeout@~1.5.0 + - deps: csurf@~1.6.4 + - deps: debug@~2.1.1 + - deps: errorhandler@~1.3.2 + - deps: express-session@~1.10.1 + - deps: finalhandler@0.3.3 + - deps: method-override@~2.3.1 + - deps: morgan@~1.5.1 + - deps: serve-favicon@~2.2.0 + - deps: serve-index@~1.6.0 + - deps: serve-static@~1.8.0 + - deps: type-is@~1.5.5 + * deps: debug@~2.1.1 + * deps: methods@~1.1.1 + * deps: proxy-addr@~1.0.5 + - deps: ipaddr.js@0.1.6 + * deps: send@0.11.0 + - deps: debug@~2.1.1 + - deps: etag@~1.5.1 + - deps: ms@0.7.0 + - deps: on-finished@~2.2.0 + +3.18.6 / 2014-12-12 +=================== + + * Fix exception in `req.fresh`/`req.stale` without response headers + +3.18.5 / 2014-12-11 +=================== + + * deps: connect@2.27.6 + - deps: compression@~1.2.2 + - deps: express-session@~1.9.3 + - deps: http-errors@~1.2.8 + - deps: serve-index@~1.5.3 + - deps: type-is@~1.5.4 + +3.18.4 / 2014-11-23 +=================== + + * deps: connect@2.27.4 + - deps: body-parser@~1.9.3 + - deps: compression@~1.2.1 + - deps: errorhandler@~1.2.3 + - deps: express-session@~1.9.2 + - deps: qs@2.3.3 + - deps: serve-favicon@~2.1.7 + - deps: serve-static@~1.5.1 + - deps: type-is@~1.5.3 + * deps: etag@~1.5.1 + * deps: proxy-addr@~1.0.4 + - deps: ipaddr.js@0.1.5 + +3.18.3 / 2014-11-09 +=================== + + * deps: connect@2.27.3 + - Correctly invoke async callback asynchronously + - deps: csurf@~1.6.3 + +3.18.2 / 2014-10-28 +=================== + + * deps: connect@2.27.2 + - Fix handling of URLs containing `://` in the path + - deps: body-parser@~1.9.2 + - deps: qs@2.3.2 + +3.18.1 / 2014-10-22 +=================== + + * Fix internal `utils.merge` deprecation warnings + * deps: connect@2.27.1 + - deps: body-parser@~1.9.1 + - deps: express-session@~1.9.1 + - deps: finalhandler@0.3.2 + - deps: morgan@~1.4.1 + - deps: qs@2.3.0 + - deps: serve-static@~1.7.1 + * deps: send@0.10.1 + - deps: on-finished@~2.1.1 + +3.18.0 / 2014-10-17 +=================== + + * Use `content-disposition` module for `res.attachment`/`res.download` + - Sends standards-compliant `Content-Disposition` header + - Full Unicode support + * Use `etag` module to generate `ETag` headers + * deps: connect@2.27.0 + - Use `http-errors` module for creating errors + - Use `utils-merge` module for merging objects + - deps: body-parser@~1.9.0 + - deps: compression@~1.2.0 + - deps: connect-timeout@~1.4.0 + - deps: debug@~2.1.0 + - deps: depd@~1.0.0 + - deps: express-session@~1.9.0 + - deps: finalhandler@0.3.1 + - deps: method-override@~2.3.0 + - deps: morgan@~1.4.0 + - deps: response-time@~2.2.0 + - deps: serve-favicon@~2.1.6 + - deps: serve-index@~1.5.0 + - deps: serve-static@~1.7.0 + * deps: debug@~2.1.0 + - Implement `DEBUG_FD` env variable support + * deps: depd@~1.0.0 + * deps: send@0.10.0 + - deps: debug@~2.1.0 + - deps: depd@~1.0.0 + - deps: etag@~1.5.0 + +3.17.8 / 2014-10-15 +=================== + + * deps: connect@2.26.6 + - deps: compression@~1.1.2 + - deps: csurf@~1.6.2 + - deps: errorhandler@~1.2.2 + +3.17.7 / 2014-10-08 +=================== + + * deps: connect@2.26.5 + - Fix accepting non-object arguments to `logger` + - deps: serve-static@~1.6.4 + +3.17.6 / 2014-10-02 +=================== + + * deps: connect@2.26.4 + - deps: morgan@~1.3.2 + - deps: type-is@~1.5.2 + +3.17.5 / 2014-09-24 +=================== + + * deps: connect@2.26.3 + - deps: body-parser@~1.8.4 + - deps: serve-favicon@~2.1.5 + - deps: serve-static@~1.6.3 + * deps: proxy-addr@~1.0.3 + - Use `forwarded` npm module + * deps: send@0.9.3 + - deps: etag@~1.4.0 + +3.17.4 / 2014-09-19 +=================== + + * deps: connect@2.26.2 + - deps: body-parser@~1.8.3 + - deps: qs@2.2.4 + +3.17.3 / 2014-09-18 +=================== + + * deps: proxy-addr@~1.0.2 + - Fix a global leak when multiple subnets are trusted + - deps: ipaddr.js@0.1.3 + +3.17.2 / 2014-09-15 +=================== + + * Use `crc` instead of `buffer-crc32` for speed + * deps: connect@2.26.1 + - deps: body-parser@~1.8.2 + - deps: depd@0.4.5 + - deps: express-session@~1.8.2 + - deps: morgan@~1.3.1 + - deps: serve-favicon@~2.1.3 + - deps: serve-static@~1.6.2 + * deps: depd@0.4.5 + * deps: send@0.9.2 + - deps: depd@0.4.5 + - deps: etag@~1.3.1 + - deps: range-parser@~1.0.2 + +3.17.1 / 2014-09-08 +=================== + + * Fix error in `req.subdomains` on empty host + +3.17.0 / 2014-09-08 +=================== + + * Support `X-Forwarded-Host` in `req.subdomains` + * Support IP address host in `req.subdomains` + * deps: connect@2.26.0 + - deps: body-parser@~1.8.1 + - deps: compression@~1.1.0 + - deps: connect-timeout@~1.3.0 + - deps: cookie-parser@~1.3.3 + - deps: cookie-signature@1.0.5 + - deps: csurf@~1.6.1 + - deps: debug@~2.0.0 + - deps: errorhandler@~1.2.0 + - deps: express-session@~1.8.1 + - deps: finalhandler@0.2.0 + - deps: fresh@0.2.4 + - deps: media-typer@0.3.0 + - deps: method-override@~2.2.0 + - deps: morgan@~1.3.0 + - deps: qs@2.2.3 + - deps: serve-favicon@~2.1.3 + - deps: serve-index@~1.2.1 + - deps: serve-static@~1.6.1 + - deps: type-is@~1.5.1 + - deps: vhost@~3.0.0 + * deps: cookie-signature@1.0.5 + * deps: debug@~2.0.0 + * deps: fresh@0.2.4 + * deps: media-typer@0.3.0 + - Throw error when parameter format invalid on parse + * deps: range-parser@~1.0.2 + * deps: send@0.9.1 + - Add `lastModified` option + - Use `etag` to generate `ETag` header + - deps: debug@~2.0.0 + - deps: fresh@0.2.4 + * deps: vary@~1.0.0 + - Accept valid `Vary` header string as `field` + +3.16.10 / 2014-09-04 +==================== + + * deps: connect@2.25.10 + - deps: serve-static@~1.5.4 + * deps: send@0.8.5 + - Fix a path traversal issue when using `root` + - Fix malicious path detection for empty string path + +3.16.9 / 2014-08-29 +=================== + + * deps: connect@2.25.9 + - deps: body-parser@~1.6.7 + - deps: qs@2.2.2 + +3.16.8 / 2014-08-27 +=================== + + * deps: connect@2.25.8 + - deps: body-parser@~1.6.6 + - deps: csurf@~1.4.1 + - deps: qs@2.2.0 + +3.16.7 / 2014-08-18 +=================== + + * deps: connect@2.25.7 + - deps: body-parser@~1.6.5 + - deps: express-session@~1.7.6 + - deps: morgan@~1.2.3 + - deps: serve-static@~1.5.3 + * deps: send@0.8.3 + - deps: destroy@1.0.3 + - deps: on-finished@2.1.0 + +3.16.6 / 2014-08-14 +=================== + + * deps: connect@2.25.6 + - deps: body-parser@~1.6.4 + - deps: qs@1.2.2 + - deps: serve-static@~1.5.2 + * deps: send@0.8.2 + - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream` + +3.16.5 / 2014-08-11 +=================== + + * deps: connect@2.25.5 + - Fix backwards compatibility in `logger` + +3.16.4 / 2014-08-10 +=================== + + * Fix original URL parsing in `res.location` + * deps: connect@2.25.4 + - Fix `query` middleware breaking with argument + - deps: body-parser@~1.6.3 + - deps: compression@~1.0.11 + - deps: connect-timeout@~1.2.2 + - deps: express-session@~1.7.5 + - deps: method-override@~2.1.3 + - deps: on-headers@~1.0.0 + - deps: parseurl@~1.3.0 + - deps: qs@1.2.1 + - deps: response-time@~2.0.1 + - deps: serve-index@~1.1.6 + - deps: serve-static@~1.5.1 + * deps: parseurl@~1.3.0 + +3.16.3 / 2014-08-07 +=================== + + * deps: connect@2.25.3 + - deps: multiparty@3.3.2 + +3.16.2 / 2014-08-07 +=================== + + * deps: connect@2.25.2 + - deps: body-parser@~1.6.2 + - deps: qs@1.2.0 + +3.16.1 / 2014-08-06 +=================== + + * deps: connect@2.25.1 + - deps: body-parser@~1.6.1 + - deps: qs@1.1.0 + +3.16.0 / 2014-08-05 +=================== + + * deps: connect@2.25.0 + - deps: body-parser@~1.6.0 + - deps: compression@~1.0.10 + - deps: csurf@~1.4.0 + - deps: express-session@~1.7.4 + - deps: qs@1.0.2 + - deps: serve-static@~1.5.0 + * deps: send@0.8.1 + - Add `extensions` option + +3.15.3 / 2014-08-04 +=================== + + * fix `res.sendfile` regression for serving directory index files + * deps: connect@2.24.3 + - deps: serve-index@~1.1.5 + - deps: serve-static@~1.4.4 + * deps: send@0.7.4 + - Fix incorrect 403 on Windows and Node.js 0.11 + - Fix serving index files without root dir + +3.15.2 / 2014-07-27 +=================== + + * deps: connect@2.24.2 + - deps: body-parser@~1.5.2 + - deps: depd@0.4.4 + - deps: express-session@~1.7.2 + - deps: morgan@~1.2.2 + - deps: serve-static@~1.4.2 + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + * deps: send@0.7.2 + - deps: depd@0.4.4 + +3.15.1 / 2014-07-26 +=================== + + * deps: connect@2.24.1 + - deps: body-parser@~1.5.1 + - deps: depd@0.4.3 + - deps: express-session@~1.7.1 + - deps: morgan@~1.2.1 + - deps: serve-index@~1.1.4 + - deps: serve-static@~1.4.1 + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + * deps: send@0.7.1 + - deps: depd@0.4.3 + +3.15.0 / 2014-07-22 +=================== + + * Fix `req.protocol` for proxy-direct connections + * Pass options from `res.sendfile` to `send` + * deps: connect@2.24.0 + - deps: body-parser@~1.5.0 + - deps: compression@~1.0.9 + - deps: connect-timeout@~1.2.1 + - deps: debug@1.0.4 + - deps: depd@0.4.2 + - deps: express-session@~1.7.0 + - deps: finalhandler@0.1.0 + - deps: method-override@~2.1.2 + - deps: morgan@~1.2.0 + - deps: multiparty@3.3.1 + - deps: parseurl@~1.2.0 + - deps: serve-static@~1.4.0 + * deps: debug@1.0.4 + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + * deps: parseurl@~1.2.0 + - Cache URLs based on original value + - Remove no-longer-needed URL mis-parse work-around + - Simplify the "fast-path" `RegExp` + * deps: send@0.7.0 + - Add `dotfiles` option + - Cap `maxAge` value to 1 year + - deps: debug@1.0.4 + - deps: depd@0.4.2 + +3.14.0 / 2014-07-11 +=================== + + * add explicit "Rosetta Flash JSONP abuse" protection + - previous versions are not vulnerable; this is just explicit protection + * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead + * fix `res.send(status, num)` to send `num` as json (not error) + * remove unnecessary escaping when `res.jsonp` returns JSON response + * deps: basic-auth@1.0.0 + - support empty password + - support empty username + * deps: connect@2.23.0 + - deps: debug@1.0.3 + - deps: express-session@~1.6.4 + - deps: method-override@~2.1.0 + - deps: parseurl@~1.1.3 + - deps: serve-static@~1.3.1 + * deps: debug@1.0.3 + - Add support for multiple wildcards in namespaces + * deps: methods@1.1.0 + - add `CONNECT` + * deps: parseurl@~1.1.3 + - faster parsing of href-only URLs + +3.13.0 / 2014-07-03 +=================== + + * add deprecation message to `app.configure` + * add deprecation message to `req.auth` + * use `basic-auth` to parse `Authorization` header + * deps: connect@2.22.0 + - deps: csurf@~1.3.0 + - deps: express-session@~1.6.1 + - deps: multiparty@3.3.0 + - deps: serve-static@~1.3.0 + * deps: send@0.5.0 + - Accept string for `maxage` (converted by `ms`) + - Include link in default redirect response + +3.12.1 / 2014-06-26 +=================== + + * deps: connect@2.21.1 + - deps: cookie-parser@1.3.2 + - deps: cookie-signature@1.0.4 + - deps: express-session@~1.5.2 + - deps: type-is@~1.3.2 + * deps: cookie-signature@1.0.4 + - fix for timing attacks + +3.12.0 / 2014-06-21 +=================== + + * use `media-typer` to alter content-type charset + * deps: connect@2.21.0 + - deprecate `connect(middleware)` -- use `app.use(middleware)` instead + - deprecate `connect.createServer()` -- use `connect()` instead + - fix `res.setHeader()` patch to work with with get -> append -> set pattern + - deps: compression@~1.0.8 + - deps: errorhandler@~1.1.1 + - deps: express-session@~1.5.0 + - deps: serve-index@~1.1.3 + +3.11.0 / 2014-06-19 +=================== + + * deprecate things with `depd` module + * deps: buffer-crc32@0.2.3 + * deps: connect@2.20.2 + - deprecate `verify` option to `json` -- use `body-parser` npm module instead + - deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead + - deprecate things with `depd` module + - use `finalhandler` for final response handling + - use `media-typer` to parse `content-type` for charset + - deps: body-parser@1.4.3 + - deps: connect-timeout@1.1.1 + - deps: cookie-parser@1.3.1 + - deps: csurf@1.2.2 + - deps: errorhandler@1.1.0 + - deps: express-session@1.4.0 + - deps: multiparty@3.2.9 + - deps: serve-index@1.1.2 + - deps: type-is@1.3.1 + - deps: vhost@2.0.0 + +3.10.5 / 2014-06-11 +=================== + + * deps: connect@2.19.6 + - deps: body-parser@1.3.1 + - deps: compression@1.0.7 + - deps: debug@1.0.2 + - deps: serve-index@1.1.1 + - deps: serve-static@1.2.3 + * deps: debug@1.0.2 + * deps: send@0.4.3 + - Do not throw un-catchable error on file open race condition + - Use `escape-html` for HTML escaping + - deps: debug@1.0.2 + - deps: finished@1.2.2 + - deps: fresh@0.2.2 + +3.10.4 / 2014-06-09 +=================== + + * deps: connect@2.19.5 + - fix "event emitter leak" warnings + - deps: csurf@1.2.1 + - deps: debug@1.0.1 + - deps: serve-static@1.2.2 + - deps: type-is@1.2.1 + * deps: debug@1.0.1 + * deps: send@0.4.2 + - fix "event emitter leak" warnings + - deps: finished@1.2.1 + - deps: debug@1.0.1 + +3.10.3 / 2014-06-05 +=================== + + * use `vary` module for `res.vary` + * deps: connect@2.19.4 + - deps: errorhandler@1.0.2 + - deps: method-override@2.0.2 + - deps: serve-favicon@2.0.1 + * deps: debug@1.0.0 + +3.10.2 / 2014-06-03 +=================== + + * deps: connect@2.19.3 + - deps: compression@1.0.6 + +3.10.1 / 2014-06-03 +=================== + + * deps: connect@2.19.2 + - deps: compression@1.0.4 + * deps: proxy-addr@1.0.1 + +3.10.0 / 2014-06-02 +=================== + + * deps: connect@2.19.1 + - deprecate `methodOverride()` -- use `method-override` npm module instead + - deps: body-parser@1.3.0 + - deps: method-override@2.0.1 + - deps: multiparty@3.2.8 + - deps: response-time@2.0.0 + - deps: serve-static@1.2.1 + * deps: methods@1.0.1 + * deps: send@0.4.1 + - Send `max-age` in `Cache-Control` in correct format + +3.9.0 / 2014-05-30 +================== + + * custom etag control with `app.set('etag', val)` + - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation + - `app.set('etag', 'weak')` weak tag + - `app.set('etag', 'strong')` strong etag + - `app.set('etag', false)` turn off + - `app.set('etag', true)` standard etag + * Include ETag in HEAD requests + * mark `res.send` ETag as weak and reduce collisions + * update connect to 2.18.0 + - deps: compression@1.0.3 + - deps: serve-index@1.1.0 + - deps: serve-static@1.2.0 + * update send to 0.4.0 + - Calculate ETag with md5 for reduced collisions + - Ignore stream errors after request ends + - deps: debug@0.8.1 + +3.8.1 / 2014-05-27 +================== + + * update connect to 2.17.3 + - deps: body-parser@1.2.2 + - deps: express-session@1.2.1 + - deps: method-override@1.0.2 + +3.8.0 / 2014-05-21 +================== + + * keep previous `Content-Type` for `res.jsonp` + * set proper `charset` in `Content-Type` for `res.send` + * update connect to 2.17.1 + - fix `res.charset` appending charset when `content-type` has one + - deps: express-session@1.2.0 + - deps: morgan@1.1.1 + - deps: serve-index@1.0.3 + +3.7.0 / 2014-05-18 +================== + + * proper proxy trust with `app.set('trust proxy', trust)` + - `app.set('trust proxy', 1)` trust first hop + - `app.set('trust proxy', 'loopback')` trust loopback addresses + - `app.set('trust proxy', '10.0.0.1')` trust single IP + - `app.set('trust proxy', '10.0.0.1/16')` trust subnet + - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list + - `app.set('trust proxy', false)` turn off + - `app.set('trust proxy', true)` trust everything + * update connect to 2.16.2 + - deprecate `res.headerSent` -- use `res.headersSent` + - deprecate `res.on("header")` -- use on-headers module instead + - fix edge-case in `res.appendHeader` that would append in wrong order + - json: use body-parser + - urlencoded: use body-parser + - dep: bytes@1.0.0 + - dep: cookie-parser@1.1.0 + - dep: csurf@1.2.0 + - dep: express-session@1.1.0 + - dep: method-override@1.0.1 + +3.6.0 / 2014-05-09 +================== + + * deprecate `app.del()` -- use `app.delete()` instead + * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead + - the edge-case `res.json(status, num)` requires `res.status(status).json(num)` + * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead + - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)` + * support PURGE method + - add `app.purge` + - add `router.purge` + - include PURGE in `app.all` + * update connect to 2.15.0 + * Add `res.appendHeader` + * Call error stack even when response has been sent + * Patch `res.headerSent` to return Boolean + * Patch `res.headersSent` for node.js 0.8 + * Prevent default 404 handler after response sent + * dep: compression@1.0.2 + * dep: connect-timeout@1.1.0 + * dep: debug@^0.8.0 + * dep: errorhandler@1.0.1 + * dep: express-session@1.0.4 + * dep: morgan@1.0.1 + * dep: serve-favicon@2.0.0 + * dep: serve-index@1.0.2 + * update debug to 0.8.0 + * add `enable()` method + * change from stderr to stdout + * update methods to 1.0.0 + - add PURGE + * update mkdirp to 0.5.0 + +3.5.3 / 2014-05-08 +================== + + * fix `req.host` for IPv6 literals + * fix `res.jsonp` error if callback param is object + +3.5.2 / 2014-04-24 +================== + + * update connect to 2.14.5 + * update cookie to 0.1.2 + * update mkdirp to 0.4.0 + * update send to 0.3.0 + +3.5.1 / 2014-03-25 +================== + + * pin less-middleware in generated app + +3.5.0 / 2014-03-06 +================== + + * bump deps + +3.4.8 / 2014-01-13 +================== + + * prevent incorrect automatic OPTIONS responses #1868 @dpatti + * update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi + * throw 400 in case of malformed paths @rlidwka + +3.4.7 / 2013-12-10 +================== + + * update connect + +3.4.6 / 2013-12-01 +================== + + * update connect (raw-body) + +3.4.5 / 2013-11-27 +================== + + * update connect + * res.location: remove leading ./ #1802 @kapouer + * res.redirect: fix `res.redirect('toString') #1829 @michaelficarra + * res.send: always send ETag when content-length > 0 + * router: add Router.all() method + +3.4.4 / 2013-10-29 +================== + + * update connect + * update supertest + * update methods + * express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04 + +3.4.3 / 2013-10-23 +================== + + * update connect + +3.4.2 / 2013-10-18 +================== + + * update connect + * downgrade commander + +3.4.1 / 2013-10-15 +================== + + * update connect + * update commander + * jsonp: check if callback is a function + * router: wrap encodeURIComponent in a try/catch #1735 (@lxe) + * res.format: now includes charset @1747 (@sorribas) + * res.links: allow multiple calls @1746 (@sorribas) + +3.4.0 / 2013-09-07 +================== + + * add res.vary(). Closes #1682 + * update connect + +3.3.8 / 2013-09-02 +================== + + * update connect + +3.3.7 / 2013-08-28 +================== + + * update connect + +3.3.6 / 2013-08-27 +================== + + * Revert "remove charset from json responses. Closes #1631" (causes issues in some clients) + * add: req.accepts take an argument list + +3.3.4 / 2013-07-08 +================== + + * update send and connect + +3.3.3 / 2013-07-04 +================== + + * update connect + +3.3.2 / 2013-07-03 +================== + + * update connect + * update send + * remove .version export + +3.3.1 / 2013-06-27 +================== + + * update connect + +3.3.0 / 2013-06-26 +================== + + * update connect + * add support for multiple X-Forwarded-Proto values. Closes #1646 + * change: remove charset from json responses. Closes #1631 + * change: return actual booleans from req.accept* functions + * fix jsonp callback array throw + +3.2.6 / 2013-06-02 +================== + + * update connect + +3.2.5 / 2013-05-21 +================== + + * update connect + * update node-cookie + * add: throw a meaningful error when there is no default engine + * change generation of ETags with res.send() to GET requests only. Closes #1619 + +3.2.4 / 2013-05-09 +================== + + * fix `req.subdomains` when no Host is present + * fix `req.host` when no Host is present, return undefined + +3.2.3 / 2013-05-07 +================== + + * update connect / qs + +3.2.2 / 2013-05-03 +================== + + * update qs + +3.2.1 / 2013-04-29 +================== + + * add app.VERB() paths array deprecation warning + * update connect + * update qs and remove all ~ semver crap + * fix: accept number as value of Signed Cookie + +3.2.0 / 2013-04-15 +================== + + * add "view" constructor setting to override view behaviour + * add req.acceptsEncoding(name) + * add req.acceptedEncodings + * revert cookie signature change causing session race conditions + * fix sorting of Accept values of the same quality + +3.1.2 / 2013-04-12 +================== + + * add support for custom Accept parameters + * update cookie-signature + +3.1.1 / 2013-04-01 +================== + + * add X-Forwarded-Host support to `req.host` + * fix relative redirects + * update mkdirp + * update buffer-crc32 + * remove legacy app.configure() method from app template. + +3.1.0 / 2013-01-25 +================== + + * add support for leading "." in "view engine" setting + * add array support to `res.set()` + * add node 0.8.x to travis.yml + * add "subdomain offset" setting for tweaking `req.subdomains` + * add `res.location(url)` implementing `res.redirect()`-like setting of Location + * use app.get() for x-powered-by setting for inheritance + * fix colons in passwords for `req.auth` + +3.0.6 / 2013-01-04 +================== + + * add http verb methods to Router + * update connect + * fix mangling of the `res.cookie()` options object + * fix jsonp whitespace escape. Closes #1132 + +3.0.5 / 2012-12-19 +================== + + * add throwing when a non-function is passed to a route + * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses + * revert "add 'etag' option" + +3.0.4 / 2012-12-05 +================== + + * add 'etag' option to disable `res.send()` Etags + * add escaping of urls in text/plain in `res.redirect()` + for old browsers interpreting as html + * change crc32 module for a more liberal license + * update connect + +3.0.3 / 2012-11-13 +================== + + * update connect + * update cookie module + * fix cookie max-age + +3.0.2 / 2012-11-08 +================== + + * add OPTIONS to cors example. Closes #1398 + * fix route chaining regression. Closes #1397 + +3.0.1 / 2012-11-01 +================== + + * update connect + +3.0.0 / 2012-10-23 +================== + + * add `make clean` + * add "Basic" check to req.auth + * add `req.auth` test coverage + * add cb && cb(payload) to `res.jsonp()`. Closes #1374 + * add backwards compat for `res.redirect()` status. Closes #1336 + * add support for `res.json()` to retain previously defined Content-Types. Closes #1349 + * update connect + * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382 + * remove non-primitive string support for `res.send()` + * fix view-locals example. Closes #1370 + * fix route-separation example + +3.0.0rc5 / 2012-09-18 +================== + + * update connect + * add redis search example + * add static-files example + * add "x-powered-by" setting (`app.disable('x-powered-by')`) + * add "application/octet-stream" redirect Accept test case. Closes #1317 + +3.0.0rc4 / 2012-08-30 +================== + + * add `res.jsonp()`. Closes #1307 + * add "verbose errors" option to error-pages example + * add another route example to express(1) so people are not so confused + * add redis online user activity tracking example + * update connect dep + * fix etag quoting. Closes #1310 + * fix error-pages 404 status + * fix jsonp callback char restrictions + * remove old OPTIONS default response + +3.0.0rc3 / 2012-08-13 +================== + + * update connect dep + * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds] + * fix `res.render()` clobbering of "locals" + +3.0.0rc2 / 2012-08-03 +================== + + * add CORS example + * update connect dep + * deprecate `.createServer()` & remove old stale examples + * fix: escape `res.redirect()` link + * fix vhost example + +3.0.0rc1 / 2012-07-24 +================== + + * add more examples to view-locals + * add scheme-relative redirects (`res.redirect("//foo.com")`) support + * update cookie dep + * update connect dep + * update send dep + * fix `express(1)` -h flag, use -H for hogan. Closes #1245 + * fix `res.sendfile()` socket error handling regression + +3.0.0beta7 / 2012-07-16 +================== + + * update connect dep for `send()` root normalization regression + +3.0.0beta6 / 2012-07-13 +================== + + * add `err.view` property for view errors. Closes #1226 + * add "jsonp callback name" setting + * add support for "/foo/:bar*" non-greedy matches + * change `res.sendfile()` to use `send()` module + * change `res.send` to use "response-send" module + * remove `app.locals.use` and `res.locals.use`, use regular middleware + +3.0.0beta5 / 2012-07-03 +================== + + * add "make check" support + * add route-map example + * add `res.json(obj, status)` support back for BC + * add "methods" dep, remove internal methods module + * update connect dep + * update auth example to utilize cores pbkdf2 + * updated tests to use "supertest" + +3.0.0beta4 / 2012-06-25 +================== + + * Added `req.auth` + * Added `req.range(size)` + * Added `res.links(obj)` + * Added `res.send(body, status)` support back for backwards compat + * Added `.default()` support to `res.format()` + * Added 2xx / 304 check to `req.fresh` + * Revert "Added + support to the router" + * Fixed `res.send()` freshness check, respect res.statusCode + +3.0.0beta3 / 2012-06-15 +================== + + * Added hogan `--hjs` to express(1) [nullfirm] + * Added another example to content-negotiation + * Added `fresh` dep + * Changed: `res.send()` always checks freshness + * Fixed: expose connects mime module. Closes #1165 + +3.0.0beta2 / 2012-06-06 +================== + + * Added `+` support to the router + * Added `req.host` + * Changed `req.param()` to check route first + * Update connect dep + +3.0.0beta1 / 2012-06-01 +================== + + * Added `res.format()` callback to override default 406 behaviour + * Fixed `res.redirect()` 406. Closes #1154 + +3.0.0alpha5 / 2012-05-30 +================== + + * Added `req.ip` + * Added `{ signed: true }` option to `res.cookie()` + * Removed `res.signedCookie()` + * Changed: dont reverse `req.ips` + * Fixed "trust proxy" setting check for `req.ips` + +3.0.0alpha4 / 2012-05-09 +================== + + * Added: allow `[]` in jsonp callback. Closes #1128 + * Added `PORT` env var support in generated template. Closes #1118 [benatkin] + * Updated: connect 2.2.2 + +3.0.0alpha3 / 2012-05-04 +================== + + * Added public `app.routes`. Closes #887 + * Added _view-locals_ example + * Added _mvc_ example + * Added `res.locals.use()`. Closes #1120 + * Added conditional-GET support to `res.send()` + * Added: coerce `res.set()` values to strings + * Changed: moved `static()` in generated apps below router + * Changed: `res.send()` only set ETag when not previously set + * Changed connect 2.2.1 dep + * Changed: `make test` now runs unit / acceptance tests + * Fixed req/res proto inheritance + +3.0.0alpha2 / 2012-04-26 +================== + + * Added `make benchmark` back + * Added `res.send()` support for `String` objects + * Added client-side data exposing example + * Added `res.header()` and `req.header()` aliases for BC + * Added `express.createServer()` for BC + * Perf: memoize parsed urls + * Perf: connect 2.2.0 dep + * Changed: make `expressInit()` middleware self-aware + * Fixed: use app.get() for all core settings + * Fixed redis session example + * Fixed session example. Closes #1105 + * Fixed generated express dep. Closes #1078 + +3.0.0alpha1 / 2012-04-15 +================== + + * Added `app.locals.use(callback)` + * Added `app.locals` object + * Added `app.locals(obj)` + * Added `res.locals` object + * Added `res.locals(obj)` + * Added `res.format()` for content-negotiation + * Added `app.engine()` + * Added `res.cookie()` JSON cookie support + * Added "trust proxy" setting + * Added `req.subdomains` + * Added `req.protocol` + * Added `req.secure` + * Added `req.path` + * Added `req.ips` + * Added `req.fresh` + * Added `req.stale` + * Added comma-delimited / array support for `req.accepts()` + * Added debug instrumentation + * Added `res.set(obj)` + * Added `res.set(field, value)` + * Added `res.get(field)` + * Added `app.get(setting)`. Closes #842 + * Added `req.acceptsLanguage()` + * Added `req.acceptsCharset()` + * Added `req.accepted` + * Added `req.acceptedLanguages` + * Added `req.acceptedCharsets` + * Added "json replacer" setting + * Added "json spaces" setting + * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92 + * Added `--less` support to express(1) + * Added `express.response` prototype + * Added `express.request` prototype + * Added `express.application` prototype + * Added `app.path()` + * Added `app.render()` + * Added `res.type()` to replace `res.contentType()` + * Changed: `res.redirect()` to add relative support + * Changed: enable "jsonp callback" by default + * Changed: renamed "case sensitive routes" to "case sensitive routing" + * Rewrite of all tests with mocha + * Removed "root" setting + * Removed `res.redirect('home')` support + * Removed `req.notify()` + * Removed `app.register()` + * Removed `app.redirect()` + * Removed `app.is()` + * Removed `app.helpers()` + * Removed `app.dynamicHelpers()` + * Fixed `res.sendfile()` with non-GET. Closes #723 + * Fixed express(1) public dir for windows. Closes #866 + +2.5.9/ 2012-04-02 +================== + + * Added support for PURGE request method [pbuyle] + * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki] + +2.5.8 / 2012-02-08 +================== + + * Update mkdirp dep. Closes #991 + +2.5.7 / 2012-02-06 +================== + + * Fixed `app.all` duplicate DELETE requests [mscdex] + +2.5.6 / 2012-01-13 +================== + + * Updated hamljs dev dep. Closes #953 + +2.5.5 / 2012-01-08 +================== + + * Fixed: set `filename` on cached templates [matthewleon] + +2.5.4 / 2012-01-02 +================== + + * Fixed `express(1)` eol on 0.4.x. Closes #947 + +2.5.3 / 2011-12-30 +================== + + * Fixed `req.is()` when a charset is present + +2.5.2 / 2011-12-10 +================== + + * Fixed: express(1) LF -> CRLF for windows + +2.5.1 / 2011-11-17 +================== + + * Changed: updated connect to 1.8.x + * Removed sass.js support from express(1) + +2.5.0 / 2011-10-24 +================== + + * Added ./routes dir for generated app by default + * Added npm install reminder to express(1) app gen + * Added 0.5.x support + * Removed `make test-cov` since it wont work with node 0.5.x + * Fixed express(1) public dir for windows. Closes #866 + +2.4.7 / 2011-10-05 +================== + + * Added mkdirp to express(1). Closes #795 + * Added simple _json-config_ example + * Added shorthand for the parsed request's pathname via `req.path` + * Changed connect dep to 1.7.x to fix npm issue... + * Fixed `res.redirect()` __HEAD__ support. [reported by xerox] + * Fixed `req.flash()`, only escape args + * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie] + +2.4.6 / 2011-08-22 +================== + + * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode] + +2.4.5 / 2011-08-19 +================== + + * Added support for routes to handle errors. Closes #809 + * Added `app.routes.all()`. Closes #803 + * Added "basepath" setting to work in conjunction with reverse proxies etc. + * Refactored `Route` to use a single array of callbacks + * Added support for multiple callbacks for `app.param()`. Closes #801 +Closes #805 + * Changed: removed .call(self) for route callbacks + * Dependency: `qs >= 0.3.1` + * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808 + +2.4.4 / 2011-08-05 +================== + + * Fixed `res.header()` intention of a set, even when `undefined` + * Fixed `*`, value no longer required + * Fixed `res.send(204)` support. Closes #771 + +2.4.3 / 2011-07-14 +================== + + * Added docs for `status` option special-case. Closes #739 + * Fixed `options.filename`, exposing the view path to template engines + +2.4.2. / 2011-07-06 +================== + + * Revert "removed jsonp stripping" for XSS + +2.4.1 / 2011-07-06 +================== + + * Added `res.json()` JSONP support. Closes #737 + * Added _extending-templates_ example. Closes #730 + * Added "strict routing" setting for trailing slashes + * Added support for multiple envs in `app.configure()` calls. Closes #735 + * Changed: `res.send()` using `res.json()` + * Changed: when cookie `path === null` don't default it + * Changed; default cookie path to "home" setting. Closes #731 + * Removed _pids/logs_ creation from express(1) + +2.4.0 / 2011-06-28 +================== + + * Added chainable `res.status(code)` + * Added `res.json()`, an explicit version of `res.send(obj)` + * Added simple web-service example + +2.3.12 / 2011-06-22 +================== + + * \#express is now on freenode! come join! + * Added `req.get(field, param)` + * Added links to Japanese documentation, thanks @hideyukisaito! + * Added; the `express(1)` generated app outputs the env + * Added `content-negotiation` example + * Dependency: connect >= 1.5.1 < 2.0.0 + * Fixed view layout bug. Closes #720 + * Fixed; ignore body on 304. Closes #701 + +2.3.11 / 2011-06-04 +================== + + * Added `npm test` + * Removed generation of dummy test file from `express(1)` + * Fixed; `express(1)` adds express as a dep + * Fixed; prune on `prepublish` + +2.3.10 / 2011-05-27 +================== + + * Added `req.route`, exposing the current route + * Added _package.json_ generation support to `express(1)` + * Fixed call to `app.param()` function for optional params. Closes #682 + +2.3.9 / 2011-05-25 +================== + + * Fixed bug-ish with `../' in `res.partial()` calls + +2.3.8 / 2011-05-24 +================== + + * Fixed `app.options()` + +2.3.7 / 2011-05-23 +================== + + * Added route `Collection`, ex: `app.get('/user/:id').remove();` + * Added support for `app.param(fn)` to define param logic + * Removed `app.param()` support for callback with return value + * Removed module.parent check from express(1) generated app. Closes #670 + * Refactored router. Closes #639 + +2.3.6 / 2011-05-20 +================== + + * Changed; using devDependencies instead of git submodules + * Fixed redis session example + * Fixed markdown example + * Fixed view caching, should not be enabled in development + +2.3.5 / 2011-05-20 +================== + + * Added export `.view` as alias for `.View` + +2.3.4 / 2011-05-08 +================== + + * Added `./examples/say` + * Fixed `res.sendfile()` bug preventing the transfer of files with spaces + +2.3.3 / 2011-05-03 +================== + + * Added "case sensitive routes" option. + * Changed; split methods supported per rfc [slaskis] + * Fixed route-specific middleware when using the same callback function several times + +2.3.2 / 2011-04-27 +================== + + * Fixed view hints + +2.3.1 / 2011-04-26 +================== + + * Added `app.match()` as `app.match.all()` + * Added `app.lookup()` as `app.lookup.all()` + * Added `app.remove()` for `app.remove.all()` + * Added `app.remove.VERB()` + * Fixed template caching collision issue. Closes #644 + * Moved router over from connect and started refactor + +2.3.0 / 2011-04-25 +================== + + * Added options support to `res.clearCookie()` + * Added `res.helpers()` as alias of `res.locals()` + * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0` + * Changed; auto set Content-Type in res.attachement [Aaron Heckmann] + * Renamed "cache views" to "view cache". Closes #628 + * Fixed caching of views when using several apps. Closes #637 + * Fixed gotcha invoking `app.param()` callbacks once per route middleware. +Closes #638 + * Fixed partial lookup precedence. Closes #631 +Shaw] + +2.2.2 / 2011-04-12 +================== + + * Added second callback support for `res.download()` connection errors + * Fixed `filename` option passing to template engine + +2.2.1 / 2011-04-04 +================== + + * Added `layout(path)` helper to change the layout within a view. Closes #610 + * Fixed `partial()` collection object support. + Previously only anything with `.length` would work. + When `.length` is present one must still be aware of holes, + however now `{ collection: {foo: 'bar'}}` is valid, exposes + `keyInCollection` and `keysInCollection`. + + * Performance improved with better view caching + * Removed `request` and `response` locals + * Changed; errorHandler page title is now `Express` instead of `Connect` + +2.2.0 / 2011-03-30 +================== + + * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606 + * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606 + * Added `app.VERB(path)` as alias of `app.lookup.VERB()`. + * Dependency `connect >= 1.2.0` + +2.1.1 / 2011-03-29 +================== + + * Added; expose `err.view` object when failing to locate a view + * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann] + * Fixed; `res.send(undefined)` responds with 204 [aheckmann] + +2.1.0 / 2011-03-24 +================== + + * Added `<root>/_?<name>` partial lookup support. Closes #447 + * Added `request`, `response`, and `app` local variables + * Added `settings` local variable, containing the app's settings + * Added `req.flash()` exception if `req.session` is not available + * Added `res.send(bool)` support (json response) + * Fixed stylus example for latest version + * Fixed; wrap try/catch around `res.render()` + +2.0.0 / 2011-03-17 +================== + + * Fixed up index view path alternative. + * Changed; `res.locals()` without object returns the locals + +2.0.0rc3 / 2011-03-17 +================== + + * Added `res.locals(obj)` to compliment `res.local(key, val)` + * Added `res.partial()` callback support + * Fixed recursive error reporting issue in `res.render()` + +2.0.0rc2 / 2011-03-17 +================== + + * Changed; `partial()` "locals" are now optional + * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01] + * Fixed .filename view engine option [reported by drudge] + * Fixed blog example + * Fixed `{req,res}.app` reference when mounting [Ben Weaver] + +2.0.0rc / 2011-03-14 +================== + + * Fixed; expose `HTTPSServer` constructor + * Fixed express(1) default test charset. Closes #579 [reported by secoif] + * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP] + +2.0.0beta3 / 2011-03-09 +================== + + * Added support for `res.contentType()` literal + The original `res.contentType('.json')`, + `res.contentType('application/json')`, and `res.contentType('json')` + will work now. + * Added `res.render()` status option support back + * Added charset option for `res.render()` + * Added `.charset` support (via connect 1.0.4) + * Added view resolution hints when in development and a lookup fails + * Added layout lookup support relative to the page view. + For example while rendering `./views/user/index.jade` if you create + `./views/user/layout.jade` it will be used in favour of the root layout. + * Fixed `res.redirect()`. RFC states absolute url [reported by unlink] + * Fixed; default `res.send()` string charset to utf8 + * Removed `Partial` constructor (not currently used) + +2.0.0beta2 / 2011-03-07 +================== + + * Added res.render() `.locals` support back to aid in migration process + * Fixed flash example + +2.0.0beta / 2011-03-03 +================== + + * Added HTTPS support + * Added `res.cookie()` maxAge support + * Added `req.header()` _Referrer_ / _Referer_ special-case, either works + * Added mount support for `res.redirect()`, now respects the mount-point + * Added `union()` util, taking place of `merge(clone())` combo + * Added stylus support to express(1) generated app + * Added secret to session middleware used in examples and generated app + * Added `res.local(name, val)` for progressive view locals + * Added default param support to `req.param(name, default)` + * Added `app.disabled()` and `app.enabled()` + * Added `app.register()` support for omitting leading ".", either works + * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539 + * Added `app.param()` to map route params to async/sync logic + * Added; aliased `app.helpers()` as `app.locals()`. Closes #481 + * Added extname with no leading "." support to `res.contentType()` + * Added `cache views` setting, defaulting to enabled in "production" env + * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_. + * Added `req.accepts()` support for extensions + * Changed; `res.download()` and `res.sendfile()` now utilize Connect's + static file server `connect.static.send()`. + * Changed; replaced `connect.utils.mime()` with npm _mime_ module + * Changed; allow `req.query` to be pre-defined (via middleware or other parent + * Changed view partial resolution, now relative to parent view + * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`. + * Fixed `req.param()` bug returning Array.prototype methods. Closes #552 + * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()` + * Fixed; using _qs_ module instead of _querystring_ + * Fixed; strip unsafe chars from jsonp callbacks + * Removed "stream threshold" setting + +1.0.8 / 2011-03-01 +================== + + * Allow `req.query` to be pre-defined (via middleware or other parent app) + * "connect": ">= 0.5.0 < 1.0.0". Closes #547 + * Removed the long deprecated __EXPRESS_ENV__ support + +1.0.7 / 2011-02-07 +================== + + * Fixed `render()` setting inheritance. + Mounted apps would not inherit "view engine" + +1.0.6 / 2011-02-07 +================== + + * Fixed `view engine` setting bug when period is in dirname + +1.0.5 / 2011-02-05 +================== + + * Added secret to generated app `session()` call + +1.0.4 / 2011-02-05 +================== + + * Added `qs` dependency to _package.json_ + * Fixed namespaced `require()`s for latest connect support + +1.0.3 / 2011-01-13 +================== + + * Remove unsafe characters from JSONP callback names [Ryan Grove] + +1.0.2 / 2011-01-10 +================== + + * Removed nested require, using `connect.router` + +1.0.1 / 2010-12-29 +================== + + * Fixed for middleware stacked via `createServer()` + previously the `foo` middleware passed to `createServer(foo)` + would not have access to Express methods such as `res.send()` + or props like `req.query` etc. + +1.0.0 / 2010-11-16 +================== + + * Added; deduce partial object names from the last segment. + For example by default `partial('forum/post', postObject)` will + give you the _post_ object, providing a meaningful default. + * Added http status code string representation to `res.redirect()` body + * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__. + * Added `req.is()` to aid in content negotiation + * Added partial local inheritance [suggested by masylum]. Closes #102 + providing access to parent template locals. + * Added _-s, --session[s]_ flag to express(1) to add session related middleware + * Added _--template_ flag to express(1) to specify the + template engine to use. + * Added _--css_ flag to express(1) to specify the + stylesheet engine to use (or just plain css by default). + * Added `app.all()` support [thanks aheckmann] + * Added partial direct object support. + You may now `partial('user', user)` providing the "user" local, + vs previously `partial('user', { object: user })`. + * Added _route-separation_ example since many people question ways + to do this with CommonJS modules. Also view the _blog_ example for + an alternative. + * Performance; caching view path derived partial object names + * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454 + * Fixed jsonp support; _text/javascript_ as per mailinglist discussion + +1.0.0rc4 / 2010-10-14 +================== + + * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0 + * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware)) + * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass] + * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass] + * Added `partial()` support for array-like collections. Closes #434 + * Added support for swappable querystring parsers + * Added session usage docs. Closes #443 + * Added dynamic helper caching. Closes #439 [suggested by maritz] + * Added authentication example + * Added basic Range support to `res.sendfile()` (and `res.download()` etc) + * Changed; `express(1)` generated app using 2 spaces instead of 4 + * Default env to "development" again [aheckmann] + * Removed _context_ option is no more, use "scope" + * Fixed; exposing _./support_ libs to examples so they can run without installs + * Fixed mvc example + +1.0.0rc3 / 2010-09-20 +================== + + * Added confirmation for `express(1)` app generation. Closes #391 + * Added extending of flash formatters via `app.flashFormatters` + * Added flash formatter support. Closes #411 + * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold" + * Added _stream threshold_ setting for `res.sendfile()` + * Added `res.send()` __HEAD__ support + * Added `res.clearCookie()` + * Added `res.cookie()` + * Added `res.render()` headers option + * Added `res.redirect()` response bodies + * Added `res.render()` status option support. Closes #425 [thanks aheckmann] + * Fixed `res.sendfile()` responding with 403 on malicious path + * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_ + * Fixed; mounted apps settings now inherit from parent app [aheckmann] + * Fixed; stripping Content-Length / Content-Type when 204 + * Fixed `res.send()` 204. Closes #419 + * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402 + * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo] + + +1.0.0rc2 / 2010-08-17 +================== + + * Added `app.register()` for template engine mapping. Closes #390 + * Added `res.render()` callback support as second argument (no options) + * Added callback support to `res.download()` + * Added callback support for `res.sendfile()` + * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()` + * Added "partials" setting to docs + * Added default expresso tests to `express(1)` generated app. Closes #384 + * Fixed `res.sendfile()` error handling, defer via `next()` + * Fixed `res.render()` callback when a layout is used [thanks guillermo] + * Fixed; `make install` creating ~/.node_libraries when not present + * Fixed issue preventing error handlers from being defined anywhere. Closes #387 + +1.0.0rc / 2010-07-28 +================== + + * Added mounted hook. Closes #369 + * Added connect dependency to _package.json_ + + * Removed "reload views" setting and support code + development env never caches, production always caches. + + * Removed _param_ in route callbacks, signature is now + simply (req, res, next), previously (req, res, params, next). + Use _req.params_ for path captures, _req.query_ for GET params. + + * Fixed "home" setting + * Fixed middleware/router precedence issue. Closes #366 + * Fixed; _configure()_ callbacks called immediately. Closes #368 + +1.0.0beta2 / 2010-07-23 +================== + + * Added more examples + * Added; exporting `Server` constructor + * Added `Server#helpers()` for view locals + * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349 + * Added support for absolute view paths + * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363 + * Added Guillermo Rauch to the contributor list + * Added support for "as" for non-collection partials. Closes #341 + * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf] + * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo] + * Fixed instanceof `Array` checks, now `Array.isArray()` + * Fixed express(1) expansion of public dirs. Closes #348 + * Fixed middleware precedence. Closes #345 + * Fixed view watcher, now async [thanks aheckmann] + +1.0.0beta / 2010-07-15 +================== + + * Re-write + - much faster + - much lighter + - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs + +0.14.0 / 2010-06-15 +================== + + * Utilize relative requires + * Added Static bufferSize option [aheckmann] + * Fixed caching of view and partial subdirectories [aheckmann] + * Fixed mime.type() comments now that ".ext" is not supported + * Updated haml submodule + * Updated class submodule + * Removed bin/express + +0.13.0 / 2010-06-01 +================== + + * Added node v0.1.97 compatibility + * Added support for deleting cookies via Request#cookie('key', null) + * Updated haml submodule + * Fixed not-found page, now using using charset utf-8 + * Fixed show-exceptions page, now using using charset utf-8 + * Fixed view support due to fs.readFile Buffers + * Changed; mime.type() no longer accepts ".type" due to node extname() changes + +0.12.0 / 2010-05-22 +================== + + * Added node v0.1.96 compatibility + * Added view `helpers` export which act as additional local variables + * Updated haml submodule + * Changed ETag; removed inode, modified time only + * Fixed LF to CRLF for setting multiple cookies + * Fixed cookie complation; values are now urlencoded + * Fixed cookies parsing; accepts quoted values and url escaped cookies + +0.11.0 / 2010-05-06 +================== + + * Added support for layouts using different engines + - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' }) + - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml' + - this.render('page.html.haml', { layout: false }) // no layout + * Updated ext submodule + * Updated haml submodule + * Fixed EJS partial support by passing along the context. Issue #307 + +0.10.1 / 2010-05-03 +================== + + * Fixed binary uploads. + +0.10.0 / 2010-04-30 +================== + + * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s + encoding is set to 'utf8' or 'utf-8'. + * Added "encoding" option to Request#render(). Closes #299 + * Added "dump exceptions" setting, which is enabled by default. + * Added simple ejs template engine support + * Added error response support for text/plain, application/json. Closes #297 + * Added callback function param to Request#error() + * Added Request#sendHead() + * Added Request#stream() + * Added support for Request#respond(304, null) for empty response bodies + * Added ETag support to Request#sendfile() + * Added options to Request#sendfile(), passed to fs.createReadStream() + * Added filename arg to Request#download() + * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request + * Performance enhanced by preventing several calls to toLowerCase() in Router#match() + * Changed; Request#sendfile() now streams + * Changed; Renamed Request#halt() to Request#respond(). Closes #289 + * Changed; Using sys.inspect() instead of JSON.encode() for error output + * Changed; run() returns the http.Server instance. Closes #298 + * Changed; Defaulting Server#host to null (INADDR_ANY) + * Changed; Logger "common" format scale of 0.4f + * Removed Logger "request" format + * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found + * Fixed several issues with http client + * Fixed Logger Content-Length output + * Fixed bug preventing Opera from retaining the generated session id. Closes #292 + +0.9.0 / 2010-04-14 +================== + + * Added DSL level error() route support + * Added DSL level notFound() route support + * Added Request#error() + * Added Request#notFound() + * Added Request#render() callback function. Closes #258 + * Added "max upload size" setting + * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254 + * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js + * Added callback function support to Request#halt() as 3rd/4th arg + * Added preprocessing of route param wildcards using param(). Closes #251 + * Added view partial support (with collections etc) + * Fixed bug preventing falsey params (such as ?page=0). Closes #286 + * Fixed setting of multiple cookies. Closes #199 + * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml) + * Changed; session cookie is now httpOnly + * Changed; Request is no longer global + * Changed; Event is no longer global + * Changed; "sys" module is no longer global + * Changed; moved Request#download to Static plugin where it belongs + * Changed; Request instance created before body parsing. Closes #262 + * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253 + * Changed; Pre-caching view partials in memory when "cache view partials" is enabled + * Updated support to node --version 0.1.90 + * Updated dependencies + * Removed set("session cookie") in favour of use(Session, { cookie: { ... }}) + * Removed utils.mixin(); use Object#mergeDeep() + +0.8.0 / 2010-03-19 +================== + + * Added coffeescript example app. Closes #242 + * Changed; cache api now async friendly. Closes #240 + * Removed deprecated 'express/static' support. Use 'express/plugins/static' + +0.7.6 / 2010-03-19 +================== + + * Added Request#isXHR. Closes #229 + * Added `make install` (for the executable) + * Added `express` executable for setting up simple app templates + * Added "GET /public/*" to Static plugin, defaulting to <root>/public + * Added Static plugin + * Fixed; Request#render() only calls cache.get() once + * Fixed; Namespacing View caches with "view:" + * Fixed; Namespacing Static caches with "static:" + * Fixed; Both example apps now use the Static plugin + * Fixed set("views"). Closes #239 + * Fixed missing space for combined log format + * Deprecated Request#sendfile() and 'express/static' + * Removed Server#running + +0.7.5 / 2010-03-16 +================== + + * Added Request#flash() support without args, now returns all flashes + * Updated ext submodule + +0.7.4 / 2010-03-16 +================== + + * Fixed session reaper + * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft) + +0.7.3 / 2010-03-16 +================== + + * Added package.json + * Fixed requiring of haml / sass due to kiwi removal + +0.7.2 / 2010-03-16 +================== + + * Fixed GIT submodules (HAH!) + +0.7.1 / 2010-03-16 +================== + + * Changed; Express now using submodules again until a PM is adopted + * Changed; chat example using millisecond conversions from ext + +0.7.0 / 2010-03-15 +================== + + * Added Request#pass() support (finds the next matching route, or the given path) + * Added Logger plugin (default "common" format replaces CommonLogger) + * Removed Profiler plugin + * Removed CommonLogger plugin + +0.6.0 / 2010-03-11 +================== + + * Added seed.yml for kiwi package management support + * Added HTTP client query string support when method is GET. Closes #205 + + * Added support for arbitrary view engines. + For example "foo.engine.html" will now require('engine'), + the exports from this module are cached after the first require(). + + * Added async plugin support + + * Removed usage of RESTful route funcs as http client + get() etc, use http.get() and friends + + * Removed custom exceptions + +0.5.0 / 2010-03-10 +================== + + * Added ext dependency (library of js extensions) + * Removed extname() / basename() utils. Use path module + * Removed toArray() util. Use arguments.values + * Removed escapeRegexp() util. Use RegExp.escape() + * Removed process.mixin() dependency. Use utils.mixin() + * Removed Collection + * Removed ElementCollection + * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;) + +0.4.0 / 2010-02-11 +================== + + * Added flash() example to sample upload app + * Added high level restful http client module (express/http) + * Changed; RESTful route functions double as HTTP clients. Closes #69 + * Changed; throwing error when routes are added at runtime + * Changed; defaulting render() context to the current Request. Closes #197 + * Updated haml submodule + +0.3.0 / 2010-02-11 +================== + + * Updated haml / sass submodules. Closes #200 + * Added flash message support. Closes #64 + * Added accepts() now allows multiple args. fixes #117 + * Added support for plugins to halt. Closes #189 + * Added alternate layout support. Closes #119 + * Removed Route#run(). Closes #188 + * Fixed broken specs due to use(Cookie) missing + +0.2.1 / 2010-02-05 +================== + + * Added "plot" format option for Profiler (for gnuplot processing) + * Added request number to Profiler plugin + * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8 + * Fixed issue with routes not firing when not files are present. Closes #184 + * Fixed process.Promise -> events.Promise + +0.2.0 / 2010-02-03 +================== + + * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180 + * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174 + * Added expiration support to cache api with reaper. Closes #133 + * Added cache Store.Memory#reap() + * Added Cache; cache api now uses first class Cache instances + * Added abstract session Store. Closes #172 + * Changed; cache Memory.Store#get() utilizing Collection + * Renamed MemoryStore -> Store.Memory + * Fixed use() of the same plugin several time will always use latest options. Closes #176 + +0.1.0 / 2010-02-03 +================== + + * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context + * Updated node support to 0.1.27 Closes #169 + * Updated dirname(__filename) -> __dirname + * Updated libxmljs support to v0.2.0 + * Added session support with memory store / reaping + * Added quick uid() helper + * Added multi-part upload support + * Added Sass.js support / submodule + * Added production env caching view contents and static files + * Added static file caching. Closes #136 + * Added cache plugin with memory stores + * Added support to StaticFile so that it works with non-textual files. + * Removed dirname() helper + * Removed several globals (now their modules must be required) + +0.0.2 / 2010-01-10 +================== + + * Added view benchmarks; currently haml vs ejs + * Added Request#attachment() specs. Closes #116 + * Added use of node's parseQuery() util. Closes #123 + * Added `make init` for submodules + * Updated Haml + * Updated sample chat app to show messages on load + * Updated libxmljs parseString -> parseHtmlString + * Fixed `make init` to work with older versions of git + * Fixed specs can now run independent specs for those who cant build deps. Closes #127 + * Fixed issues introduced by the node url module changes. Closes 126. + * Fixed two assertions failing due to Collection#keys() returning strings + * Fixed faulty Collection#toArray() spec due to keys() returning strings + * Fixed `make test` now builds libxmljs.node before testing + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/LICENSE new file mode 100755 index 0000000..aa927e4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2009-2014 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2013-2014 Roman Shtylman <shtylman+expressjs@gmail.com> +Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/Readme.md new file mode 100755 index 0000000..3cd2203 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/Readme.md @@ -0,0 +1,153 @@ +[](http://expressjs.com/) + + Fast, unopinionated, minimalist web framework for [node](http://nodejs.org). + + [![NPM Version][npm-image]][npm-url] + [![NPM Downloads][downloads-image]][downloads-url] + [![Linux Build][travis-image]][travis-url] + [![Windows Build][appveyor-image]][appveyor-url] + [![Test Coverage][coveralls-image]][coveralls-url] + +```js +var express = require('express') +var app = express() + +app.get('/', function (req, res) { + res.send('Hello World') +}) + +app.listen(3000) +``` + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). + +Before installing, [download and install Node.js](https://nodejs.org/en/download/). +Node.js 0.10 or higher is required. + +Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install express +``` + +Follow [our installing guide](http://expressjs.com/en/starter/installing.html) +for more information. + +## Features + + * Robust routing + * Focus on high performance + * Super-high test coverage + * HTTP helpers (redirection, caching, etc) + * View system supporting 14+ template engines + * Content negotiation + * Executable for generating applications quickly + +## Docs & Community + + * [Website and Documentation](http://expressjs.com/) - [[website repo](https://github.com/expressjs/expressjs.com)] + * [#express](https://webchat.freenode.net/?channels=express) on freenode IRC + * [GitHub Organization](https://github.com/expressjs) for Official Middleware & Modules + * Visit the [Wiki](https://github.com/expressjs/express/wiki) + * [Google Group](https://groups.google.com/group/express-js) for discussion + * [Gitter](https://gitter.im/expressjs/express) for support and discussion + +**PROTIP** Be sure to read [Migrating from 3.x to 4.x](https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x) as well as [New features in 4.x](https://github.com/expressjs/express/wiki/New-features-in-4.x). + +### Security Issues + +If you discover a security vulnerability in Express, please see [Security Policies and Procedures](Security.md). + +## Quick Start + + The quickest way to get started with express is to utilize the executable [`express(1)`](https://github.com/expressjs/generator) to generate an application as shown below: + + Install the executable. The executable's major version will match Express's: + +```bash +$ npm install -g express-generator@4 +``` + + Create the app: + +```bash +$ express /tmp/foo && cd /tmp/foo +``` + + Install dependencies: + +```bash +$ npm install +``` + + Start the server: + +```bash +$ npm start +``` + +## Philosophy + + The Express philosophy is to provide small, robust tooling for HTTP servers, making + it a great solution for single page applications, web sites, hybrids, or public + HTTP APIs. + + Express does not force you to use any specific ORM or template engine. With support for over + 14 template engines via [Consolidate.js](https://github.com/tj/consolidate.js), + you can quickly craft your perfect framework. + +## Examples + + To view the examples, clone the Express repo and install the dependencies: + +```bash +$ git clone git://github.com/expressjs/express.git --depth 1 +$ cd express +$ npm install +``` + + Then run whichever example you want: + +```bash +$ node examples/content-negotiation +``` + +## Tests + + To run the test suite, first install the dependencies, then run `npm test`: + +```bash +$ npm install +$ npm test +``` + +## People + +The original author of Express is [TJ Holowaychuk](https://github.com/tj) [![TJ's Gratipay][gratipay-image-visionmedia]][gratipay-url-visionmedia] + +The current lead maintainer is [Douglas Christopher Wilson](https://github.com/dougwilson) [![Doug's Gratipay][gratipay-image-dougwilson]][gratipay-url-dougwilson] + +[List of all contributors](https://github.com/expressjs/express/graphs/contributors) + +## License + + [MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/express.svg +[npm-url]: https://npmjs.org/package/express +[downloads-image]: https://img.shields.io/npm/dm/express.svg +[downloads-url]: https://npmjs.org/package/express +[travis-image]: https://img.shields.io/travis/expressjs/express/master.svg?label=linux +[travis-url]: https://travis-ci.org/expressjs/express +[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/express/master.svg?label=windows +[appveyor-url]: https://ci.appveyor.com/project/dougwilson/express +[coveralls-image]: https://img.shields.io/coveralls/expressjs/express/master.svg +[coveralls-url]: https://coveralls.io/r/expressjs/express?branch=master +[gratipay-image-visionmedia]: https://img.shields.io/gratipay/visionmedia.svg +[gratipay-url-visionmedia]: https://gratipay.com/visionmedia/ +[gratipay-image-dougwilson]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url-dougwilson]: https://gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/index.js new file mode 100755 index 0000000..d219b0c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/index.js @@ -0,0 +1,11 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +module.exports = require('./lib/express'); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/application.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/application.js new file mode 100755 index 0000000..91f77d2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/application.js @@ -0,0 +1,644 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var finalhandler = require('finalhandler'); +var Router = require('./router'); +var methods = require('methods'); +var middleware = require('./middleware/init'); +var query = require('./middleware/query'); +var debug = require('debug')('express:application'); +var View = require('./view'); +var http = require('http'); +var compileETag = require('./utils').compileETag; +var compileQueryParser = require('./utils').compileQueryParser; +var compileTrust = require('./utils').compileTrust; +var deprecate = require('depd')('express'); +var flatten = require('array-flatten'); +var merge = require('utils-merge'); +var resolve = require('path').resolve; +var setPrototypeOf = require('setprototypeof') +var slice = Array.prototype.slice; + +/** + * Application prototype. + */ + +var app = exports = module.exports = {}; + +/** + * Variable for trust proxy inheritance back-compat + * @private + */ + +var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default'; + +/** + * Initialize the server. + * + * - setup default configuration + * - setup default middleware + * - setup route reflection methods + * + * @private + */ + +app.init = function init() { + this.cache = {}; + this.engines = {}; + this.settings = {}; + + this.defaultConfiguration(); +}; + +/** + * Initialize application configuration. + * @private + */ + +app.defaultConfiguration = function defaultConfiguration() { + var env = process.env.NODE_ENV || 'development'; + + // default settings + this.enable('x-powered-by'); + this.set('etag', 'weak'); + this.set('env', env); + this.set('query parser', 'extended'); + this.set('subdomain offset', 2); + this.set('trust proxy', false); + + // trust proxy inherit back-compat + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: true + }); + + debug('booting in %s mode', env); + + this.on('mount', function onmount(parent) { + // inherit trust proxy + if (this.settings[trustProxyDefaultSymbol] === true + && typeof parent.settings['trust proxy fn'] === 'function') { + delete this.settings['trust proxy']; + delete this.settings['trust proxy fn']; + } + + // inherit protos + setPrototypeOf(this.request, parent.request) + setPrototypeOf(this.response, parent.response) + setPrototypeOf(this.engines, parent.engines) + setPrototypeOf(this.settings, parent.settings) + }); + + // setup locals + this.locals = Object.create(null); + + // top-most app is mounted at / + this.mountpath = '/'; + + // default locals + this.locals.settings = this.settings; + + // default configuration + this.set('view', View); + this.set('views', resolve('views')); + this.set('jsonp callback name', 'callback'); + + if (env === 'production') { + this.enable('view cache'); + } + + Object.defineProperty(this, 'router', { + get: function() { + throw new Error('\'app.router\' is deprecated!\nPlease see the 3.x to 4.x migration guide for details on how to update your app.'); + } + }); +}; + +/** + * lazily adds the base router if it has not yet been added. + * + * We cannot add the base router in the defaultConfiguration because + * it reads app settings which might be set after that has run. + * + * @private + */ +app.lazyrouter = function lazyrouter() { + if (!this._router) { + this._router = new Router({ + caseSensitive: this.enabled('case sensitive routing'), + strict: this.enabled('strict routing') + }); + + this._router.use(query(this.get('query parser fn'))); + this._router.use(middleware.init(this)); + } +}; + +/** + * Dispatch a req, res pair into the application. Starts pipeline processing. + * + * If no callback is provided, then default error handlers will respond + * in the event of an error bubbling through the stack. + * + * @private + */ + +app.handle = function handle(req, res, callback) { + var router = this._router; + + // final handler + var done = callback || finalhandler(req, res, { + env: this.get('env'), + onerror: logerror.bind(this) + }); + + // no routes + if (!router) { + debug('no routes defined on app'); + done(); + return; + } + + router.handle(req, res, done); +}; + +/** + * Proxy `Router#use()` to add middleware to the app router. + * See Router#use() documentation for details. + * + * If the _fn_ parameter is an express app, then it will be + * mounted at the _route_ specified. + * + * @public + */ + +app.use = function use(fn) { + var offset = 0; + var path = '/'; + + // default path to '/' + // disambiguate app.use([fn]) + if (typeof fn !== 'function') { + var arg = fn; + + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + + // first arg is the path + if (typeof arg !== 'function') { + offset = 1; + path = fn; + } + } + + var fns = flatten(slice.call(arguments, offset)); + + if (fns.length === 0) { + throw new TypeError('app.use() requires a middleware function') + } + + // setup router + this.lazyrouter(); + var router = this._router; + + fns.forEach(function (fn) { + // non-express app + if (!fn || !fn.handle || !fn.set) { + return router.use(path, fn); + } + + debug('.use app under %s', path); + fn.mountpath = path; + fn.parent = this; + + // restore .app property on req and res + router.use(path, function mounted_app(req, res, next) { + var orig = req.app; + fn.handle(req, res, function (err) { + setPrototypeOf(req, orig.request) + setPrototypeOf(res, orig.response) + next(err); + }); + }); + + // mounted an app + fn.emit('mount', this); + }, this); + + return this; +}; + +/** + * Proxy to the app `Router#route()` + * Returns a new `Route` instance for the _path_. + * + * Routes are isolated middleware stacks for specific paths. + * See the Route api docs for details. + * + * @public + */ + +app.route = function route(path) { + this.lazyrouter(); + return this._router.route(path); +}; + +/** + * Register the given template engine callback `fn` + * as `ext`. + * + * By default will `require()` the engine based on the + * file extension. For example if you try to render + * a "foo.ejs" file Express will invoke the following internally: + * + * app.engine('ejs', require('ejs').__express); + * + * For engines that do not provide `.__express` out of the box, + * or if you wish to "map" a different extension to the template engine + * you may use this method. For example mapping the EJS template engine to + * ".html" files: + * + * app.engine('html', require('ejs').renderFile); + * + * In this case EJS provides a `.renderFile()` method with + * the same signature that Express expects: `(path, options, callback)`, + * though note that it aliases this method as `ejs.__express` internally + * so if you're using ".ejs" extensions you dont need to do anything. + * + * Some template engines do not follow this convention, the + * [Consolidate.js](https://github.com/tj/consolidate.js) + * library was created to map all of node's popular template + * engines to follow this convention, thus allowing them to + * work seamlessly within Express. + * + * @param {String} ext + * @param {Function} fn + * @return {app} for chaining + * @public + */ + +app.engine = function engine(ext, fn) { + if (typeof fn !== 'function') { + throw new Error('callback function required'); + } + + // get file extension + var extension = ext[0] !== '.' + ? '.' + ext + : ext; + + // store engine + this.engines[extension] = fn; + + return this; +}; + +/** + * Proxy to `Router#param()` with one added api feature. The _name_ parameter + * can be an array of names. + * + * See the Router#param() docs for more details. + * + * @param {String|Array} name + * @param {Function} fn + * @return {app} for chaining + * @public + */ + +app.param = function param(name, fn) { + this.lazyrouter(); + + if (Array.isArray(name)) { + for (var i = 0; i < name.length; i++) { + this.param(name[i], fn); + } + + return this; + } + + this._router.param(name, fn); + + return this; +}; + +/** + * Assign `setting` to `val`, or return `setting`'s value. + * + * app.set('foo', 'bar'); + * app.set('foo'); + * // => "bar" + * + * Mounted servers inherit their parent server's settings. + * + * @param {String} setting + * @param {*} [val] + * @return {Server} for chaining + * @public + */ + +app.set = function set(setting, val) { + if (arguments.length === 1) { + // app.get(setting) + return this.settings[setting]; + } + + debug('set "%s" to %o', setting, val); + + // set value + this.settings[setting] = val; + + // trigger matched settings + switch (setting) { + case 'etag': + this.set('etag fn', compileETag(val)); + break; + case 'query parser': + this.set('query parser fn', compileQueryParser(val)); + break; + case 'trust proxy': + this.set('trust proxy fn', compileTrust(val)); + + // trust proxy inherit back-compat + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: false + }); + + break; + } + + return this; +}; + +/** + * Return the app's absolute pathname + * based on the parent(s) that have + * mounted it. + * + * For example if the application was + * mounted as "/admin", which itself + * was mounted as "/blog" then the + * return value would be "/blog/admin". + * + * @return {String} + * @private + */ + +app.path = function path() { + return this.parent + ? this.parent.path() + this.mountpath + : ''; +}; + +/** + * Check if `setting` is enabled (truthy). + * + * app.enabled('foo') + * // => false + * + * app.enable('foo') + * app.enabled('foo') + * // => true + * + * @param {String} setting + * @return {Boolean} + * @public + */ + +app.enabled = function enabled(setting) { + return Boolean(this.set(setting)); +}; + +/** + * Check if `setting` is disabled. + * + * app.disabled('foo') + * // => true + * + * app.enable('foo') + * app.disabled('foo') + * // => false + * + * @param {String} setting + * @return {Boolean} + * @public + */ + +app.disabled = function disabled(setting) { + return !this.set(setting); +}; + +/** + * Enable `setting`. + * + * @param {String} setting + * @return {app} for chaining + * @public + */ + +app.enable = function enable(setting) { + return this.set(setting, true); +}; + +/** + * Disable `setting`. + * + * @param {String} setting + * @return {app} for chaining + * @public + */ + +app.disable = function disable(setting) { + return this.set(setting, false); +}; + +/** + * Delegate `.VERB(...)` calls to `router.VERB(...)`. + */ + +methods.forEach(function(method){ + app[method] = function(path){ + if (method === 'get' && arguments.length === 1) { + // app.get(setting) + return this.set(path); + } + + this.lazyrouter(); + + var route = this._router.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; +}); + +/** + * Special-cased "all" method, applying the given route `path`, + * middleware, and callback to _every_ HTTP method. + * + * @param {String} path + * @param {Function} ... + * @return {app} for chaining + * @public + */ + +app.all = function all(path) { + this.lazyrouter(); + + var route = this._router.route(path); + var args = slice.call(arguments, 1); + + for (var i = 0; i < methods.length; i++) { + route[methods[i]].apply(route, args); + } + + return this; +}; + +// del -> delete alias + +app.del = deprecate.function(app.delete, 'app.del: Use app.delete instead'); + +/** + * Render the given view `name` name with `options` + * and a callback accepting an error and the + * rendered template string. + * + * Example: + * + * app.render('email', { name: 'Tobi' }, function(err, html){ + * // ... + * }) + * + * @param {String} name + * @param {Object|Function} options or fn + * @param {Function} callback + * @public + */ + +app.render = function render(name, options, callback) { + var cache = this.cache; + var done = callback; + var engines = this.engines; + var opts = options; + var renderOptions = {}; + var view; + + // support callback function as second arg + if (typeof options === 'function') { + done = options; + opts = {}; + } + + // merge app.locals + merge(renderOptions, this.locals); + + // merge options._locals + if (opts._locals) { + merge(renderOptions, opts._locals); + } + + // merge options + merge(renderOptions, opts); + + // set .cache unless explicitly provided + if (renderOptions.cache == null) { + renderOptions.cache = this.enabled('view cache'); + } + + // primed cache + if (renderOptions.cache) { + view = cache[name]; + } + + // view + if (!view) { + var View = this.get('view'); + + view = new View(name, { + defaultEngine: this.get('view engine'), + root: this.get('views'), + engines: engines + }); + + if (!view.path) { + var dirs = Array.isArray(view.root) && view.root.length > 1 + ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"' + : 'directory "' + view.root + '"' + var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs); + err.view = view; + return done(err); + } + + // prime the cache + if (renderOptions.cache) { + cache[name] = view; + } + } + + // render + tryRender(view, renderOptions, done); +}; + +/** + * Listen for connections. + * + * A node `http.Server` is returned, with this + * application (which is a `Function`) as its + * callback. If you wish to create both an HTTP + * and HTTPS server you may do so with the "http" + * and "https" modules as shown here: + * + * var http = require('http') + * , https = require('https') + * , express = require('express') + * , app = express(); + * + * http.createServer(app).listen(80); + * https.createServer({ ... }, app).listen(443); + * + * @return {http.Server} + * @public + */ + +app.listen = function listen() { + var server = http.createServer(this); + return server.listen.apply(server, arguments); +}; + +/** + * Log error using console.error. + * + * @param {Error} err + * @private + */ + +function logerror(err) { + /* istanbul ignore next */ + if (this.get('env') !== 'test') console.error(err.stack || err.toString()); +} + +/** + * Try rendering a view. + * @private + */ + +function tryRender(view, options, callback) { + try { + view.render(options, callback); + } catch (err) { + callback(err); + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/express.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/express.js new file mode 100755 index 0000000..485a8fc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/express.js @@ -0,0 +1,112 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + */ + +var bodyParser = require('body-parser') +var EventEmitter = require('events').EventEmitter; +var mixin = require('merge-descriptors'); +var proto = require('./application'); +var Route = require('./router/route'); +var Router = require('./router'); +var req = require('./request'); +var res = require('./response'); + +/** + * Expose `createApplication()`. + */ + +exports = module.exports = createApplication; + +/** + * Create an express application. + * + * @return {Function} + * @api public + */ + +function createApplication() { + var app = function(req, res, next) { + app.handle(req, res, next); + }; + + mixin(app, EventEmitter.prototype, false); + mixin(app, proto, false); + + // expose the prototype that will get set on requests + app.request = Object.create(req, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }) + + // expose the prototype that will get set on responses + app.response = Object.create(res, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }) + + app.init(); + return app; +} + +/** + * Expose the prototypes. + */ + +exports.application = proto; +exports.request = req; +exports.response = res; + +/** + * Expose constructors. + */ + +exports.Route = Route; +exports.Router = Router; + +/** + * Expose middleware + */ + +exports.json = bodyParser.json +exports.query = require('./middleware/query'); +exports.static = require('serve-static'); +exports.urlencoded = bodyParser.urlencoded + +/** + * Replace removed middleware with an appropriate error message. + */ + +;[ + 'bodyParser', + 'compress', + 'cookieSession', + 'session', + 'logger', + 'cookieParser', + 'favicon', + 'responseTime', + 'errorHandler', + 'timeout', + 'methodOverride', + 'vhost', + 'csrf', + 'directory', + 'limit', + 'multipart', + 'staticCache', +].forEach(function (name) { + Object.defineProperty(exports, name, { + get: function () { + throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.'); + }, + configurable: true + }); +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/init.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/init.js new file mode 100755 index 0000000..dfd0427 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/init.js @@ -0,0 +1,43 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var setPrototypeOf = require('setprototypeof') + +/** + * Initialization middleware, exposing the + * request and response to each other, as well + * as defaulting the X-Powered-By header field. + * + * @param {Function} app + * @return {Function} + * @api private + */ + +exports.init = function(app){ + return function expressInit(req, res, next){ + if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); + req.res = res; + res.req = req; + req.next = next; + + setPrototypeOf(req, app.request) + setPrototypeOf(res, app.response) + + res.locals = res.locals || Object.create(null); + + next(); + }; +}; + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/query.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/query.js new file mode 100755 index 0000000..7e91669 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/middleware/query.js @@ -0,0 +1,47 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + */ + +var merge = require('utils-merge') +var parseUrl = require('parseurl'); +var qs = require('qs'); + +/** + * @param {Object} options + * @return {Function} + * @api public + */ + +module.exports = function query(options) { + var opts = merge({}, options) + var queryparse = qs.parse; + + if (typeof options === 'function') { + queryparse = options; + opts = undefined; + } + + if (opts !== undefined && opts.allowPrototypes === undefined) { + // back-compat for qs module + opts.allowPrototypes = true; + } + + return function query(req, res, next){ + if (!req.query) { + var val = parseUrl(req).query; + req.query = queryparse(val, opts); + } + + next(); + }; +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/request.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/request.js new file mode 100755 index 0000000..8bb86a9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/request.js @@ -0,0 +1,521 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var accepts = require('accepts'); +var deprecate = require('depd')('express'); +var isIP = require('net').isIP; +var typeis = require('type-is'); +var http = require('http'); +var fresh = require('fresh'); +var parseRange = require('range-parser'); +var parse = require('parseurl'); +var proxyaddr = require('proxy-addr'); + +/** + * Request prototype. + * @public + */ + +var req = Object.create(http.IncomingMessage.prototype) + +/** + * Module exports. + * @public + */ + +module.exports = req + +/** + * Return request header. + * + * The `Referrer` header field is special-cased, + * both `Referrer` and `Referer` are interchangeable. + * + * Examples: + * + * req.get('Content-Type'); + * // => "text/plain" + * + * req.get('content-type'); + * // => "text/plain" + * + * req.get('Something'); + * // => undefined + * + * Aliased as `req.header()`. + * + * @param {String} name + * @return {String} + * @public + */ + +req.get = +req.header = function header(name) { + if (!name) { + throw new TypeError('name argument is required to req.get'); + } + + if (typeof name !== 'string') { + throw new TypeError('name must be a string to req.get'); + } + + var lc = name.toLowerCase(); + + switch (lc) { + case 'referer': + case 'referrer': + return this.headers.referrer + || this.headers.referer; + default: + return this.headers[lc]; + } +}; + +/** + * To do: update docs. + * + * Check if the given `type(s)` is acceptable, returning + * the best match when true, otherwise `undefined`, in which + * case you should respond with 406 "Not Acceptable". + * + * The `type` value may be a single MIME type string + * such as "application/json", an extension name + * such as "json", a comma-delimited list such as "json, html, text/plain", + * an argument list such as `"json", "html", "text/plain"`, + * or an array `["json", "html", "text/plain"]`. When a list + * or array is given, the _best_ match, if any is returned. + * + * Examples: + * + * // Accept: text/html + * req.accepts('html'); + * // => "html" + * + * // Accept: text/*, application/json + * req.accepts('html'); + * // => "html" + * req.accepts('text/html'); + * // => "text/html" + * req.accepts('json, text'); + * // => "json" + * req.accepts('application/json'); + * // => "application/json" + * + * // Accept: text/*, application/json + * req.accepts('image/png'); + * req.accepts('png'); + * // => undefined + * + * // Accept: text/*;q=.5, application/json + * req.accepts(['html', 'json']); + * req.accepts('html', 'json'); + * req.accepts('html, json'); + * // => "json" + * + * @param {String|Array} type(s) + * @return {String|Array|Boolean} + * @public + */ + +req.accepts = function(){ + var accept = accepts(this); + return accept.types.apply(accept, arguments); +}; + +/** + * Check if the given `encoding`s are accepted. + * + * @param {String} ...encoding + * @return {String|Array} + * @public + */ + +req.acceptsEncodings = function(){ + var accept = accepts(this); + return accept.encodings.apply(accept, arguments); +}; + +req.acceptsEncoding = deprecate.function(req.acceptsEncodings, + 'req.acceptsEncoding: Use acceptsEncodings instead'); + +/** + * Check if the given `charset`s are acceptable, + * otherwise you should respond with 406 "Not Acceptable". + * + * @param {String} ...charset + * @return {String|Array} + * @public + */ + +req.acceptsCharsets = function(){ + var accept = accepts(this); + return accept.charsets.apply(accept, arguments); +}; + +req.acceptsCharset = deprecate.function(req.acceptsCharsets, + 'req.acceptsCharset: Use acceptsCharsets instead'); + +/** + * Check if the given `lang`s are acceptable, + * otherwise you should respond with 406 "Not Acceptable". + * + * @param {String} ...lang + * @return {String|Array} + * @public + */ + +req.acceptsLanguages = function(){ + var accept = accepts(this); + return accept.languages.apply(accept, arguments); +}; + +req.acceptsLanguage = deprecate.function(req.acceptsLanguages, + 'req.acceptsLanguage: Use acceptsLanguages instead'); + +/** + * Parse Range header field, capping to the given `size`. + * + * Unspecified ranges such as "0-" require knowledge of your resource length. In + * the case of a byte range this is of course the total number of bytes. If the + * Range header field is not given `undefined` is returned, `-1` when unsatisfiable, + * and `-2` when syntactically invalid. + * + * When ranges are returned, the array has a "type" property which is the type of + * range that is required (most commonly, "bytes"). Each array element is an object + * with a "start" and "end" property for the portion of the range. + * + * The "combine" option can be set to `true` and overlapping & adjacent ranges + * will be combined into a single range. + * + * NOTE: remember that ranges are inclusive, so for example "Range: users=0-3" + * should respond with 4 users when available, not 3. + * + * @param {number} size + * @param {object} [options] + * @param {boolean} [options.combine=false] + * @return {number|array} + * @public + */ + +req.range = function range(size, options) { + var range = this.get('Range'); + if (!range) return; + return parseRange(size, range, options); +}; + +/** + * Return the value of param `name` when present or `defaultValue`. + * + * - Checks route placeholders, ex: _/user/:id_ + * - Checks body params, ex: id=12, {"id":12} + * - Checks query string params, ex: ?id=12 + * + * To utilize request bodies, `req.body` + * should be an object. This can be done by using + * the `bodyParser()` middleware. + * + * @param {String} name + * @param {Mixed} [defaultValue] + * @return {String} + * @public + */ + +req.param = function param(name, defaultValue) { + var params = this.params || {}; + var body = this.body || {}; + var query = this.query || {}; + + var args = arguments.length === 1 + ? 'name' + : 'name, default'; + deprecate('req.param(' + args + '): Use req.params, req.body, or req.query instead'); + + if (null != params[name] && params.hasOwnProperty(name)) return params[name]; + if (null != body[name]) return body[name]; + if (null != query[name]) return query[name]; + + return defaultValue; +}; + +/** + * Check if the incoming request contains the "Content-Type" + * header field, and it contains the give mime `type`. + * + * Examples: + * + * // With Content-Type: text/html; charset=utf-8 + * req.is('html'); + * req.is('text/html'); + * req.is('text/*'); + * // => true + * + * // When Content-Type is application/json + * req.is('json'); + * req.is('application/json'); + * req.is('application/*'); + * // => true + * + * req.is('html'); + * // => false + * + * @param {String|Array} types... + * @return {String|false|null} + * @public + */ + +req.is = function is(types) { + var arr = types; + + // support flattened arguments + if (!Array.isArray(types)) { + arr = new Array(arguments.length); + for (var i = 0; i < arr.length; i++) { + arr[i] = arguments[i]; + } + } + + return typeis(this, arr); +}; + +/** + * Return the protocol string "http" or "https" + * when requested with TLS. When the "trust proxy" + * setting trusts the socket address, the + * "X-Forwarded-Proto" header field will be trusted + * and used if present. + * + * If you're running behind a reverse proxy that + * supplies https for you this may be enabled. + * + * @return {String} + * @public + */ + +defineGetter(req, 'protocol', function protocol(){ + var proto = this.connection.encrypted + ? 'https' + : 'http'; + var trust = this.app.get('trust proxy fn'); + + if (!trust(this.connection.remoteAddress, 0)) { + return proto; + } + + // Note: X-Forwarded-Proto is normally only ever a + // single value, but this is to be safe. + var header = this.get('X-Forwarded-Proto') || proto + var index = header.indexOf(',') + + return index !== -1 + ? header.substring(0, index).trim() + : header.trim() +}); + +/** + * Short-hand for: + * + * req.protocol === 'https' + * + * @return {Boolean} + * @public + */ + +defineGetter(req, 'secure', function secure(){ + return this.protocol === 'https'; +}); + +/** + * Return the remote address from the trusted proxy. + * + * The is the remote address on the socket unless + * "trust proxy" is set. + * + * @return {String} + * @public + */ + +defineGetter(req, 'ip', function ip(){ + var trust = this.app.get('trust proxy fn'); + return proxyaddr(this, trust); +}); + +/** + * When "trust proxy" is set, trusted proxy addresses + client. + * + * For example if the value were "client, proxy1, proxy2" + * you would receive the array `["client", "proxy1", "proxy2"]` + * where "proxy2" is the furthest down-stream and "proxy1" and + * "proxy2" were trusted. + * + * @return {Array} + * @public + */ + +defineGetter(req, 'ips', function ips() { + var trust = this.app.get('trust proxy fn'); + var addrs = proxyaddr.all(this, trust); + + // reverse the order (to farthest -> closest) + // and remove socket address + addrs.reverse().pop() + + return addrs +}); + +/** + * Return subdomains as an array. + * + * Subdomains are the dot-separated parts of the host before the main domain of + * the app. By default, the domain of the app is assumed to be the last two + * parts of the host. This can be changed by setting "subdomain offset". + * + * For example, if the domain is "tobi.ferrets.example.com": + * If "subdomain offset" is not set, req.subdomains is `["ferrets", "tobi"]`. + * If "subdomain offset" is 3, req.subdomains is `["tobi"]`. + * + * @return {Array} + * @public + */ + +defineGetter(req, 'subdomains', function subdomains() { + var hostname = this.hostname; + + if (!hostname) return []; + + var offset = this.app.get('subdomain offset'); + var subdomains = !isIP(hostname) + ? hostname.split('.').reverse() + : [hostname]; + + return subdomains.slice(offset); +}); + +/** + * Short-hand for `url.parse(req.url).pathname`. + * + * @return {String} + * @public + */ + +defineGetter(req, 'path', function path() { + return parse(this).pathname; +}); + +/** + * Parse the "Host" header field to a hostname. + * + * When the "trust proxy" setting trusts the socket + * address, the "X-Forwarded-Host" header field will + * be trusted. + * + * @return {String} + * @public + */ + +defineGetter(req, 'hostname', function hostname(){ + var trust = this.app.get('trust proxy fn'); + var host = this.get('X-Forwarded-Host'); + + if (!host || !trust(this.connection.remoteAddress, 0)) { + host = this.get('Host'); + } + + if (!host) return; + + // IPv6 literal support + var offset = host[0] === '[' + ? host.indexOf(']') + 1 + : 0; + var index = host.indexOf(':', offset); + + return index !== -1 + ? host.substring(0, index) + : host; +}); + +// TODO: change req.host to return host in next major + +defineGetter(req, 'host', deprecate.function(function host(){ + return this.hostname; +}, 'req.host: Use req.hostname instead')); + +/** + * Check if the request is fresh, aka + * Last-Modified and/or the ETag + * still match. + * + * @return {Boolean} + * @public + */ + +defineGetter(req, 'fresh', function(){ + var method = this.method; + var res = this.res + var status = res.statusCode + + // GET or HEAD for weak freshness validation only + if ('GET' !== method && 'HEAD' !== method) return false; + + // 2xx or 304 as per rfc2616 14.26 + if ((status >= 200 && status < 300) || 304 === status) { + return fresh(this.headers, { + 'etag': res.get('ETag'), + 'last-modified': res.get('Last-Modified') + }) + } + + return false; +}); + +/** + * Check if the request is stale, aka + * "Last-Modified" and / or the "ETag" for the + * resource has changed. + * + * @return {Boolean} + * @public + */ + +defineGetter(req, 'stale', function stale(){ + return !this.fresh; +}); + +/** + * Check if the request was an _XMLHttpRequest_. + * + * @return {Boolean} + * @public + */ + +defineGetter(req, 'xhr', function xhr(){ + var val = this.get('X-Requested-With') || ''; + return val.toLowerCase() === 'xmlhttprequest'; +}); + +/** + * Helper function for creating a getter on an object. + * + * @param {Object} obj + * @param {String} name + * @param {Function} getter + * @private + */ +function defineGetter(obj, name, getter) { + Object.defineProperty(obj, name, { + configurable: true, + enumerable: true, + get: getter + }); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/response.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/response.js new file mode 100755 index 0000000..9c1796d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/response.js @@ -0,0 +1,1137 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var Buffer = require('safe-buffer').Buffer +var contentDisposition = require('content-disposition'); +var deprecate = require('depd')('express'); +var encodeUrl = require('encodeurl'); +var escapeHtml = require('escape-html'); +var http = require('http'); +var isAbsolute = require('./utils').isAbsolute; +var onFinished = require('on-finished'); +var path = require('path'); +var statuses = require('statuses') +var merge = require('utils-merge'); +var sign = require('cookie-signature').sign; +var normalizeType = require('./utils').normalizeType; +var normalizeTypes = require('./utils').normalizeTypes; +var setCharset = require('./utils').setCharset; +var cookie = require('cookie'); +var send = require('send'); +var extname = path.extname; +var mime = send.mime; +var resolve = path.resolve; +var vary = require('vary'); + +/** + * Response prototype. + * @public + */ + +var res = Object.create(http.ServerResponse.prototype) + +/** + * Module exports. + * @public + */ + +module.exports = res + +/** + * Module variables. + * @private + */ + +var charsetRegExp = /;\s*charset\s*=/; + +/** + * Set status `code`. + * + * @param {Number} code + * @return {ServerResponse} + * @public + */ + +res.status = function status(code) { + this.statusCode = code; + return this; +}; + +/** + * Set Link header field with the given `links`. + * + * Examples: + * + * res.links({ + * next: 'http://api.example.com/users?page=2', + * last: 'http://api.example.com/users?page=5' + * }); + * + * @param {Object} links + * @return {ServerResponse} + * @public + */ + +res.links = function(links){ + var link = this.get('Link') || ''; + if (link) link += ', '; + return this.set('Link', link + Object.keys(links).map(function(rel){ + return '<' + links[rel] + '>; rel="' + rel + '"'; + }).join(', ')); +}; + +/** + * Send a response. + * + * Examples: + * + * res.send(Buffer.from('wahoo')); + * res.send({ some: 'json' }); + * res.send('<p>some html</p>'); + * + * @param {string|number|boolean|object|Buffer} body + * @public + */ + +res.send = function send(body) { + var chunk = body; + var encoding; + var req = this.req; + var type; + + // settings + var app = this.app; + + // allow status / body + if (arguments.length === 2) { + // res.send(body, status) backwards compat + if (typeof arguments[0] !== 'number' && typeof arguments[1] === 'number') { + deprecate('res.send(body, status): Use res.status(status).send(body) instead'); + this.statusCode = arguments[1]; + } else { + deprecate('res.send(status, body): Use res.status(status).send(body) instead'); + this.statusCode = arguments[0]; + chunk = arguments[1]; + } + } + + // disambiguate res.send(status) and res.send(status, num) + if (typeof chunk === 'number' && arguments.length === 1) { + // res.send(status) will set status message as text string + if (!this.get('Content-Type')) { + this.type('txt'); + } + + deprecate('res.send(status): Use res.sendStatus(status) instead'); + this.statusCode = chunk; + chunk = statuses[chunk] + } + + switch (typeof chunk) { + // string defaulting to html + case 'string': + if (!this.get('Content-Type')) { + this.type('html'); + } + break; + case 'boolean': + case 'number': + case 'object': + if (chunk === null) { + chunk = ''; + } else if (Buffer.isBuffer(chunk)) { + if (!this.get('Content-Type')) { + this.type('bin'); + } + } else { + return this.json(chunk); + } + break; + } + + // write strings in utf-8 + if (typeof chunk === 'string') { + encoding = 'utf8'; + type = this.get('Content-Type'); + + // reflect this in content-type + if (typeof type === 'string') { + this.set('Content-Type', setCharset(type, 'utf-8')); + } + } + + // determine if ETag should be generated + var etagFn = app.get('etag fn') + var generateETag = !this.get('ETag') && typeof etagFn === 'function' + + // populate Content-Length + var len + if (chunk !== undefined) { + if (Buffer.isBuffer(chunk)) { + // get length of Buffer + len = chunk.length + } else if (!generateETag && chunk.length < 1000) { + // just calculate length when no ETag + small chunk + len = Buffer.byteLength(chunk, encoding) + } else { + // convert chunk to Buffer and calculate + chunk = Buffer.from(chunk, encoding) + encoding = undefined; + len = chunk.length + } + + this.set('Content-Length', len); + } + + // populate ETag + var etag; + if (generateETag && len !== undefined) { + if ((etag = etagFn(chunk, encoding))) { + this.set('ETag', etag); + } + } + + // freshness + if (req.fresh) this.statusCode = 304; + + // strip irrelevant headers + if (204 === this.statusCode || 304 === this.statusCode) { + this.removeHeader('Content-Type'); + this.removeHeader('Content-Length'); + this.removeHeader('Transfer-Encoding'); + chunk = ''; + } + + if (req.method === 'HEAD') { + // skip body for HEAD + this.end(); + } else { + // respond + this.end(chunk, encoding); + } + + return this; +}; + +/** + * Send JSON response. + * + * Examples: + * + * res.json(null); + * res.json({ user: 'tj' }); + * + * @param {string|number|boolean|object} obj + * @public + */ + +res.json = function json(obj) { + var val = obj; + + // allow status / body + if (arguments.length === 2) { + // res.json(body, status) backwards compat + if (typeof arguments[1] === 'number') { + deprecate('res.json(obj, status): Use res.status(status).json(obj) instead'); + this.statusCode = arguments[1]; + } else { + deprecate('res.json(status, obj): Use res.status(status).json(obj) instead'); + this.statusCode = arguments[0]; + val = arguments[1]; + } + } + + // settings + var app = this.app; + var escape = app.get('json escape') + var replacer = app.get('json replacer'); + var spaces = app.get('json spaces'); + var body = stringify(val, replacer, spaces, escape) + + // content-type + if (!this.get('Content-Type')) { + this.set('Content-Type', 'application/json'); + } + + return this.send(body); +}; + +/** + * Send JSON response with JSONP callback support. + * + * Examples: + * + * res.jsonp(null); + * res.jsonp({ user: 'tj' }); + * + * @param {string|number|boolean|object} obj + * @public + */ + +res.jsonp = function jsonp(obj) { + var val = obj; + + // allow status / body + if (arguments.length === 2) { + // res.json(body, status) backwards compat + if (typeof arguments[1] === 'number') { + deprecate('res.jsonp(obj, status): Use res.status(status).json(obj) instead'); + this.statusCode = arguments[1]; + } else { + deprecate('res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead'); + this.statusCode = arguments[0]; + val = arguments[1]; + } + } + + // settings + var app = this.app; + var escape = app.get('json escape') + var replacer = app.get('json replacer'); + var spaces = app.get('json spaces'); + var body = stringify(val, replacer, spaces, escape) + var callback = this.req.query[app.get('jsonp callback name')]; + + // content-type + if (!this.get('Content-Type')) { + this.set('X-Content-Type-Options', 'nosniff'); + this.set('Content-Type', 'application/json'); + } + + // fixup callback + if (Array.isArray(callback)) { + callback = callback[0]; + } + + // jsonp + if (typeof callback === 'string' && callback.length !== 0) { + this.set('X-Content-Type-Options', 'nosniff'); + this.set('Content-Type', 'text/javascript'); + + // restrict callback charset + callback = callback.replace(/[^\[\]\w$.]/g, ''); + + // replace chars not allowed in JavaScript that are in JSON + body = body + .replace(/\u2028/g, '\\u2028') + .replace(/\u2029/g, '\\u2029'); + + // the /**/ is a specific security mitigation for "Rosetta Flash JSONP abuse" + // the typeof check is just to reduce client error noise + body = '/**/ typeof ' + callback + ' === \'function\' && ' + callback + '(' + body + ');'; + } + + return this.send(body); +}; + +/** + * Send given HTTP status code. + * + * Sets the response status to `statusCode` and the body of the + * response to the standard description from node's http.STATUS_CODES + * or the statusCode number if no description. + * + * Examples: + * + * res.sendStatus(200); + * + * @param {number} statusCode + * @public + */ + +res.sendStatus = function sendStatus(statusCode) { + var body = statuses[statusCode] || String(statusCode) + + this.statusCode = statusCode; + this.type('txt'); + + return this.send(body); +}; + +/** + * Transfer the file at the given `path`. + * + * Automatically sets the _Content-Type_ response header field. + * The callback `callback(err)` is invoked when the transfer is complete + * or when an error occurs. Be sure to check `res.sentHeader` + * if you wish to attempt responding, as the header and some data + * may have already been transferred. + * + * Options: + * + * - `maxAge` defaulting to 0 (can be string converted by `ms`) + * - `root` root directory for relative filenames + * - `headers` object of headers to serve with file + * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them + * + * Other options are passed along to `send`. + * + * Examples: + * + * The following example illustrates how `res.sendFile()` may + * be used as an alternative for the `static()` middleware for + * dynamic situations. The code backing `res.sendFile()` is actually + * the same code, so HTTP cache support etc is identical. + * + * app.get('/user/:uid/photos/:file', function(req, res){ + * var uid = req.params.uid + * , file = req.params.file; + * + * req.user.mayViewFilesFrom(uid, function(yes){ + * if (yes) { + * res.sendFile('/uploads/' + uid + '/' + file); + * } else { + * res.send(403, 'Sorry! you cant see that.'); + * } + * }); + * }); + * + * @public + */ + +res.sendFile = function sendFile(path, options, callback) { + var done = callback; + var req = this.req; + var res = this; + var next = req.next; + var opts = options || {}; + + if (!path) { + throw new TypeError('path argument is required to res.sendFile'); + } + + // support function as second arg + if (typeof options === 'function') { + done = options; + opts = {}; + } + + if (!opts.root && !isAbsolute(path)) { + throw new TypeError('path must be absolute or specify root to res.sendFile'); + } + + // create file stream + var pathname = encodeURI(path); + var file = send(req, pathname, opts); + + // transfer + sendfile(res, file, opts, function (err) { + if (done) return done(err); + if (err && err.code === 'EISDIR') return next(); + + // next() all but write errors + if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') { + next(err); + } + }); +}; + +/** + * Transfer the file at the given `path`. + * + * Automatically sets the _Content-Type_ response header field. + * The callback `callback(err)` is invoked when the transfer is complete + * or when an error occurs. Be sure to check `res.sentHeader` + * if you wish to attempt responding, as the header and some data + * may have already been transferred. + * + * Options: + * + * - `maxAge` defaulting to 0 (can be string converted by `ms`) + * - `root` root directory for relative filenames + * - `headers` object of headers to serve with file + * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them + * + * Other options are passed along to `send`. + * + * Examples: + * + * The following example illustrates how `res.sendfile()` may + * be used as an alternative for the `static()` middleware for + * dynamic situations. The code backing `res.sendfile()` is actually + * the same code, so HTTP cache support etc is identical. + * + * app.get('/user/:uid/photos/:file', function(req, res){ + * var uid = req.params.uid + * , file = req.params.file; + * + * req.user.mayViewFilesFrom(uid, function(yes){ + * if (yes) { + * res.sendfile('/uploads/' + uid + '/' + file); + * } else { + * res.send(403, 'Sorry! you cant see that.'); + * } + * }); + * }); + * + * @public + */ + +res.sendfile = function (path, options, callback) { + var done = callback; + var req = this.req; + var res = this; + var next = req.next; + var opts = options || {}; + + // support function as second arg + if (typeof options === 'function') { + done = options; + opts = {}; + } + + // create file stream + var file = send(req, path, opts); + + // transfer + sendfile(res, file, opts, function (err) { + if (done) return done(err); + if (err && err.code === 'EISDIR') return next(); + + // next() all but write errors + if (err && err.code !== 'ECONNABORT' && err.syscall !== 'write') { + next(err); + } + }); +}; + +res.sendfile = deprecate.function(res.sendfile, + 'res.sendfile: Use res.sendFile instead'); + +/** + * Transfer the file at the given `path` as an attachment. + * + * Optionally providing an alternate attachment `filename`, + * and optional callback `callback(err)`. The callback is invoked + * when the data transfer is complete, or when an error has + * ocurred. Be sure to check `res.headersSent` if you plan to respond. + * + * Optionally providing an `options` object to use with `res.sendFile()`. + * This function will set the `Content-Disposition` header, overriding + * any `Content-Disposition` header passed as header options in order + * to set the attachment and filename. + * + * This method uses `res.sendFile()`. + * + * @public + */ + +res.download = function download (path, filename, options, callback) { + var done = callback; + var name = filename; + var opts = options || null + + // support function as second or third arg + if (typeof filename === 'function') { + done = filename; + name = null; + opts = null + } else if (typeof options === 'function') { + done = options + opts = null + } + + // set Content-Disposition when file is sent + var headers = { + 'Content-Disposition': contentDisposition(name || path) + }; + + // merge user-provided headers + if (opts && opts.headers) { + var keys = Object.keys(opts.headers) + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + if (key.toLowerCase() !== 'content-disposition') { + headers[key] = opts.headers[key] + } + } + } + + // merge user-provided options + opts = Object.create(opts) + opts.headers = headers + + // Resolve the full path for sendFile + var fullPath = resolve(path); + + // send file + return this.sendFile(fullPath, opts, done) +}; + +/** + * Set _Content-Type_ response header with `type` through `mime.lookup()` + * when it does not contain "/", or set the Content-Type to `type` otherwise. + * + * Examples: + * + * res.type('.html'); + * res.type('html'); + * res.type('json'); + * res.type('application/json'); + * res.type('png'); + * + * @param {String} type + * @return {ServerResponse} for chaining + * @public + */ + +res.contentType = +res.type = function contentType(type) { + var ct = type.indexOf('/') === -1 + ? mime.lookup(type) + : type; + + return this.set('Content-Type', ct); +}; + +/** + * Respond to the Acceptable formats using an `obj` + * of mime-type callbacks. + * + * This method uses `req.accepted`, an array of + * acceptable types ordered by their quality values. + * When "Accept" is not present the _first_ callback + * is invoked, otherwise the first match is used. When + * no match is performed the server responds with + * 406 "Not Acceptable". + * + * Content-Type is set for you, however if you choose + * you may alter this within the callback using `res.type()` + * or `res.set('Content-Type', ...)`. + * + * res.format({ + * 'text/plain': function(){ + * res.send('hey'); + * }, + * + * 'text/html': function(){ + * res.send('<p>hey</p>'); + * }, + * + * 'appliation/json': function(){ + * res.send({ message: 'hey' }); + * } + * }); + * + * In addition to canonicalized MIME types you may + * also use extnames mapped to these types: + * + * res.format({ + * text: function(){ + * res.send('hey'); + * }, + * + * html: function(){ + * res.send('<p>hey</p>'); + * }, + * + * json: function(){ + * res.send({ message: 'hey' }); + * } + * }); + * + * By default Express passes an `Error` + * with a `.status` of 406 to `next(err)` + * if a match is not made. If you provide + * a `.default` callback it will be invoked + * instead. + * + * @param {Object} obj + * @return {ServerResponse} for chaining + * @public + */ + +res.format = function(obj){ + var req = this.req; + var next = req.next; + + var fn = obj.default; + if (fn) delete obj.default; + var keys = Object.keys(obj); + + var key = keys.length > 0 + ? req.accepts(keys) + : false; + + this.vary("Accept"); + + if (key) { + this.set('Content-Type', normalizeType(key).value); + obj[key](req, this, next); + } else if (fn) { + fn(); + } else { + var err = new Error('Not Acceptable'); + err.status = err.statusCode = 406; + err.types = normalizeTypes(keys).map(function(o){ return o.value }); + next(err); + } + + return this; +}; + +/** + * Set _Content-Disposition_ header to _attachment_ with optional `filename`. + * + * @param {String} filename + * @return {ServerResponse} + * @public + */ + +res.attachment = function attachment(filename) { + if (filename) { + this.type(extname(filename)); + } + + this.set('Content-Disposition', contentDisposition(filename)); + + return this; +}; + +/** + * Append additional header `field` with value `val`. + * + * Example: + * + * res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']); + * res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly'); + * res.append('Warning', '199 Miscellaneous warning'); + * + * @param {String} field + * @param {String|Array} val + * @return {ServerResponse} for chaining + * @public + */ + +res.append = function append(field, val) { + var prev = this.get(field); + var value = val; + + if (prev) { + // concat the new and prev vals + value = Array.isArray(prev) ? prev.concat(val) + : Array.isArray(val) ? [prev].concat(val) + : [prev, val]; + } + + return this.set(field, value); +}; + +/** + * Set header `field` to `val`, or pass + * an object of header fields. + * + * Examples: + * + * res.set('Foo', ['bar', 'baz']); + * res.set('Accept', 'application/json'); + * res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' }); + * + * Aliased as `res.header()`. + * + * @param {String|Object} field + * @param {String|Array} val + * @return {ServerResponse} for chaining + * @public + */ + +res.set = +res.header = function header(field, val) { + if (arguments.length === 2) { + var value = Array.isArray(val) + ? val.map(String) + : String(val); + + // add charset to content-type + if (field.toLowerCase() === 'content-type') { + if (Array.isArray(value)) { + throw new TypeError('Content-Type cannot be set to an Array'); + } + if (!charsetRegExp.test(value)) { + var charset = mime.charsets.lookup(value.split(';')[0]); + if (charset) value += '; charset=' + charset.toLowerCase(); + } + } + + this.setHeader(field, value); + } else { + for (var key in field) { + this.set(key, field[key]); + } + } + return this; +}; + +/** + * Get value for header `field`. + * + * @param {String} field + * @return {String} + * @public + */ + +res.get = function(field){ + return this.getHeader(field); +}; + +/** + * Clear cookie `name`. + * + * @param {String} name + * @param {Object} [options] + * @return {ServerResponse} for chaining + * @public + */ + +res.clearCookie = function clearCookie(name, options) { + var opts = merge({ expires: new Date(1), path: '/' }, options); + + return this.cookie(name, '', opts); +}; + +/** + * Set cookie `name` to `value`, with the given `options`. + * + * Options: + * + * - `maxAge` max-age in milliseconds, converted to `expires` + * - `signed` sign the cookie + * - `path` defaults to "/" + * + * Examples: + * + * // "Remember Me" for 15 minutes + * res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true }); + * + * // save as above + * res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true }) + * + * @param {String} name + * @param {String|Object} value + * @param {Object} [options] + * @return {ServerResponse} for chaining + * @public + */ + +res.cookie = function (name, value, options) { + var opts = merge({}, options); + var secret = this.req.secret; + var signed = opts.signed; + + if (signed && !secret) { + throw new Error('cookieParser("secret") required for signed cookies'); + } + + var val = typeof value === 'object' + ? 'j:' + JSON.stringify(value) + : String(value); + + if (signed) { + val = 's:' + sign(val, secret); + } + + if ('maxAge' in opts) { + opts.expires = new Date(Date.now() + opts.maxAge); + opts.maxAge /= 1000; + } + + if (opts.path == null) { + opts.path = '/'; + } + + this.append('Set-Cookie', cookie.serialize(name, String(val), opts)); + + return this; +}; + +/** + * Set the location header to `url`. + * + * The given `url` can also be "back", which redirects + * to the _Referrer_ or _Referer_ headers or "/". + * + * Examples: + * + * res.location('/foo/bar').; + * res.location('http://example.com'); + * res.location('../login'); + * + * @param {String} url + * @return {ServerResponse} for chaining + * @public + */ + +res.location = function location(url) { + var loc = url; + + // "back" is an alias for the referrer + if (url === 'back') { + loc = this.req.get('Referrer') || '/'; + } + + // set location + return this.set('Location', encodeUrl(loc)); +}; + +/** + * Redirect to the given `url` with optional response `status` + * defaulting to 302. + * + * The resulting `url` is determined by `res.location()`, so + * it will play nicely with mounted apps, relative paths, + * `"back"` etc. + * + * Examples: + * + * res.redirect('/foo/bar'); + * res.redirect('http://example.com'); + * res.redirect(301, 'http://example.com'); + * res.redirect('../login'); // /blog/post/1 -> /blog/login + * + * @public + */ + +res.redirect = function redirect(url) { + var address = url; + var body; + var status = 302; + + // allow status / url + if (arguments.length === 2) { + if (typeof arguments[0] === 'number') { + status = arguments[0]; + address = arguments[1]; + } else { + deprecate('res.redirect(url, status): Use res.redirect(status, url) instead'); + status = arguments[1]; + } + } + + // Set location header + address = this.location(address).get('Location'); + + // Support text/{plain,html} by default + this.format({ + text: function(){ + body = statuses[status] + '. Redirecting to ' + address + }, + + html: function(){ + var u = escapeHtml(address); + body = '<p>' + statuses[status] + '. Redirecting to <a href="' + u + '">' + u + '</a></p>' + }, + + default: function(){ + body = ''; + } + }); + + // Respond + this.statusCode = status; + this.set('Content-Length', Buffer.byteLength(body)); + + if (this.req.method === 'HEAD') { + this.end(); + } else { + this.end(body); + } +}; + +/** + * Add `field` to Vary. If already present in the Vary set, then + * this call is simply ignored. + * + * @param {Array|String} field + * @return {ServerResponse} for chaining + * @public + */ + +res.vary = function(field){ + // checks for back-compat + if (!field || (Array.isArray(field) && !field.length)) { + deprecate('res.vary(): Provide a field name'); + return this; + } + + vary(this, field); + + return this; +}; + +/** + * Render `view` with the given `options` and optional callback `fn`. + * When a callback function is given a response will _not_ be made + * automatically, otherwise a response of _200_ and _text/html_ is given. + * + * Options: + * + * - `cache` boolean hinting to the engine it should cache + * - `filename` filename of the view being rendered + * + * @public + */ + +res.render = function render(view, options, callback) { + var app = this.req.app; + var done = callback; + var opts = options || {}; + var req = this.req; + var self = this; + + // support callback function as second arg + if (typeof options === 'function') { + done = options; + opts = {}; + } + + // merge res.locals + opts._locals = self.locals; + + // default callback to respond + done = done || function (err, str) { + if (err) return req.next(err); + self.send(str); + }; + + // render + app.render(view, opts, done); +}; + +// pipe the send file stream +function sendfile(res, file, options, callback) { + var done = false; + var streaming; + + // request aborted + function onaborted() { + if (done) return; + done = true; + + var err = new Error('Request aborted'); + err.code = 'ECONNABORTED'; + callback(err); + } + + // directory + function ondirectory() { + if (done) return; + done = true; + + var err = new Error('EISDIR, read'); + err.code = 'EISDIR'; + callback(err); + } + + // errors + function onerror(err) { + if (done) return; + done = true; + callback(err); + } + + // ended + function onend() { + if (done) return; + done = true; + callback(); + } + + // file + function onfile() { + streaming = false; + } + + // finished + function onfinish(err) { + if (err && err.code === 'ECONNRESET') return onaborted(); + if (err) return onerror(err); + if (done) return; + + setImmediate(function () { + if (streaming !== false && !done) { + onaborted(); + return; + } + + if (done) return; + done = true; + callback(); + }); + } + + // streaming + function onstream() { + streaming = true; + } + + file.on('directory', ondirectory); + file.on('end', onend); + file.on('error', onerror); + file.on('file', onfile); + file.on('stream', onstream); + onFinished(res, onfinish); + + if (options.headers) { + // set headers on successful transfer + file.on('headers', function headers(res) { + var obj = options.headers; + var keys = Object.keys(obj); + + for (var i = 0; i < keys.length; i++) { + var k = keys[i]; + res.setHeader(k, obj[k]); + } + }); + } + + // pipe + file.pipe(res); +} + +/** + * Stringify JSON, like JSON.stringify, but v8 optimized, with the + * ability to escape characters that can trigger HTML sniffing. + * + * @param {*} value + * @param {function} replaces + * @param {number} spaces + * @param {boolean} escape + * @returns {string} + * @private + */ + +function stringify (value, replacer, spaces, escape) { + // v8 checks arguments.length for optimizing simple call + // https://bugs.chromium.org/p/v8/issues/detail?id=4730 + var json = replacer || spaces + ? JSON.stringify(value, replacer, spaces) + : JSON.stringify(value); + + if (escape) { + json = json.replace(/[<>&]/g, function (c) { + switch (c.charCodeAt(0)) { + case 0x3c: + return '\\u003c' + case 0x3e: + return '\\u003e' + case 0x26: + return '\\u0026' + default: + return c + } + }) + } + + return json +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/index.js new file mode 100755 index 0000000..60727ed --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/index.js @@ -0,0 +1,662 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var Route = require('./route'); +var Layer = require('./layer'); +var methods = require('methods'); +var mixin = require('utils-merge'); +var debug = require('debug')('express:router'); +var deprecate = require('depd')('express'); +var flatten = require('array-flatten'); +var parseUrl = require('parseurl'); +var setPrototypeOf = require('setprototypeof') + +/** + * Module variables. + * @private + */ + +var objectRegExp = /^\[object (\S+)\]$/; +var slice = Array.prototype.slice; +var toString = Object.prototype.toString; + +/** + * Initialize a new `Router` with the given `options`. + * + * @param {Object} options + * @return {Router} which is an callable function + * @public + */ + +var proto = module.exports = function(options) { + var opts = options || {}; + + function router(req, res, next) { + router.handle(req, res, next); + } + + // mixin Router class functions + setPrototypeOf(router, proto) + + router.params = {}; + router._params = []; + router.caseSensitive = opts.caseSensitive; + router.mergeParams = opts.mergeParams; + router.strict = opts.strict; + router.stack = []; + + return router; +}; + +/** + * Map the given param placeholder `name`(s) to the given callback. + * + * Parameter mapping is used to provide pre-conditions to routes + * which use normalized placeholders. For example a _:user_id_ parameter + * could automatically load a user's information from the database without + * any additional code, + * + * The callback uses the same signature as middleware, the only difference + * being that the value of the placeholder is passed, in this case the _id_ + * of the user. Once the `next()` function is invoked, just like middleware + * it will continue on to execute the route, or subsequent parameter functions. + * + * Just like in middleware, you must either respond to the request or call next + * to avoid stalling the request. + * + * app.param('user_id', function(req, res, next, id){ + * User.find(id, function(err, user){ + * if (err) { + * return next(err); + * } else if (!user) { + * return next(new Error('failed to load user')); + * } + * req.user = user; + * next(); + * }); + * }); + * + * @param {String} name + * @param {Function} fn + * @return {app} for chaining + * @public + */ + +proto.param = function param(name, fn) { + // param logic + if (typeof name === 'function') { + deprecate('router.param(fn): Refactor to use path params'); + this._params.push(name); + return; + } + + // apply param functions + var params = this._params; + var len = params.length; + var ret; + + if (name[0] === ':') { + deprecate('router.param(' + JSON.stringify(name) + ', fn): Use router.param(' + JSON.stringify(name.substr(1)) + ', fn) instead'); + name = name.substr(1); + } + + for (var i = 0; i < len; ++i) { + if (ret = params[i](name, fn)) { + fn = ret; + } + } + + // ensure we end up with a + // middleware function + if ('function' !== typeof fn) { + throw new Error('invalid param() call for ' + name + ', got ' + fn); + } + + (this.params[name] = this.params[name] || []).push(fn); + return this; +}; + +/** + * Dispatch a req, res into the router. + * @private + */ + +proto.handle = function handle(req, res, out) { + var self = this; + + debug('dispatching %s %s', req.method, req.url); + + var idx = 0; + var protohost = getProtohost(req.url) || '' + var removed = ''; + var slashAdded = false; + var paramcalled = {}; + + // store options for OPTIONS request + // only used if OPTIONS request + var options = []; + + // middleware and routes + var stack = self.stack; + + // manage inter-router variables + var parentParams = req.params; + var parentUrl = req.baseUrl || ''; + var done = restore(out, req, 'baseUrl', 'next', 'params'); + + // setup next layer + req.next = next; + + // for options requests, respond with a default if nothing else responds + if (req.method === 'OPTIONS') { + done = wrap(done, function(old, err) { + if (err || options.length === 0) return old(err); + sendOptionsResponse(res, options, old); + }); + } + + // setup basic req values + req.baseUrl = parentUrl; + req.originalUrl = req.originalUrl || req.url; + + next(); + + function next(err) { + var layerError = err === 'route' + ? null + : err; + + // remove added slash + if (slashAdded) { + req.url = req.url.substr(1); + slashAdded = false; + } + + // restore altered req.url + if (removed.length !== 0) { + req.baseUrl = parentUrl; + req.url = protohost + removed + req.url.substr(protohost.length); + removed = ''; + } + + // signal to exit router + if (layerError === 'router') { + setImmediate(done, null) + return + } + + // no more matching layers + if (idx >= stack.length) { + setImmediate(done, layerError); + return; + } + + // get pathname of request + var path = getPathname(req); + + if (path == null) { + return done(layerError); + } + + // find next matching layer + var layer; + var match; + var route; + + while (match !== true && idx < stack.length) { + layer = stack[idx++]; + match = matchLayer(layer, path); + route = layer.route; + + if (typeof match !== 'boolean') { + // hold on to layerError + layerError = layerError || match; + } + + if (match !== true) { + continue; + } + + if (!route) { + // process non-route handlers normally + continue; + } + + if (layerError) { + // routes do not match with a pending error + match = false; + continue; + } + + var method = req.method; + var has_method = route._handles_method(method); + + // build up automatic options response + if (!has_method && method === 'OPTIONS') { + appendMethods(options, route._options()); + } + + // don't even bother matching route + if (!has_method && method !== 'HEAD') { + match = false; + continue; + } + } + + // no match + if (match !== true) { + return done(layerError); + } + + // store route for dispatch on change + if (route) { + req.route = route; + } + + // Capture one-time layer values + req.params = self.mergeParams + ? mergeParams(layer.params, parentParams) + : layer.params; + var layerPath = layer.path; + + // this should be done for the layer + self.process_params(layer, paramcalled, req, res, function (err) { + if (err) { + return next(layerError || err); + } + + if (route) { + return layer.handle_request(req, res, next); + } + + trim_prefix(layer, layerError, layerPath, path); + }); + } + + function trim_prefix(layer, layerError, layerPath, path) { + if (layerPath.length !== 0) { + // Validate path breaks on a path separator + var c = path[layerPath.length] + if (c && c !== '/' && c !== '.') return next(layerError) + + // Trim off the part of the url that matches the route + // middleware (.use stuff) needs to have the path stripped + debug('trim prefix (%s) from url %s', layerPath, req.url); + removed = layerPath; + req.url = protohost + req.url.substr(protohost.length + removed.length); + + // Ensure leading slash + if (!protohost && req.url[0] !== '/') { + req.url = '/' + req.url; + slashAdded = true; + } + + // Setup base URL (no trailing slash) + req.baseUrl = parentUrl + (removed[removed.length - 1] === '/' + ? removed.substring(0, removed.length - 1) + : removed); + } + + debug('%s %s : %s', layer.name, layerPath, req.originalUrl); + + if (layerError) { + layer.handle_error(layerError, req, res, next); + } else { + layer.handle_request(req, res, next); + } + } +}; + +/** + * Process any parameters for the layer. + * @private + */ + +proto.process_params = function process_params(layer, called, req, res, done) { + var params = this.params; + + // captured parameters from the layer, keys and values + var keys = layer.keys; + + // fast track + if (!keys || keys.length === 0) { + return done(); + } + + var i = 0; + var name; + var paramIndex = 0; + var key; + var paramVal; + var paramCallbacks; + var paramCalled; + + // process params in order + // param callbacks can be async + function param(err) { + if (err) { + return done(err); + } + + if (i >= keys.length ) { + return done(); + } + + paramIndex = 0; + key = keys[i++]; + name = key.name; + paramVal = req.params[name]; + paramCallbacks = params[name]; + paramCalled = called[name]; + + if (paramVal === undefined || !paramCallbacks) { + return param(); + } + + // param previously called with same value or error occurred + if (paramCalled && (paramCalled.match === paramVal + || (paramCalled.error && paramCalled.error !== 'route'))) { + // restore value + req.params[name] = paramCalled.value; + + // next param + return param(paramCalled.error); + } + + called[name] = paramCalled = { + error: null, + match: paramVal, + value: paramVal + }; + + paramCallback(); + } + + // single param callbacks + function paramCallback(err) { + var fn = paramCallbacks[paramIndex++]; + + // store updated value + paramCalled.value = req.params[key.name]; + + if (err) { + // store error + paramCalled.error = err; + param(err); + return; + } + + if (!fn) return param(); + + try { + fn(req, res, paramCallback, paramVal, key.name); + } catch (e) { + paramCallback(e); + } + } + + param(); +}; + +/** + * Use the given middleware function, with optional path, defaulting to "/". + * + * Use (like `.all`) will run for any http METHOD, but it will not add + * handlers for those methods so OPTIONS requests will not consider `.use` + * functions even if they could respond. + * + * The other difference is that _route_ path is stripped and not visible + * to the handler function. The main effect of this feature is that mounted + * handlers can operate without any code changes regardless of the "prefix" + * pathname. + * + * @public + */ + +proto.use = function use(fn) { + var offset = 0; + var path = '/'; + + // default path to '/' + // disambiguate router.use([fn]) + if (typeof fn !== 'function') { + var arg = fn; + + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + + // first arg is the path + if (typeof arg !== 'function') { + offset = 1; + path = fn; + } + } + + var callbacks = flatten(slice.call(arguments, offset)); + + if (callbacks.length === 0) { + throw new TypeError('Router.use() requires a middleware function') + } + + for (var i = 0; i < callbacks.length; i++) { + var fn = callbacks[i]; + + if (typeof fn !== 'function') { + throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn)) + } + + // add the middleware + debug('use %o %s', path, fn.name || '<anonymous>') + + var layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: false, + end: false + }, fn); + + layer.route = undefined; + + this.stack.push(layer); + } + + return this; +}; + +/** + * Create a new Route for the given path. + * + * Each route contains a separate middleware stack and VERB handlers. + * + * See the Route api documentation for details on adding handlers + * and middleware to routes. + * + * @param {String} path + * @return {Route} + * @public + */ + +proto.route = function route(path) { + var route = new Route(path); + + var layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: this.strict, + end: true + }, route.dispatch.bind(route)); + + layer.route = route; + + this.stack.push(layer); + return route; +}; + +// create Router#VERB functions +methods.concat('all').forEach(function(method){ + proto[method] = function(path){ + var route = this.route(path) + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; +}); + +// append methods to a list of methods +function appendMethods(list, addition) { + for (var i = 0; i < addition.length; i++) { + var method = addition[i]; + if (list.indexOf(method) === -1) { + list.push(method); + } + } +} + +// get pathname of request +function getPathname(req) { + try { + return parseUrl(req).pathname; + } catch (err) { + return undefined; + } +} + +// Get get protocol + host for a URL +function getProtohost(url) { + if (typeof url !== 'string' || url.length === 0 || url[0] === '/') { + return undefined + } + + var searchIndex = url.indexOf('?') + var pathLength = searchIndex !== -1 + ? searchIndex + : url.length + var fqdnIndex = url.substr(0, pathLength).indexOf('://') + + return fqdnIndex !== -1 + ? url.substr(0, url.indexOf('/', 3 + fqdnIndex)) + : undefined +} + +// get type for error message +function gettype(obj) { + var type = typeof obj; + + if (type !== 'object') { + return type; + } + + // inspect [[Class]] for objects + return toString.call(obj) + .replace(objectRegExp, '$1'); +} + +/** + * Match path to a layer. + * + * @param {Layer} layer + * @param {string} path + * @private + */ + +function matchLayer(layer, path) { + try { + return layer.match(path); + } catch (err) { + return err; + } +} + +// merge params with parent params +function mergeParams(params, parent) { + if (typeof parent !== 'object' || !parent) { + return params; + } + + // make copy of parent for base + var obj = mixin({}, parent); + + // simple non-numeric merging + if (!(0 in params) || !(0 in parent)) { + return mixin(obj, params); + } + + var i = 0; + var o = 0; + + // determine numeric gaps + while (i in params) { + i++; + } + + while (o in parent) { + o++; + } + + // offset numeric indices in params before merge + for (i--; i >= 0; i--) { + params[i + o] = params[i]; + + // create holes for the merge when necessary + if (i < o) { + delete params[i]; + } + } + + return mixin(obj, params); +} + +// restore obj props after function +function restore(fn, obj) { + var props = new Array(arguments.length - 2); + var vals = new Array(arguments.length - 2); + + for (var i = 0; i < props.length; i++) { + props[i] = arguments[i + 2]; + vals[i] = obj[props[i]]; + } + + return function () { + // restore vals + for (var i = 0; i < props.length; i++) { + obj[props[i]] = vals[i]; + } + + return fn.apply(this, arguments); + }; +} + +// send an OPTIONS response +function sendOptionsResponse(res, options, next) { + try { + var body = options.join(','); + res.set('Allow', body); + res.send(body); + } catch (err) { + next(err); + } +} + +// wrap a function +function wrap(old, fn) { + return function proxy() { + var args = new Array(arguments.length + 1); + + args[0] = old; + for (var i = 0, len = arguments.length; i < len; i++) { + args[i + 1] = arguments[i]; + } + + fn.apply(this, args); + }; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/layer.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/layer.js new file mode 100755 index 0000000..4dc8e86 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/layer.js @@ -0,0 +1,181 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var pathRegexp = require('path-to-regexp'); +var debug = require('debug')('express:router:layer'); + +/** + * Module variables. + * @private + */ + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +/** + * Module exports. + * @public + */ + +module.exports = Layer; + +function Layer(path, options, fn) { + if (!(this instanceof Layer)) { + return new Layer(path, options, fn); + } + + debug('new %o', path) + var opts = options || {}; + + this.handle = fn; + this.name = fn.name || '<anonymous>'; + this.params = undefined; + this.path = undefined; + this.regexp = pathRegexp(path, this.keys = [], opts); + + // set fast path flags + this.regexp.fast_star = path === '*' + this.regexp.fast_slash = path === '/' && opts.end === false +} + +/** + * Handle the error for the layer. + * + * @param {Error} error + * @param {Request} req + * @param {Response} res + * @param {function} next + * @api private + */ + +Layer.prototype.handle_error = function handle_error(error, req, res, next) { + var fn = this.handle; + + if (fn.length !== 4) { + // not a standard error handler + return next(error); + } + + try { + fn(error, req, res, next); + } catch (err) { + next(err); + } +}; + +/** + * Handle the request for the layer. + * + * @param {Request} req + * @param {Response} res + * @param {function} next + * @api private + */ + +Layer.prototype.handle_request = function handle(req, res, next) { + var fn = this.handle; + + if (fn.length > 3) { + // not a standard request handler + return next(); + } + + try { + fn(req, res, next); + } catch (err) { + next(err); + } +}; + +/** + * Check if this route matches `path`, if so + * populate `.params`. + * + * @param {String} path + * @return {Boolean} + * @api private + */ + +Layer.prototype.match = function match(path) { + var match + + if (path != null) { + // fast path non-ending match for / (any path matches) + if (this.regexp.fast_slash) { + this.params = {} + this.path = '' + return true + } + + // fast path for * (everything matched in a param) + if (this.regexp.fast_star) { + this.params = {'0': decode_param(path)} + this.path = path + return true + } + + // match the path + match = this.regexp.exec(path) + } + + if (!match) { + this.params = undefined; + this.path = undefined; + return false; + } + + // store values + this.params = {}; + this.path = match[0] + + var keys = this.keys; + var params = this.params; + + for (var i = 1; i < match.length; i++) { + var key = keys[i - 1]; + var prop = key.name; + var val = decode_param(match[i]) + + if (val !== undefined || !(hasOwnProperty.call(params, prop))) { + params[prop] = val; + } + } + + return true; +}; + +/** + * Decode param value. + * + * @param {string} val + * @return {string} + * @private + */ + +function decode_param(val) { + if (typeof val !== 'string' || val.length === 0) { + return val; + } + + try { + return decodeURIComponent(val); + } catch (err) { + if (err instanceof URIError) { + err.message = 'Failed to decode param \'' + val + '\''; + err.status = err.statusCode = 400; + } + + throw err; + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/route.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/route.js new file mode 100755 index 0000000..178df0d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/router/route.js @@ -0,0 +1,216 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var debug = require('debug')('express:router:route'); +var flatten = require('array-flatten'); +var Layer = require('./layer'); +var methods = require('methods'); + +/** + * Module variables. + * @private + */ + +var slice = Array.prototype.slice; +var toString = Object.prototype.toString; + +/** + * Module exports. + * @public + */ + +module.exports = Route; + +/** + * Initialize `Route` with the given `path`, + * + * @param {String} path + * @public + */ + +function Route(path) { + this.path = path; + this.stack = []; + + debug('new %o', path) + + // route handlers for various http methods + this.methods = {}; +} + +/** + * Determine if the route handles a given method. + * @private + */ + +Route.prototype._handles_method = function _handles_method(method) { + if (this.methods._all) { + return true; + } + + var name = method.toLowerCase(); + + if (name === 'head' && !this.methods['head']) { + name = 'get'; + } + + return Boolean(this.methods[name]); +}; + +/** + * @return {Array} supported HTTP methods + * @private + */ + +Route.prototype._options = function _options() { + var methods = Object.keys(this.methods); + + // append automatic head + if (this.methods.get && !this.methods.head) { + methods.push('head'); + } + + for (var i = 0; i < methods.length; i++) { + // make upper case + methods[i] = methods[i].toUpperCase(); + } + + return methods; +}; + +/** + * dispatch req, res into this route + * @private + */ + +Route.prototype.dispatch = function dispatch(req, res, done) { + var idx = 0; + var stack = this.stack; + if (stack.length === 0) { + return done(); + } + + var method = req.method.toLowerCase(); + if (method === 'head' && !this.methods['head']) { + method = 'get'; + } + + req.route = this; + + next(); + + function next(err) { + // signal to exit route + if (err && err === 'route') { + return done(); + } + + // signal to exit router + if (err && err === 'router') { + return done(err) + } + + var layer = stack[idx++]; + if (!layer) { + return done(err); + } + + if (layer.method && layer.method !== method) { + return next(err); + } + + if (err) { + layer.handle_error(err, req, res, next); + } else { + layer.handle_request(req, res, next); + } + } +}; + +/** + * Add a handler for all HTTP verbs to this route. + * + * Behaves just like middleware and can respond or call `next` + * to continue processing. + * + * You can use multiple `.all` call to add multiple handlers. + * + * function check_something(req, res, next){ + * next(); + * }; + * + * function validate_user(req, res, next){ + * next(); + * }; + * + * route + * .all(validate_user) + * .all(check_something) + * .get(function(req, res, next){ + * res.send('hello world'); + * }); + * + * @param {function} handler + * @return {Route} for chaining + * @api public + */ + +Route.prototype.all = function all() { + var handles = flatten(slice.call(arguments)); + + for (var i = 0; i < handles.length; i++) { + var handle = handles[i]; + + if (typeof handle !== 'function') { + var type = toString.call(handle); + var msg = 'Route.all() requires a callback function but got a ' + type + throw new TypeError(msg); + } + + var layer = Layer('/', {}, handle); + layer.method = undefined; + + this.methods._all = true; + this.stack.push(layer); + } + + return this; +}; + +methods.forEach(function(method){ + Route.prototype[method] = function(){ + var handles = flatten(slice.call(arguments)); + + for (var i = 0; i < handles.length; i++) { + var handle = handles[i]; + + if (typeof handle !== 'function') { + var type = toString.call(handle); + var msg = 'Route.' + method + '() requires a callback function but got a ' + type + throw new Error(msg); + } + + debug('%s %o', method, this.path) + + var layer = Layer('/', {}, handle); + layer.method = method; + + this.methods[method] = true; + this.stack.push(layer); + } + + return this; + }; +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/utils.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/utils.js new file mode 100755 index 0000000..bd81ac7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/utils.js @@ -0,0 +1,306 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @api private + */ + +var Buffer = require('safe-buffer').Buffer +var contentDisposition = require('content-disposition'); +var contentType = require('content-type'); +var deprecate = require('depd')('express'); +var flatten = require('array-flatten'); +var mime = require('send').mime; +var etag = require('etag'); +var proxyaddr = require('proxy-addr'); +var qs = require('qs'); +var querystring = require('querystring'); + +/** + * Return strong ETag for `body`. + * + * @param {String|Buffer} body + * @param {String} [encoding] + * @return {String} + * @api private + */ + +exports.etag = createETagGenerator({ weak: false }) + +/** + * Return weak ETag for `body`. + * + * @param {String|Buffer} body + * @param {String} [encoding] + * @return {String} + * @api private + */ + +exports.wetag = createETagGenerator({ weak: true }) + +/** + * Check if `path` looks absolute. + * + * @param {String} path + * @return {Boolean} + * @api private + */ + +exports.isAbsolute = function(path){ + if ('/' === path[0]) return true; + if (':' === path[1] && ('\\' === path[2] || '/' === path[2])) return true; // Windows device path + if ('\\\\' === path.substring(0, 2)) return true; // Microsoft Azure absolute path +}; + +/** + * Flatten the given `arr`. + * + * @param {Array} arr + * @return {Array} + * @api private + */ + +exports.flatten = deprecate.function(flatten, + 'utils.flatten: use array-flatten npm module instead'); + +/** + * Normalize the given `type`, for example "html" becomes "text/html". + * + * @param {String} type + * @return {Object} + * @api private + */ + +exports.normalizeType = function(type){ + return ~type.indexOf('/') + ? acceptParams(type) + : { value: mime.lookup(type), params: {} }; +}; + +/** + * Normalize `types`, for example "html" becomes "text/html". + * + * @param {Array} types + * @return {Array} + * @api private + */ + +exports.normalizeTypes = function(types){ + var ret = []; + + for (var i = 0; i < types.length; ++i) { + ret.push(exports.normalizeType(types[i])); + } + + return ret; +}; + +/** + * Generate Content-Disposition header appropriate for the filename. + * non-ascii filenames are urlencoded and a filename* parameter is added + * + * @param {String} filename + * @return {String} + * @api private + */ + +exports.contentDisposition = deprecate.function(contentDisposition, + 'utils.contentDisposition: use content-disposition npm module instead'); + +/** + * Parse accept params `str` returning an + * object with `.value`, `.quality` and `.params`. + * also includes `.originalIndex` for stable sorting + * + * @param {String} str + * @return {Object} + * @api private + */ + +function acceptParams(str, index) { + var parts = str.split(/ *; */); + var ret = { value: parts[0], quality: 1, params: {}, originalIndex: index }; + + for (var i = 1; i < parts.length; ++i) { + var pms = parts[i].split(/ *= */); + if ('q' === pms[0]) { + ret.quality = parseFloat(pms[1]); + } else { + ret.params[pms[0]] = pms[1]; + } + } + + return ret; +} + +/** + * Compile "etag" value to function. + * + * @param {Boolean|String|Function} val + * @return {Function} + * @api private + */ + +exports.compileETag = function(val) { + var fn; + + if (typeof val === 'function') { + return val; + } + + switch (val) { + case true: + fn = exports.wetag; + break; + case false: + break; + case 'strong': + fn = exports.etag; + break; + case 'weak': + fn = exports.wetag; + break; + default: + throw new TypeError('unknown value for etag function: ' + val); + } + + return fn; +} + +/** + * Compile "query parser" value to function. + * + * @param {String|Function} val + * @return {Function} + * @api private + */ + +exports.compileQueryParser = function compileQueryParser(val) { + var fn; + + if (typeof val === 'function') { + return val; + } + + switch (val) { + case true: + fn = querystring.parse; + break; + case false: + fn = newObject; + break; + case 'extended': + fn = parseExtendedQueryString; + break; + case 'simple': + fn = querystring.parse; + break; + default: + throw new TypeError('unknown value for query parser function: ' + val); + } + + return fn; +} + +/** + * Compile "proxy trust" value to function. + * + * @param {Boolean|String|Number|Array|Function} val + * @return {Function} + * @api private + */ + +exports.compileTrust = function(val) { + if (typeof val === 'function') return val; + + if (val === true) { + // Support plain true/false + return function(){ return true }; + } + + if (typeof val === 'number') { + // Support trusting hop count + return function(a, i){ return i < val }; + } + + if (typeof val === 'string') { + // Support comma-separated values + val = val.split(/ *, */); + } + + return proxyaddr.compile(val || []); +} + +/** + * Set the charset in a given Content-Type string. + * + * @param {String} type + * @param {String} charset + * @return {String} + * @api private + */ + +exports.setCharset = function setCharset(type, charset) { + if (!type || !charset) { + return type; + } + + // parse type + var parsed = contentType.parse(type); + + // set charset + parsed.parameters.charset = charset; + + // format type + return contentType.format(parsed); +}; + +/** + * Create an ETag generator function, generating ETags with + * the given options. + * + * @param {object} options + * @return {function} + * @private + */ + +function createETagGenerator (options) { + return function generateETag (body, encoding) { + var buf = !Buffer.isBuffer(body) + ? Buffer.from(body, encoding) + : body + + return etag(buf, options) + } +} + +/** + * Parse an extended query string with qs. + * + * @return {Object} + * @private + */ + +function parseExtendedQueryString(str) { + return qs.parse(str, { + allowPrototypes: true + }); +} + +/** + * Return new empty object. + * + * @return {Object} + * @api private + */ + +function newObject() { + return {}; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/view.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/view.js new file mode 100755 index 0000000..cf101ca --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/lib/view.js @@ -0,0 +1,182 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var debug = require('debug')('express:view'); +var path = require('path'); +var fs = require('fs'); + +/** + * Module variables. + * @private + */ + +var dirname = path.dirname; +var basename = path.basename; +var extname = path.extname; +var join = path.join; +var resolve = path.resolve; + +/** + * Module exports. + * @public + */ + +module.exports = View; + +/** + * Initialize a new `View` with the given `name`. + * + * Options: + * + * - `defaultEngine` the default template engine name + * - `engines` template engine require() cache + * - `root` root path for view lookup + * + * @param {string} name + * @param {object} options + * @public + */ + +function View(name, options) { + var opts = options || {}; + + this.defaultEngine = opts.defaultEngine; + this.ext = extname(name); + this.name = name; + this.root = opts.root; + + if (!this.ext && !this.defaultEngine) { + throw new Error('No default engine was specified and no extension was provided.'); + } + + var fileName = name; + + if (!this.ext) { + // get extension from default engine name + this.ext = this.defaultEngine[0] !== '.' + ? '.' + this.defaultEngine + : this.defaultEngine; + + fileName += this.ext; + } + + if (!opts.engines[this.ext]) { + // load engine + var mod = this.ext.substr(1) + debug('require "%s"', mod) + + // default engine export + var fn = require(mod).__express + + if (typeof fn !== 'function') { + throw new Error('Module "' + mod + '" does not provide a view engine.') + } + + opts.engines[this.ext] = fn + } + + // store loaded engine + this.engine = opts.engines[this.ext]; + + // lookup path + this.path = this.lookup(fileName); +} + +/** + * Lookup view by the given `name` + * + * @param {string} name + * @private + */ + +View.prototype.lookup = function lookup(name) { + var path; + var roots = [].concat(this.root); + + debug('lookup "%s"', name); + + for (var i = 0; i < roots.length && !path; i++) { + var root = roots[i]; + + // resolve the path + var loc = resolve(root, name); + var dir = dirname(loc); + var file = basename(loc); + + // resolve the file + path = this.resolve(dir, file); + } + + return path; +}; + +/** + * Render with the given options. + * + * @param {object} options + * @param {function} callback + * @private + */ + +View.prototype.render = function render(options, callback) { + debug('render "%s"', this.path); + this.engine(this.path, options, callback); +}; + +/** + * Resolve the file within the given directory. + * + * @param {string} dir + * @param {string} file + * @private + */ + +View.prototype.resolve = function resolve(dir, file) { + var ext = this.ext; + + // <path>.<ext> + var path = join(dir, file); + var stat = tryStat(path); + + if (stat && stat.isFile()) { + return path; + } + + // <path>/index.<ext> + path = join(dir, basename(file, ext), 'index' + ext); + stat = tryStat(path); + + if (stat && stat.isFile()) { + return path; + } +}; + +/** + * Return a stat, maybe. + * + * @param {string} path + * @return {fs.Stats} + * @private + */ + +function tryStat(path) { + debug('stat "%s"', path); + + try { + return fs.statSync(path); + } catch (e) { + return undefined; + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/package.json new file mode 100755 index 0000000..cf209ba --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/express/package.json @@ -0,0 +1,201 @@ +{ + "_args": [ + [ + { + "raw": "express", + "scope": null, + "escapedName": "express", + "name": "express", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1" + ] + ], + "_from": "express@latest", + "_id": "express@4.16.2", + "_inCache": true, + "_location": "/express", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/express-4.16.2.tgz_1507605225187_0.6328138182871044" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "express", + "scope": null, + "escapedName": "express", + "name": "express", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "_shasum": "e35c6dfe2d64b7dca0a5cd4f21781be3299e076c", + "_shrinkwrap": null, + "_spec": "express", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "bugs": { + "url": "https://github.com/expressjs/express/issues" + }, + "contributors": [ + { + "name": "Aaron Heckmann", + "email": "aaron.heckmann+github@gmail.com" + }, + { + "name": "Ciaran Jessup", + "email": "ciaranj@gmail.com" + }, + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Guillermo Rauch", + "email": "rauchg@gmail.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com" + }, + { + "name": "Roman Shtylman", + "email": "shtylman+expressjs@gmail.com" + }, + { + "name": "Young Jae Sim", + "email": "hanul@hanul.me" + } + ], + "dependencies": { + "accepts": "~1.3.4", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.0", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.2", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.1", + "serve-static": "1.13.1", + "setprototypeof": "1.1.0", + "statuses": "~1.3.1", + "type-is": "~1.6.15", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "description": "Fast, unopinionated, minimalist web framework", + "devDependencies": { + "after": "0.8.2", + "connect-redis": "~2.4.1", + "cookie-parser": "~1.4.3", + "cookie-session": "1.3.2", + "ejs": "2.5.7", + "eslint": "2.13.1", + "express-session": "1.15.6", + "hbs": "4.0.1", + "istanbul": "0.4.5", + "marked": "0.3.6", + "method-override": "2.3.10", + "mocha": "3.5.3", + "morgan": "1.9.0", + "multiparty": "4.1.3", + "pbkdf2-password": "1.2.1", + "should": "13.1.0", + "supertest": "1.2.0", + "vhost": "~3.0.2" + }, + "directories": {}, + "dist": { + "shasum": "e35c6dfe2d64b7dca0a5cd4f21781be3299e076c", + "tarball": "https://registry.npmjs.org/express/-/express-4.16.2.tgz" + }, + "engines": { + "node": ">= 0.10.0" + }, + "files": [ + "LICENSE", + "History.md", + "Readme.md", + "index.js", + "lib/" + ], + "gitHead": "351396f971280ab79faddcf9782ea50f4e88358d", + "homepage": "http://expressjs.com/", + "keywords": [ + "express", + "framework", + "sinatra", + "web", + "rest", + "restful", + "router", + "app", + "api" + ], + "license": "MIT", + "maintainers": [ + { + "name": "hacksparrow", + "email": "captain@hacksparrow.com" + }, + { + "name": "mikeal", + "email": "mikeal.rogers@gmail.com" + }, + { + "name": "jasnell", + "email": "jasnell@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "express", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/expressjs/express.git" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --require test/support/env --reporter spec --bail --check-leaks --no-exit test/ test/acceptance/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks --no-exit test/ test/acceptance/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks --no-exit test/ test/acceptance/", + "test-tap": "mocha --require test/support/env --reporter tap --check-leaks --no-exit test/ test/acceptance/" + }, + "version": "4.16.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/HISTORY.md new file mode 100755 index 0000000..4f7244d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/HISTORY.md @@ -0,0 +1,172 @@ +1.1.0 / 2017-09-24 +================== + + * Use `res.headersSent` when available + +1.0.6 / 2017-09-22 +================== + + * deps: debug@2.6.9 + +1.0.5 / 2017-09-15 +================== + + * deps: parseurl@~1.3.2 + - perf: reduce overhead for full URLs + - perf: unroll the "fast-path" `RegExp` + +1.0.4 / 2017-08-03 +================== + + * deps: debug@2.6.8 + +1.0.3 / 2017-05-16 +================== + + * deps: debug@2.6.7 + - deps: ms@2.0.0 + +1.0.2 / 2017-04-22 +================== + + * deps: debug@2.6.4 + - deps: ms@0.7.3 + +1.0.1 / 2017-03-21 +================== + + * Fix missing `</html>` in HTML document + * deps: debug@2.6.3 + - Fix: `DEBUG_MAX_ARRAY_LENGTH` + +1.0.0 / 2017-02-15 +================== + + * Fix exception when `err` cannot be converted to a string + * Fully URL-encode the pathname in the 404 message + * Only include the pathname in the 404 message + * Send complete HTML document + * Set `Content-Security-Policy: default-src 'self'` header + * deps: debug@2.6.1 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable set to `3` or higher + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + +0.5.1 / 2016-11-12 +================== + + * Fix exception when `err.headers` is not an object + * deps: statuses@~1.3.1 + * perf: hoist regular expressions + * perf: remove duplicate validation path + +0.5.0 / 2016-06-15 +================== + + * Change invalid or non-numeric status code to 500 + * Overwrite status message to match set status code + * Prefer `err.statusCode` if `err.status` is invalid + * Set response headers from `err.headers` object + * Use `statuses` instead of `http` module for status messages + - Includes all defined status messages + +0.4.1 / 2015-12-02 +================== + + * deps: escape-html@~1.0.3 + - perf: enable strict mode + - perf: optimize string replacement + - perf: use faster string coercion + +0.4.0 / 2015-06-14 +================== + + * Fix a false-positive when unpiping in Node.js 0.8 + * Support `statusCode` property on `Error` objects + * Use `unpipe` module for unpiping requests + * deps: escape-html@1.0.2 + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * perf: enable strict mode + * perf: remove argument reassignment + +0.3.6 / 2015-05-11 +================== + + * deps: debug@~2.2.0 + - deps: ms@0.7.1 + +0.3.5 / 2015-04-22 +================== + + * deps: on-finished@~2.2.1 + - Fix `isFinished(req)` when data buffered + +0.3.4 / 2015-03-15 +================== + + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + +0.3.3 / 2015-01-01 +================== + + * deps: debug@~2.1.1 + * deps: on-finished@~2.2.0 + +0.3.2 / 2014-10-22 +================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + +0.3.1 / 2014-10-16 +================== + + * deps: debug@~2.1.0 + - Implement `DEBUG_FD` env variable support + +0.3.0 / 2014-09-17 +================== + + * Terminate in progress response only on error + * Use `on-finished` to determine request status + +0.2.0 / 2014-09-03 +================== + + * Set `X-Content-Type-Options: nosniff` header + * deps: debug@~2.0.0 + +0.1.0 / 2014-07-16 +================== + + * Respond after request fully read + - prevents hung responses and socket hang ups + * deps: debug@1.0.4 + +0.0.3 / 2014-07-11 +================== + + * deps: debug@1.0.3 + - Add support for multiple wildcards in namespaces + +0.0.2 / 2014-06-19 +================== + + * Handle invalid status codes + +0.0.1 / 2014-06-05 +================== + + * deps: debug@1.0.2 + +0.0.0 / 2014-06-05 +================== + + * Extracted from connect/express diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/LICENSE new file mode 100755 index 0000000..fb30982 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/README.md new file mode 100755 index 0000000..6756f0c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/README.md @@ -0,0 +1,148 @@ +# finalhandler + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Node.js function to invoke as the final step to respond to HTTP request. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install finalhandler +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var finalhandler = require('finalhandler') +``` + +### finalhandler(req, res, [options]) + +Returns function to be invoked as the final step for the given `req` and `res`. +This function is to be invoked as `fn(err)`. If `err` is falsy, the handler will +write out a 404 response to the `res`. If it is truthy, an error response will +be written out to the `res`. + +When an error is written, the following information is added to the response: + + * The `res.statusCode` is set from `err.status` (or `err.statusCode`). If + this value is outside the 4xx or 5xx range, it will be set to 500. + * The `res.statusMessage` is set according to the status code. + * The body will be the HTML of the status code message if `env` is + `'production'`, otherwise will be `err.stack`. + * Any headers specified in an `err.headers` object. + +The final handler will also unpipe anything from `req` when it is invoked. + +#### options.env + +By default, the environment is determined by `NODE_ENV` variable, but it can be +overridden by this option. + +#### options.onerror + +Provide a function to be called with the `err` when it exists. Can be used for +writing errors to a central location without excessive function generation. Called +as `onerror(err, req, res)`. + +## Examples + +### always 404 + +```js +var finalhandler = require('finalhandler') +var http = require('http') + +var server = http.createServer(function (req, res) { + var done = finalhandler(req, res) + done() +}) + +server.listen(3000) +``` + +### perform simple action + +```js +var finalhandler = require('finalhandler') +var fs = require('fs') +var http = require('http') + +var server = http.createServer(function (req, res) { + var done = finalhandler(req, res) + + fs.readFile('index.html', function (err, buf) { + if (err) return done(err) + res.setHeader('Content-Type', 'text/html') + res.end(buf) + }) +}) + +server.listen(3000) +``` + +### use with middleware-style functions + +```js +var finalhandler = require('finalhandler') +var http = require('http') +var serveStatic = require('serve-static') + +var serve = serveStatic('public') + +var server = http.createServer(function (req, res) { + var done = finalhandler(req, res) + serve(req, res, done) +}) + +server.listen(3000) +``` + +### keep log of all errors + +```js +var finalhandler = require('finalhandler') +var fs = require('fs') +var http = require('http') + +var server = http.createServer(function (req, res) { + var done = finalhandler(req, res, {onerror: logerror}) + + fs.readFile('index.html', function (err, buf) { + if (err) return done(err) + res.setHeader('Content-Type', 'text/html') + res.end(buf) + }) +}) + +server.listen(3000) + +function logerror (err) { + console.error(err.stack || err.toString()) +} +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/finalhandler.svg +[npm-url]: https://npmjs.org/package/finalhandler +[node-image]: https://img.shields.io/node/v/finalhandler.svg +[node-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/pillarjs/finalhandler.svg +[travis-url]: https://travis-ci.org/pillarjs/finalhandler +[coveralls-image]: https://img.shields.io/coveralls/pillarjs/finalhandler.svg +[coveralls-url]: https://coveralls.io/r/pillarjs/finalhandler?branch=master +[downloads-image]: https://img.shields.io/npm/dm/finalhandler.svg +[downloads-url]: https://npmjs.org/package/finalhandler diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/index.js new file mode 100755 index 0000000..42f0f74 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/index.js @@ -0,0 +1,314 @@ +/*! + * finalhandler + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var debug = require('debug')('finalhandler') +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var onFinished = require('on-finished') +var parseUrl = require('parseurl') +var statuses = require('statuses') +var unpipe = require('unpipe') + +/** + * Module variables. + * @private + */ + +var DOUBLE_SPACE_REGEXP = /\x20{2}/g +var NEWLINE_REGEXP = /\n/g + +/* istanbul ignore next */ +var defer = typeof setImmediate === 'function' + ? setImmediate + : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) } +var isFinished = onFinished.isFinished + +/** + * Create a minimal HTML document. + * + * @param {string} message + * @private + */ + +function createHtmlDocument (message) { + var body = escapeHtml(message) + .replace(NEWLINE_REGEXP, '<br>') + .replace(DOUBLE_SPACE_REGEXP, ' ') + + return '<!DOCTYPE html>\n' + + '<html lang="en">\n' + + '<head>\n' + + '<meta charset="utf-8">\n' + + '<title>Error</title>\n' + + '</head>\n' + + '<body>\n' + + '<pre>' + body + '</pre>\n' + + '</body>\n' + + '</html>\n' +} + +/** + * Module exports. + * @public + */ + +module.exports = finalhandler + +/** + * Create a function to handle the final response. + * + * @param {Request} req + * @param {Response} res + * @param {Object} [options] + * @return {Function} + * @public + */ + +function finalhandler (req, res, options) { + var opts = options || {} + + // get environment + var env = opts.env || process.env.NODE_ENV || 'development' + + // get error callback + var onerror = opts.onerror + + return function (err) { + var headers + var msg + var status + + // ignore 404 on in-flight response + if (!err && headersSent(res)) { + debug('cannot 404 after headers sent') + return + } + + // unhandled error + if (err) { + // respect status code from error + status = getErrorStatusCode(err) + + // respect headers from error + if (status !== undefined) { + headers = getErrorHeaders(err) + } + + // fallback to status code on response + if (status === undefined) { + status = getResponseStatusCode(res) + } + + // get error message + msg = getErrorMessage(err, status, env) + } else { + // not found + status = 404 + msg = 'Cannot ' + req.method + ' ' + encodeUrl(parseUrl.original(req).pathname) + } + + debug('default %s', status) + + // schedule onerror callback + if (err && onerror) { + defer(onerror, err, req, res) + } + + // cannot actually respond + if (headersSent(res)) { + debug('cannot %d after headers sent', status) + req.socket.destroy() + return + } + + // send response + send(req, res, status, headers, msg) + } +} + +/** + * Get headers from Error object. + * + * @param {Error} err + * @return {object} + * @private + */ + +function getErrorHeaders (err) { + if (!err.headers || typeof err.headers !== 'object') { + return undefined + } + + var headers = Object.create(null) + var keys = Object.keys(err.headers) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + headers[key] = err.headers[key] + } + + return headers +} + +/** + * Get message from Error object, fallback to status message. + * + * @param {Error} err + * @param {number} status + * @param {string} env + * @return {string} + * @private + */ + +function getErrorMessage (err, status, env) { + var msg + + if (env !== 'production') { + // use err.stack, which typically includes err.message + msg = err.stack + + // fallback to err.toString() when possible + if (!msg && typeof err.toString === 'function') { + msg = err.toString() + } + } + + return msg || statuses[status] +} + +/** + * Get status code from Error object. + * + * @param {Error} err + * @return {number} + * @private + */ + +function getErrorStatusCode (err) { + // check err.status + if (typeof err.status === 'number' && err.status >= 400 && err.status < 600) { + return err.status + } + + // check err.statusCode + if (typeof err.statusCode === 'number' && err.statusCode >= 400 && err.statusCode < 600) { + return err.statusCode + } + + return undefined +} + +/** + * Get status code from response. + * + * @param {OutgoingMessage} res + * @return {number} + * @private + */ + +function getResponseStatusCode (res) { + var status = res.statusCode + + // default status code to 500 if outside valid range + if (typeof status !== 'number' || status < 400 || status > 599) { + status = 500 + } + + return status +} + +/** + * Determine if the response headers have been sent. + * + * @param {object} res + * @returns {boolean} + * @private + */ + +function headersSent (res) { + return typeof res.headersSent !== 'boolean' + ? Boolean(res._header) + : res.headersSent +} + +/** + * Send response. + * + * @param {IncomingMessage} req + * @param {OutgoingMessage} res + * @param {number} status + * @param {object} headers + * @param {string} message + * @private + */ + +function send (req, res, status, headers, message) { + function write () { + // response body + var body = createHtmlDocument(message) + + // response status + res.statusCode = status + res.statusMessage = statuses[status] + + // response headers + setHeaders(res, headers) + + // security headers + res.setHeader('Content-Security-Policy', "default-src 'self'") + res.setHeader('X-Content-Type-Options', 'nosniff') + + // standard headers + res.setHeader('Content-Type', 'text/html; charset=utf-8') + res.setHeader('Content-Length', Buffer.byteLength(body, 'utf8')) + + if (req.method === 'HEAD') { + res.end() + return + } + + res.end(body, 'utf8') + } + + if (isFinished(req)) { + write() + return + } + + // unpipe everything from the request + unpipe(req) + + // flush the request + onFinished(req, write) + req.resume() +} + +/** + * Set response headers from an object. + * + * @param {OutgoingMessage} res + * @param {object} headers + * @private + */ + +function setHeaders (res, headers) { + if (!headers) { + return + } + + var keys = Object.keys(headers) + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + res.setHeader(key, headers[key]) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/package.json new file mode 100755 index 0000000..b495c43 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/finalhandler/package.json @@ -0,0 +1,115 @@ +{ + "_args": [ + [ + { + "raw": "finalhandler@1.1.0", + "scope": null, + "escapedName": "finalhandler", + "name": "finalhandler", + "rawSpec": "1.1.0", + "spec": "1.1.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "finalhandler@1.1.0", + "_id": "finalhandler@1.1.0", + "_inCache": true, + "_location": "/finalhandler", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/finalhandler-1.1.0.tgz_1506311584388_0.4006447312422097" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "finalhandler@1.1.0", + "scope": null, + "escapedName": "finalhandler", + "name": "finalhandler", + "rawSpec": "1.1.0", + "spec": "1.1.0", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "_shasum": "ce0b6855b45853e791b2fcc680046d88253dd7f5", + "_shrinkwrap": null, + "_spec": "finalhandler@1.1.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/pillarjs/finalhandler/issues" + }, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "description": "Node.js final http responder", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "readable-stream": "2.3.3", + "safe-buffer": "5.1.1", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "shasum": "ce0b6855b45853e791b2fcc680046d88253dd7f5", + "tarball": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "a49efb83a3363d895f8c2a4cad07ccfc9e90b8ef", + "homepage": "https://github.com/pillarjs/finalhandler#readme", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "finalhandler", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/pillarjs/finalhandler.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + }, + "version": "1.1.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/HISTORY.md new file mode 100755 index 0000000..2599a55 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/HISTORY.md @@ -0,0 +1,16 @@ +0.1.2 / 2017-09-14 +================== + + * perf: improve header parsing + * perf: reduce overhead when no `X-Forwarded-For` header + +0.1.1 / 2017-09-10 +================== + + * Fix trimming leading / trailing OWS + * perf: hoist regular expression + +0.1.0 / 2014-09-21 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/LICENSE new file mode 100755 index 0000000..84441fb --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/README.md new file mode 100755 index 0000000..c776ee5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/README.md @@ -0,0 +1,57 @@ +# forwarded + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Parse HTTP X-Forwarded-For header + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install forwarded +``` + +## API + +```js +var forwarded = require('forwarded') +``` + +### forwarded(req) + +```js +var addresses = forwarded(req) +``` + +Parse the `X-Forwarded-For` header from the request. Returns an array +of the addresses, including the socket address for the `req`, in reverse +order (i.e. index `0` is the socket address and the last index is the +furthest address, typically the end-user). + +## Testing + +```sh +$ npm test +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/forwarded.svg +[npm-url]: https://npmjs.org/package/forwarded +[node-version-image]: https://img.shields.io/node/v/forwarded.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/forwarded/master.svg +[travis-url]: https://travis-ci.org/jshttp/forwarded +[coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master +[downloads-image]: https://img.shields.io/npm/dm/forwarded.svg +[downloads-url]: https://npmjs.org/package/forwarded diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/index.js new file mode 100755 index 0000000..7833b3d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/index.js @@ -0,0 +1,76 @@ +/*! + * forwarded + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = forwarded + +/** + * Get all addresses in the request, using the `X-Forwarded-For` header. + * + * @param {object} req + * @return {array} + * @public + */ + +function forwarded (req) { + if (!req) { + throw new TypeError('argument req is required') + } + + // simple header parsing + var proxyAddrs = parse(req.headers['x-forwarded-for'] || '') + var socketAddr = req.connection.remoteAddress + var addrs = [socketAddr].concat(proxyAddrs) + + // return all addresses + return addrs +} + +/** + * Parse the X-Forwarded-For header. + * + * @param {string} header + * @private + */ + +function parse (header) { + var end = header.length + var list = [] + var start = header.length + + // gather addresses, backwards + for (var i = header.length - 1; i >= 0; i--) { + switch (header.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + } + break + case 0x2c: /* , */ + if (start !== end) { + list.push(header.substring(start, end)) + } + start = end = i + break + default: + start = i + break + } + } + + // final address + if (start !== end) { + list.push(header.substring(start, end)) + } + + return list +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/package.json new file mode 100755 index 0000000..51ec5a3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/forwarded/package.json @@ -0,0 +1,114 @@ +{ + "_args": [ + [ + { + "raw": "forwarded@~0.1.2", + "scope": null, + "escapedName": "forwarded", + "name": "forwarded", + "rawSpec": "~0.1.2", + "spec": ">=0.1.2 <0.2.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\proxy-addr" + ] + ], + "_from": "forwarded@>=0.1.2 <0.2.0", + "_id": "forwarded@0.1.2", + "_inCache": true, + "_location": "/forwarded", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/forwarded-0.1.2.tgz_1505441873168_0.0936233215034008" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "forwarded@~0.1.2", + "scope": null, + "escapedName": "forwarded", + "name": "forwarded", + "rawSpec": "~0.1.2", + "spec": ">=0.1.2 <0.2.0", + "type": "range" + }, + "_requiredBy": [ + "/proxy-addr" + ], + "_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "_shasum": "98c23dab1175657b8c0573e8ceccd91b0ff18c84", + "_shrinkwrap": null, + "_spec": "forwarded@~0.1.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\proxy-addr", + "bugs": { + "url": "https://github.com/jshttp/forwarded/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": {}, + "description": "Parse HTTP X-Forwarded-For header", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "98c23dab1175657b8c0573e8ceccd91b0ff18c84", + "tarball": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "2fc094b49781b62acb0e2b00f83abd641d604a7c", + "homepage": "https://github.com/jshttp/forwarded#readme", + "keywords": [ + "x-forwarded-for", + "http", + "req" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "forwarded", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/forwarded.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "0.1.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/HISTORY.md new file mode 100755 index 0000000..4586996 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/HISTORY.md @@ -0,0 +1,70 @@ +0.5.2 / 2017-09-13 +================== + + * Fix regression matching multiple ETags in `If-None-Match` + * perf: improve `If-None-Match` token parsing + +0.5.1 / 2017-09-11 +================== + + * Fix handling of modified headers with invalid dates + * perf: improve ETag match loop + +0.5.0 / 2017-02-21 +================== + + * Fix incorrect result when `If-None-Match` has both `*` and ETags + * Fix weak `ETag` matching to match spec + * perf: delay reading header values until needed + * perf: skip checking modified time if ETag check failed + * perf: skip parsing `If-None-Match` when no `ETag` header + * perf: use `Date.parse` instead of `new Date` + +0.4.0 / 2017-02-05 +================== + + * Fix false detection of `no-cache` request directive + * perf: enable strict mode + * perf: hoist regular expressions + * perf: remove duplicate conditional + * perf: remove unnecessary boolean coercions + +0.3.0 / 2015-05-12 +================== + + * Add weak `ETag` matching support + +0.2.4 / 2014-09-07 +================== + + * Support Node.js 0.6 + +0.2.3 / 2014-09-07 +================== + + * Move repository to jshttp + +0.2.2 / 2014-02-19 +================== + + * Revert "Fix for blank page on Safari reload" + +0.2.1 / 2014-01-29 +================== + + * Fix for blank page on Safari reload + +0.2.0 / 2013-08-11 +================== + + * Return stale for `Cache-Control: no-cache` + +0.1.0 / 2012-06-15 +================== + + * Add `If-None-Match: *` support + +0.0.1 / 2012-06-10 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/LICENSE new file mode 100755 index 0000000..1434ade --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2016-2017 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/README.md new file mode 100755 index 0000000..1c1c680 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/README.md @@ -0,0 +1,119 @@ +# fresh + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +HTTP response freshness testing + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +``` +$ npm install fresh +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var fresh = require('fresh') +``` + +### fresh(reqHeaders, resHeaders) + +Check freshness of the response using request and response headers. + +When the response is still "fresh" in the client's cache `true` is +returned, otherwise `false` is returned to indicate that the client +cache is now stale and the full response should be sent. + +When a client sends the `Cache-Control: no-cache` request header to +indicate an end-to-end reload request, this module will return `false` +to make handling these requests transparent. + +## Known Issues + +This module is designed to only follow the HTTP specifications, not +to work-around all kinda of client bugs (especially since this module +typically does not recieve enough information to understand what the +client actually is). + +There is a known issue that in certain versions of Safari, Safari +will incorrectly make a request that allows this module to validate +freshness of the resource even when Safari does not have a +representation of the resource in the cache. The module +[jumanji](https://www.npmjs.com/package/jumanji) can be used in +an Express application to work-around this issue and also provides +links to further reading on this Safari bug. + +## Example + +### API usage + +<!-- eslint-disable no-redeclare, no-undef --> + +```js +var reqHeaders = { 'if-none-match': '"foo"' } +var resHeaders = { 'etag': '"bar"' } +fresh(reqHeaders, resHeaders) +// => false + +var reqHeaders = { 'if-none-match': '"foo"' } +var resHeaders = { 'etag': '"foo"' } +fresh(reqHeaders, resHeaders) +// => true +``` + +### Using with Node.js http server + +```js +var fresh = require('fresh') +var http = require('http') + +var server = http.createServer(function (req, res) { + // perform server logic + // ... including adding ETag / Last-Modified response headers + + if (isFresh(req, res)) { + // client has a fresh copy of resource + res.statusCode = 304 + res.end() + return + } + + // send the resource + res.statusCode = 200 + res.end('hello, world!') +}) + +function isFresh (req, res) { + return fresh(req.headers, { + 'etag': res.getHeader('ETag'), + 'last-modified': res.getHeader('Last-Modified') + }) +} + +server.listen(3000) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/fresh.svg +[npm-url]: https://npmjs.org/package/fresh +[node-version-image]: https://img.shields.io/node/v/fresh.svg +[node-version-url]: https://nodejs.org/en/ +[travis-image]: https://img.shields.io/travis/jshttp/fresh/master.svg +[travis-url]: https://travis-ci.org/jshttp/fresh +[coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master +[downloads-image]: https://img.shields.io/npm/dm/fresh.svg +[downloads-url]: https://npmjs.org/package/fresh diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/index.js new file mode 100755 index 0000000..d154f5a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/index.js @@ -0,0 +1,137 @@ +/*! + * fresh + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2016-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to check for no-cache token in Cache-Control. + * @private + */ + +var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/ + +/** + * Module exports. + * @public + */ + +module.exports = fresh + +/** + * Check freshness of the response using request and response headers. + * + * @param {Object} reqHeaders + * @param {Object} resHeaders + * @return {Boolean} + * @public + */ + +function fresh (reqHeaders, resHeaders) { + // fields + var modifiedSince = reqHeaders['if-modified-since'] + var noneMatch = reqHeaders['if-none-match'] + + // unconditional request + if (!modifiedSince && !noneMatch) { + return false + } + + // Always return stale when Cache-Control: no-cache + // to support end-to-end reload requests + // https://tools.ietf.org/html/rfc2616#section-14.9.4 + var cacheControl = reqHeaders['cache-control'] + if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) { + return false + } + + // if-none-match + if (noneMatch && noneMatch !== '*') { + var etag = resHeaders['etag'] + + if (!etag) { + return false + } + + var etagStale = true + var matches = parseTokenList(noneMatch) + for (var i = 0; i < matches.length; i++) { + var match = matches[i] + if (match === etag || match === 'W/' + etag || 'W/' + match === etag) { + etagStale = false + break + } + } + + if (etagStale) { + return false + } + } + + // if-modified-since + if (modifiedSince) { + var lastModified = resHeaders['last-modified'] + var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince)) + + if (modifiedStale) { + return false + } + } + + return true +} + +/** + * Parse an HTTP Date into a number. + * + * @param {string} date + * @private + */ + +function parseHttpDate (date) { + var timestamp = date && Date.parse(date) + + // istanbul ignore next: guard against date.js Date.parse patching + return typeof timestamp === 'number' + ? timestamp + : NaN +} + +/** + * Parse a HTTP token list. + * + * @param {string} str + * @private + */ + +function parseTokenList (str) { + var end = 0 + var list = [] + var start = 0 + + // gather tokens + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + 1 + } + break + case 0x2c: /* , */ + list.push(str.substring(start, end)) + start = end = i + 1 + break + default: + end = i + 1 + break + } + } + + // final token + list.push(str.substring(start, end)) + + return list +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/package.json new file mode 100755 index 0000000..d86a126 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/fresh/package.json @@ -0,0 +1,126 @@ +{ + "_args": [ + [ + { + "raw": "fresh@0.5.2", + "scope": null, + "escapedName": "fresh", + "name": "fresh", + "rawSpec": "0.5.2", + "spec": "0.5.2", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "fresh@0.5.2", + "_id": "fresh@0.5.2", + "_inCache": true, + "_location": "/fresh", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/fresh-0.5.2.tgz_1505365391149_0.7952043106779456" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "fresh@0.5.2", + "scope": null, + "escapedName": "fresh", + "name": "fresh", + "rawSpec": "0.5.2", + "spec": "0.5.2", + "type": "version" + }, + "_requiredBy": [ + "/express", + "/send" + ], + "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "_shasum": "3d8cadd90d976569fa835ab1f8e4b23a105605a7", + "_shrinkwrap": null, + "_spec": "fresh@0.5.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": "http://tjholowaychuk.com" + }, + "bugs": { + "url": "https://github.com/jshttp/fresh/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": {}, + "description": "HTTP response freshness testing", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "3d8cadd90d976569fa835ab1f8e4b23a105605a7", + "tarball": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "gitHead": "02df6303ff260b6b7da0b479f3e42222e8157b47", + "homepage": "https://github.com/jshttp/fresh#readme", + "keywords": [ + "fresh", + "http", + "conditional", + "cache" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "fresh", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/fresh.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "0.5.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/HISTORY.md new file mode 100755 index 0000000..b6ee4a0 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/HISTORY.md @@ -0,0 +1,124 @@ +2017-08-04 / 1.6.2 +================== + + * deps: depd@1.1.1 + - Remove unnecessary `Buffer` loading + +2017-02-20 / 1.6.1 +================== + + * deps: setprototypeof@1.0.3 + - Fix shim for old browsers + +2017-02-14 / 1.6.0 +================== + + * Accept custom 4xx and 5xx status codes in factory + * Add deprecation message to `"I'mateapot"` export + * Deprecate passing status code as anything except first argument in factory + * Deprecate using non-error status codes + * Make `message` property enumerable for `HttpError`s + +2016-11-16 / 1.5.1 +================== + + * deps: inherits@2.0.3 + - Fix issue loading in browser + * deps: setprototypeof@1.0.2 + * deps: statuses@'>= 1.3.1 < 2' + +2016-05-18 / 1.5.0 +================== + + * Support new code `421 Misdirected Request` + * Use `setprototypeof` module to replace `__proto__` setting + * deps: statuses@'>= 1.3.0 < 2' + - Add `421 Misdirected Request` + - perf: enable strict mode + * perf: enable strict mode + +2016-01-28 / 1.4.0 +================== + + * Add `HttpError` export, for `err instanceof createError.HttpError` + * deps: inherits@2.0.1 + * deps: statuses@'>= 1.2.1 < 2' + - Fix message for status 451 + - Remove incorrect nginx status code + +2015-02-02 / 1.3.1 +================== + + * Fix regression where status can be overwritten in `createError` `props` + +2015-02-01 / 1.3.0 +================== + + * Construct errors using defined constructors from `createError` + * Fix error names that are not identifiers + - `createError["I'mateapot"]` is now `createError.ImATeapot` + * Set a meaningful `name` property on constructed errors + +2014-12-09 / 1.2.8 +================== + + * Fix stack trace from exported function + * Remove `arguments.callee` usage + +2014-10-14 / 1.2.7 +================== + + * Remove duplicate line + +2014-10-02 / 1.2.6 +================== + + * Fix `expose` to be `true` for `ClientError` constructor + +2014-09-28 / 1.2.5 +================== + + * deps: statuses@1 + +2014-09-21 / 1.2.4 +================== + + * Fix dependency version to work with old `npm`s + +2014-09-21 / 1.2.3 +================== + + * deps: statuses@~1.1.0 + +2014-09-21 / 1.2.2 +================== + + * Fix publish error + +2014-09-21 / 1.2.1 +================== + + * Support Node.js 0.6 + * Use `inherits` instead of `util` + +2014-09-09 / 1.2.0 +================== + + * Fix the way inheriting functions + * Support `expose` being provided in properties argument + +2014-09-08 / 1.1.0 +================== + + * Default status to 500 + * Support provided `error` to extend + +2014-09-08 / 1.0.1 +================== + + * Fix accepting string message + +2014-09-08 / 1.0.0 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/LICENSE new file mode 100755 index 0000000..82af4df --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/LICENSE @@ -0,0 +1,23 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/README.md new file mode 100755 index 0000000..79663d8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/README.md @@ -0,0 +1,135 @@ +# http-errors + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create HTTP errors for Express, Koa, Connect, etc. with ease. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install http-errors +``` + +## Example + +```js +var createError = require('http-errors') +var express = require('express') +var app = express() + +app.use(function (req, res, next) { + if (!req.user) return next(createError(401, 'Please login to view this page.')) + next() +}) +``` + +## API + +This is the current API, currently extracted from Koa and subject to change. + +All errors inherit from JavaScript `Error` and the exported `createError.HttpError`. + +### Error Properties + +- `expose` - can be used to signal if `message` should be sent to the client, + defaulting to `false` when `status` >= 500 +- `headers` - can be an object of header names to values to be sent to the + client, defaulting to `undefined`. When defined, the key names should all + be lower-cased +- `message` - the traditional error message, which should be kept short and all + single line +- `status` - the status code of the error, mirroring `statusCode` for general + compatibility +- `statusCode` - the status code of the error, defaulting to `500` + +### createError([status], [message], [properties]) + +<!-- eslint-disable no-undef, no-unused-vars --> + +```js +var err = createError(404, 'This video does not exist!') +``` + +- `status: 500` - the status code as a number +- `message` - the message of the error, defaulting to node's text for that status code. +- `properties` - custom properties to attach to the object + +### new createError\[code || name\](\[msg]\)) + +<!-- eslint-disable no-undef, no-unused-vars --> + +```js +var err = new createError.NotFound() +``` + +- `code` - the status code as a number +- `name` - the name of the error as a "bumpy case", i.e. `NotFound` or `InternalServerError`. + +#### List of all constructors + +|Status Code|Constructor Name | +|-----------|-----------------------------| +|400 |BadRequest | +|401 |Unauthorized | +|402 |PaymentRequired | +|403 |Forbidden | +|404 |NotFound | +|405 |MethodNotAllowed | +|406 |NotAcceptable | +|407 |ProxyAuthenticationRequired | +|408 |RequestTimeout | +|409 |Conflict | +|410 |Gone | +|411 |LengthRequired | +|412 |PreconditionFailed | +|413 |PayloadTooLarge | +|414 |URITooLong | +|415 |UnsupportedMediaType | +|416 |RangeNotSatisfiable | +|417 |ExpectationFailed | +|418 |ImATeapot | +|421 |MisdirectedRequest | +|422 |UnprocessableEntity | +|423 |Locked | +|424 |FailedDependency | +|425 |UnorderedCollection | +|426 |UpgradeRequired | +|428 |PreconditionRequired | +|429 |TooManyRequests | +|431 |RequestHeaderFieldsTooLarge | +|451 |UnavailableForLegalReasons | +|500 |InternalServerError | +|501 |NotImplemented | +|502 |BadGateway | +|503 |ServiceUnavailable | +|504 |GatewayTimeout | +|505 |HTTPVersionNotSupported | +|506 |VariantAlsoNegotiates | +|507 |InsufficientStorage | +|508 |LoopDetected | +|509 |BandwidthLimitExceeded | +|510 |NotExtended | +|511 |NetworkAuthenticationRequired| + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/http-errors.svg +[npm-url]: https://npmjs.org/package/http-errors +[node-version-image]: https://img.shields.io/node/v/http-errors.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/http-errors.svg +[travis-url]: https://travis-ci.org/jshttp/http-errors +[coveralls-image]: https://img.shields.io/coveralls/jshttp/http-errors.svg +[coveralls-url]: https://coveralls.io/r/jshttp/http-errors +[downloads-image]: https://img.shields.io/npm/dm/http-errors.svg +[downloads-url]: https://npmjs.org/package/http-errors diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/index.js new file mode 100755 index 0000000..9509303 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/index.js @@ -0,0 +1,260 @@ +/*! + * http-errors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var deprecate = require('depd')('http-errors') +var setPrototypeOf = require('setprototypeof') +var statuses = require('statuses') +var inherits = require('inherits') + +/** + * Module exports. + * @public + */ + +module.exports = createError +module.exports.HttpError = createHttpErrorConstructor() + +// Populate exports for all constructors +populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError) + +/** + * Get the code class of a status code. + * @private + */ + +function codeClass (status) { + return Number(String(status).charAt(0) + '00') +} + +/** + * Create a new HTTP Error. + * + * @returns {Error} + * @public + */ + +function createError () { + // so much arity going on ~_~ + var err + var msg + var status = 500 + var props = {} + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i] + if (arg instanceof Error) { + err = arg + status = err.status || err.statusCode || status + continue + } + switch (typeof arg) { + case 'string': + msg = arg + break + case 'number': + status = arg + if (i !== 0) { + deprecate('non-first-argument status code; replace with createError(' + arg + ', ...)') + } + break + case 'object': + props = arg + break + } + } + + if (typeof status === 'number' && (status < 400 || status >= 600)) { + deprecate('non-error status code; use only 4xx or 5xx status codes') + } + + if (typeof status !== 'number' || + (!statuses[status] && (status < 400 || status >= 600))) { + status = 500 + } + + // constructor + var HttpError = createError[status] || createError[codeClass(status)] + + if (!err) { + // create error + err = HttpError + ? new HttpError(msg) + : new Error(msg || statuses[status]) + Error.captureStackTrace(err, createError) + } + + if (!HttpError || !(err instanceof HttpError) || err.status !== status) { + // add properties to generic error + err.expose = status < 500 + err.status = err.statusCode = status + } + + for (var key in props) { + if (key !== 'status' && key !== 'statusCode') { + err[key] = props[key] + } + } + + return err +} + +/** + * Create HTTP error abstract base class. + * @private + */ + +function createHttpErrorConstructor () { + function HttpError () { + throw new TypeError('cannot construct abstract class') + } + + inherits(HttpError, Error) + + return HttpError +} + +/** + * Create a constructor for a client error. + * @private + */ + +function createClientErrorConstructor (HttpError, name, code) { + var className = name.match(/Error$/) ? name : name + 'Error' + + function ClientError (message) { + // create the error object + var msg = message != null ? message : statuses[code] + var err = new Error(msg) + + // capture a stack trace to the construction point + Error.captureStackTrace(err, ClientError) + + // adjust the [[Prototype]] + setPrototypeOf(err, ClientError.prototype) + + // redefine the error message + Object.defineProperty(err, 'message', { + enumerable: true, + configurable: true, + value: msg, + writable: true + }) + + // redefine the error name + Object.defineProperty(err, 'name', { + enumerable: false, + configurable: true, + value: className, + writable: true + }) + + return err + } + + inherits(ClientError, HttpError) + + ClientError.prototype.status = code + ClientError.prototype.statusCode = code + ClientError.prototype.expose = true + + return ClientError +} + +/** + * Create a constructor for a server error. + * @private + */ + +function createServerErrorConstructor (HttpError, name, code) { + var className = name.match(/Error$/) ? name : name + 'Error' + + function ServerError (message) { + // create the error object + var msg = message != null ? message : statuses[code] + var err = new Error(msg) + + // capture a stack trace to the construction point + Error.captureStackTrace(err, ServerError) + + // adjust the [[Prototype]] + setPrototypeOf(err, ServerError.prototype) + + // redefine the error message + Object.defineProperty(err, 'message', { + enumerable: true, + configurable: true, + value: msg, + writable: true + }) + + // redefine the error name + Object.defineProperty(err, 'name', { + enumerable: false, + configurable: true, + value: className, + writable: true + }) + + return err + } + + inherits(ServerError, HttpError) + + ServerError.prototype.status = code + ServerError.prototype.statusCode = code + ServerError.prototype.expose = false + + return ServerError +} + +/** + * Populate the exports object with constructors for every error class. + * @private + */ + +function populateConstructorExports (exports, codes, HttpError) { + codes.forEach(function forEachCode (code) { + var CodeError + var name = toIdentifier(statuses[code]) + + switch (codeClass(code)) { + case 400: + CodeError = createClientErrorConstructor(HttpError, name, code) + break + case 500: + CodeError = createServerErrorConstructor(HttpError, name, code) + break + } + + if (CodeError) { + // export the constructor + exports[code] = CodeError + exports[name] = CodeError + } + }) + + // backwards-compatibility + exports["I'mateapot"] = deprecate.function(exports.ImATeapot, + '"I\'mateapot"; use "ImATeapot" instead') +} + +/** + * Convert a string of words to a JavaScript identifier. + * @private + */ + +function toIdentifier (str) { + return str.split(' ').map(function (token) { + return token.slice(0, 1).toUpperCase() + token.slice(1) + }).join('').replace(/[^ _0-9a-z]/gi, '') +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/LICENSE new file mode 100755 index 0000000..61afa2f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2015, Wes Todd + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/README.md new file mode 100755 index 0000000..01d7947 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/README.md @@ -0,0 +1,21 @@ +# Polyfill for `Object.setPrototypeOf` + +A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. + +## Usage: + +``` +$ npm install --save setprototypeof +``` + +```javascript +var setPrototypeOf = require('setprototypeof'); + +var obj = {}; +setPrototypeOf(obj, { + foo: function() { + return 'bar'; + } +}); +obj.foo(); // bar +``` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/index.js new file mode 100755 index 0000000..93ea417 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/index.js @@ -0,0 +1,15 @@ +module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); + +function setProtoOf(obj, proto) { + obj.__proto__ = proto; + return obj; +} + +function mixinProperties(obj, proto) { + for (var prop in proto) { + if (!obj.hasOwnProperty(prop)) { + obj[prop] = proto[prop]; + } + } + return obj; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/package.json new file mode 100755 index 0000000..a613ede --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/node_modules/setprototypeof/package.json @@ -0,0 +1,88 @@ +{ + "_args": [ + [ + { + "raw": "setprototypeof@1.0.3", + "scope": null, + "escapedName": "setprototypeof", + "name": "setprototypeof", + "rawSpec": "1.0.3", + "spec": "1.0.3", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\http-errors" + ] + ], + "_from": "setprototypeof@1.0.3", + "_id": "setprototypeof@1.0.3", + "_inCache": true, + "_location": "/http-errors/setprototypeof", + "_nodeVersion": "7.4.0", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/setprototypeof-1.0.3.tgz_1487607661334_0.977291816379875" + }, + "_npmUser": { + "name": "wesleytodd", + "email": "wes@wesleytodd.com" + }, + "_npmVersion": "4.0.5", + "_phantomChildren": {}, + "_requested": { + "raw": "setprototypeof@1.0.3", + "scope": null, + "escapedName": "setprototypeof", + "name": "setprototypeof", + "rawSpec": "1.0.3", + "spec": "1.0.3", + "type": "version" + }, + "_requiredBy": [ + "/http-errors" + ], + "_resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "_shasum": "66567e37043eeb4f04d91bd658c0cbefb55b8e04", + "_shrinkwrap": null, + "_spec": "setprototypeof@1.0.3", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\http-errors", + "author": { + "name": "Wes Todd" + }, + "bugs": { + "url": "https://github.com/wesleytodd/setprototypeof/issues" + }, + "dependencies": {}, + "description": "A small polyfill for Object.setprototypeof", + "devDependencies": {}, + "directories": {}, + "dist": { + "shasum": "66567e37043eeb4f04d91bd658c0cbefb55b8e04", + "tarball": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz" + }, + "gitHead": "a8a71aab8118651b9b0ea97ecfc28521ec82b008", + "homepage": "https://github.com/wesleytodd/setprototypeof", + "keywords": [ + "polyfill", + "object", + "setprototypeof" + ], + "license": "ISC", + "main": "index.js", + "maintainers": [ + { + "name": "wesleytodd", + "email": "wes@wesleytodd.com" + } + ], + "name": "setprototypeof", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/wesleytodd/setprototypeof.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.3" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/package.json new file mode 100755 index 0000000..46cb885 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/http-errors/package.json @@ -0,0 +1,135 @@ +{ + "_args": [ + [ + { + "raw": "http-errors@~1.6.2", + "scope": null, + "escapedName": "http-errors", + "name": "http-errors", + "rawSpec": "~1.6.2", + "spec": ">=1.6.2 <1.7.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser" + ] + ], + "_from": "http-errors@>=1.6.2 <1.7.0", + "_id": "http-errors@1.6.2", + "_inCache": true, + "_location": "/http-errors", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/http-errors-1.6.2.tgz_1501906124983_0.24086778541095555" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "http-errors@~1.6.2", + "scope": null, + "escapedName": "http-errors", + "name": "http-errors", + "rawSpec": "~1.6.2", + "spec": ">=1.6.2 <1.7.0", + "type": "range" + }, + "_requiredBy": [ + "/body-parser", + "/raw-body", + "/send" + ], + "_resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "_shasum": "0a002cc85707192a7e7946ceedc11155f60ec736", + "_shrinkwrap": null, + "_spec": "http-errors@~1.6.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/jshttp/http-errors/issues" + }, + "contributors": [ + { + "name": "Alan Plum", + "email": "me@pluma.io" + }, + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + } + ], + "dependencies": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + }, + "description": "Create HTTP error objects", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "0a002cc85707192a7e7946ceedc11155f60ec736", + "tarball": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "index.js", + "HISTORY.md", + "LICENSE", + "README.md" + ], + "gitHead": "7e534cb45fc06e8c3ad782cde89a7462851b27d1", + "homepage": "https://github.com/jshttp/http-errors#readme", + "keywords": [ + "http", + "error" + ], + "license": "MIT", + "maintainers": [ + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "egeste", + "email": "npm@egeste.net" + } + ], + "name": "http-errors", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/http-errors.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" + }, + "version": "1.6.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.npmignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.npmignore new file mode 100755 index 0000000..5cd2673 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.npmignore @@ -0,0 +1,6 @@ +*~ +*sublime-* +generation +test +wiki +coverage diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.travis.yml b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.travis.yml new file mode 100755 index 0000000..3eab7fd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/.travis.yml @@ -0,0 +1,23 @@ + sudo: false + language: node_js + node_js: + - "0.10" + - "0.11" + - "0.12" + - "iojs" + - "4" + - "6" + - "8" + - "node" + + + env: + - CXX=g++-4.8 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.8 + - g++-4.8 + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/Changelog.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/Changelog.md new file mode 100755 index 0000000..64aae34 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/Changelog.md @@ -0,0 +1,134 @@ + +# 0.4.19 / 2017-09-09 + + * Fixed iso8859-1 codec regression in handling untranslatable characters (#162, caused by #147) + * Re-generated windows1255 codec, because it was updated in iconv project + * Fixed grammar in error message when iconv-lite is loaded with encoding other than utf8 + + +# 0.4.18 / 2017-06-13 + + * Fixed CESU-8 regression in Node v8. + + +# 0.4.17 / 2017-04-22 + + * Updated typescript definition file to support Angular 2 AoT mode (#153 by @larssn) + + +# 0.4.16 / 2017-04-22 + + * Added support for React Native (#150) + * Changed iso8859-1 encoding to usine internal 'binary' encoding, as it's the same thing (#147 by @mscdex) + * Fixed typo in Readme (#138 by @jiangzhuo) + * Fixed build for Node v6.10+ by making correct version comparison + * Added a warning if iconv-lite is loaded not as utf-8 (see #142) + + +# 0.4.15 / 2016-11-21 + + * Fixed typescript type definition (#137) + + +# 0.4.14 / 2016-11-20 + + * Preparation for v1.0 + * Added Node v6 and latest Node versions to Travis CI test rig + * Deprecated Node v0.8 support + * Typescript typings (@larssn) + * Fix encoding of Euro character in GB 18030 (inspired by @lygstate) + * Add ms prefix to dbcs windows encodings (@rokoroku) + + +# 0.4.13 / 2015-10-01 + + * Fix silly mistake in deprecation notice. + + +# 0.4.12 / 2015-09-26 + + * Node v4 support: + * Added CESU-8 decoding (#106) + * Added deprecation notice for `extendNodeEncodings` + * Added Travis tests for Node v4 and io.js latest (#105 by @Mithgol) + + +# 0.4.11 / 2015-07-03 + + * Added CESU-8 encoding. + + +# 0.4.10 / 2015-05-26 + + * Changed UTF-16 endianness heuristic to take into account any ASCII chars, not + just spaces. This should minimize the importance of "default" endianness. + + +# 0.4.9 / 2015-05-24 + + * Streamlined BOM handling: strip BOM by default, add BOM when encoding if + addBOM: true. Added docs to Readme. + * UTF16 now uses UTF16-LE by default. + * Fixed minor issue with big5 encoding. + * Added io.js testing on Travis; updated node-iconv version to test against. + Now we just skip testing SBCS encodings that node-iconv doesn't support. + * (internal refactoring) Updated codec interface to use classes. + * Use strict mode in all files. + + +# 0.4.8 / 2015-04-14 + + * added alias UNICODE-1-1-UTF-7 for UTF-7 encoding (#94) + + +# 0.4.7 / 2015-02-05 + + * stop official support of Node.js v0.8. Should still work, but no guarantees. + reason: Packages needed for testing are hard to get on Travis CI. + * work in environment where Object.prototype is monkey patched with enumerable + props (#89). + + +# 0.4.6 / 2015-01-12 + + * fix rare aliases of single-byte encodings (thanks @mscdex) + * double the timeout for dbcs tests to make them less flaky on travis + + +# 0.4.5 / 2014-11-20 + + * fix windows-31j and x-sjis encoding support (@nleush) + * minor fix: undefined variable reference when internal error happens + + +# 0.4.4 / 2014-07-16 + + * added encodings UTF-7 (RFC2152) and UTF-7-IMAP (RFC3501 Section 5.1.3) + * fixed streaming base64 encoding + + +# 0.4.3 / 2014-06-14 + + * added encodings UTF-16BE and UTF-16 with BOM + + +# 0.4.2 / 2014-06-12 + + * don't throw exception if `extendNodeEncodings()` is called more than once + + +# 0.4.1 / 2014-06-11 + + * codepage 808 added + + +# 0.4.0 / 2014-06-10 + + * code is rewritten from scratch + * all widespread encodings are supported + * streaming interface added + * browserify compatibility added + * (optional) extend core primitive encodings to make usage even simpler + * moved from vows to mocha as the testing framework + + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/LICENSE new file mode 100755 index 0000000..d518d83 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2011 Alexander Shtuchkin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/README.md new file mode 100755 index 0000000..767daed --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/README.md @@ -0,0 +1,160 @@ +## Pure JS character encoding conversion [](https://travis-ci.org/ashtuchkin/iconv-lite) + + * Doesn't need native code compilation. Works on Windows and in sandboxed environments like [Cloud9](http://c9.io). + * Used in popular projects like [Express.js (body_parser)](https://github.com/expressjs/body-parser), + [Grunt](http://gruntjs.com/), [Nodemailer](http://www.nodemailer.com/), [Yeoman](http://yeoman.io/) and others. + * Faster than [node-iconv](https://github.com/bnoordhuis/node-iconv) (see below for performance comparison). + * Intuitive encode/decode API + * Streaming support for Node v0.10+ + * [Deprecated] Can extend Node.js primitives (buffers, streams) to support all iconv-lite encodings. + * In-browser usage via [Browserify](https://github.com/substack/node-browserify) (~180k gzip compressed with Buffer shim included). + * Typescript [type definition file](https://github.com/ashtuchkin/iconv-lite/blob/master/lib/index.d.ts) included. + * React Native is supported (need to explicitly `npm install` two more modules: `buffer` and `stream`). + * License: MIT. + +[](https://npmjs.org/packages/iconv-lite/) + +## Usage +### Basic API +```javascript +var iconv = require('iconv-lite'); + +// Convert from an encoded buffer to js string. +str = iconv.decode(new Buffer([0x68, 0x65, 0x6c, 0x6c, 0x6f]), 'win1251'); + +// Convert from js string to an encoded buffer. +buf = iconv.encode("Sample input string", 'win1251'); + +// Check if encoding is supported +iconv.encodingExists("us-ascii") +``` + +### Streaming API (Node v0.10+) +```javascript + +// Decode stream (from binary stream to js strings) +http.createServer(function(req, res) { + var converterStream = iconv.decodeStream('win1251'); + req.pipe(converterStream); + + converterStream.on('data', function(str) { + console.log(str); // Do something with decoded strings, chunk-by-chunk. + }); +}); + +// Convert encoding streaming example +fs.createReadStream('file-in-win1251.txt') + .pipe(iconv.decodeStream('win1251')) + .pipe(iconv.encodeStream('ucs2')) + .pipe(fs.createWriteStream('file-in-ucs2.txt')); + +// Sugar: all encode/decode streams have .collect(cb) method to accumulate data. +http.createServer(function(req, res) { + req.pipe(iconv.decodeStream('win1251')).collect(function(err, body) { + assert(typeof body == 'string'); + console.log(body); // full request body string + }); +}); +``` + +### [Deprecated] Extend Node.js own encodings +> NOTE: This doesn't work on latest Node versions. See [details](https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility). + +```javascript +// After this call all Node basic primitives will understand iconv-lite encodings. +iconv.extendNodeEncodings(); + +// Examples: +buf = new Buffer(str, 'win1251'); +buf.write(str, 'gbk'); +str = buf.toString('latin1'); +assert(Buffer.isEncoding('iso-8859-15')); +Buffer.byteLength(str, 'us-ascii'); + +http.createServer(function(req, res) { + req.setEncoding('big5'); + req.collect(function(err, body) { + console.log(body); + }); +}); + +fs.createReadStream("file.txt", "shift_jis"); + +// External modules are also supported (if they use Node primitives, which they probably do). +request = require('request'); +request({ + url: "http://github.com/", + encoding: "cp932" +}); + +// To remove extensions +iconv.undoExtendNodeEncodings(); +``` + +## Supported encodings + + * All node.js native encodings: utf8, ucs2 / utf16-le, ascii, binary, base64, hex. + * Additional unicode encodings: utf16, utf16-be, utf-7, utf-7-imap. + * All widespread singlebyte encodings: Windows 125x family, ISO-8859 family, + IBM/DOS codepages, Macintosh family, KOI8 family, all others supported by iconv library. + Aliases like 'latin1', 'us-ascii' also supported. + * All widespread multibyte encodings: CP932, CP936, CP949, CP950, GB2312, GBK, GB18030, Big5, Shift_JIS, EUC-JP. + +See [all supported encodings on wiki](https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings). + +Most singlebyte encodings are generated automatically from [node-iconv](https://github.com/bnoordhuis/node-iconv). Thank you Ben Noordhuis and libiconv authors! + +Multibyte encodings are generated from [Unicode.org mappings](http://www.unicode.org/Public/MAPPINGS/) and [WHATWG Encoding Standard mappings](http://encoding.spec.whatwg.org/). Thank you, respective authors! + + +## Encoding/decoding speed + +Comparison with node-iconv module (1000x256kb, on MacBook Pro, Core i5/2.6 GHz, Node v0.12.0). +Note: your results may vary, so please always check on your hardware. + + operation iconv@2.1.4 iconv-lite@0.4.7 + ---------------------------------------------------------- + encode('win1251') ~96 Mb/s ~320 Mb/s + decode('win1251') ~95 Mb/s ~246 Mb/s + +## BOM handling + + * Decoding: BOM is stripped by default, unless overridden by passing `stripBOM: false` in options + (f.ex. `iconv.decode(buf, enc, {stripBOM: false})`). + A callback might also be given as a `stripBOM` parameter - it'll be called if BOM character was actually found. + * If you want to detect UTF-8 BOM when decoding other encodings, use [node-autodetect-decoder-stream](https://github.com/danielgindi/node-autodetect-decoder-stream) module. + * Encoding: No BOM added, unless overridden by `addBOM: true` option. + +## UTF-16 Encodings + +This library supports UTF-16LE, UTF-16BE and UTF-16 encodings. First two are straightforward, but UTF-16 is trying to be +smart about endianness in the following ways: + * Decoding: uses BOM and 'spaces heuristic' to determine input endianness. Default is UTF-16LE, but can be + overridden with `defaultEncoding: 'utf-16be'` option. Strips BOM unless `stripBOM: false`. + * Encoding: uses UTF-16LE and writes BOM by default. Use `addBOM: false` to override. + +## Other notes + +When decoding, be sure to supply a Buffer to decode() method, otherwise [bad things usually happen](https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding). +Untranslatable characters are set to � or ?. No transliteration is currently supported. +Node versions 0.10.31 and 0.11.13 are buggy, don't use them (see #65, #77). + +## Testing + +```bash +$ git clone git@github.com:ashtuchkin/iconv-lite.git +$ cd iconv-lite +$ npm install +$ npm test + +$ # To view performance: +$ node test/performance.js + +$ # To view test coverage: +$ npm run coverage +$ open coverage/lcov-report/index.html +``` + +## Adoption +[](https://nodei.co/npm/iconv-lite/) +[](https://www.codeship.com/projects/29053) diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-codec.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-codec.js new file mode 100755 index 0000000..7b3c980 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-codec.js @@ -0,0 +1,555 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// Multibyte codec. In this scheme, a character is represented by 1 or more bytes. +// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. +// To save memory and loading time, we read table files only when requested. + +exports._dbcs = DBCSCodec; + +var UNASSIGNED = -1, + GB18030_CODE = -2, + SEQ_START = -10, + NODE_START = -1000, + UNASSIGNED_NODE = new Array(0x100), + DEF_CHAR = -1; + +for (var i = 0; i < 0x100; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; + + +// Class DBCSCodec reads and initializes mapping tables. +function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data.") + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); + + // Load tables. + var mappingTable = codecOptions.table(); + + + // Decode tables: MBCS -> Unicode. + + // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256. + // Trie root is decodeTables[0]. + // Values: >= 0 -> unicode character code. can be > 0xFFFF + // == UNASSIGNED -> unknown/unassigned sequence. + // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence. + // <= NODE_START -> index of the next node in our trie to process next byte. + // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq. + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node. + + // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. + this.decodeTableSeq = []; + + // Actual mapping tables consist of chunks. Use them to fill up decode tables. + for (var i = 0; i < mappingTable.length; i++) + this._addDecodeChunk(mappingTable[i]); + + this.defaultCharUnicode = iconv.defaultCharUnicode; + + + // Encode tables: Unicode -> DBCS. + + // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance. + // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null. + // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.). + // == UNASSIGNED -> no conversion found. Output a default char. + // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence. + this.encodeTable = []; + + // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of + // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key + // means end of sequence (needed when one sequence is a strict subsequence of another). + // Objects are kept separately from encodeTable to increase performance. + this.encodeTableSeq = []; + + // Some chars can be decoded, but need not be encoded. + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) { + var val = codecOptions.encodeSkipVals[i]; + if (typeof val === 'number') + skipEncodeChars[val] = true; + else + for (var j = val.from; j <= val.to; j++) + skipEncodeChars[j] = true; + } + + // Use decode trie to recursively fill out encode tables. + this._fillEncodeTable(0, 0, skipEncodeChars); + + // Add more encoding pairs when needed. + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?']; + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); + + + // Load & create GB18030 tables when needed. + if (typeof codecOptions.gb18030 === 'function') { + this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges. + + // Add GB18030 decode tables. + var thirdByteNodeIdx = this.decodeTables.length; + var thirdByteNode = this.decodeTables[thirdByteNodeIdx] = UNASSIGNED_NODE.slice(0); + + var fourthByteNodeIdx = this.decodeTables.length; + var fourthByteNode = this.decodeTables[fourthByteNodeIdx] = UNASSIGNED_NODE.slice(0); + + for (var i = 0x81; i <= 0xFE; i++) { + var secondByteNodeIdx = NODE_START - this.decodeTables[0][i]; + var secondByteNode = this.decodeTables[secondByteNodeIdx]; + for (var j = 0x30; j <= 0x39; j++) + secondByteNode[j] = NODE_START - thirdByteNodeIdx; + } + for (var i = 0x81; i <= 0xFE; i++) + thirdByteNode[i] = NODE_START - fourthByteNodeIdx; + for (var i = 0x30; i <= 0x39; i++) + fourthByteNode[i] = GB18030_CODE + } +} + +DBCSCodec.prototype.encoder = DBCSEncoder; +DBCSCodec.prototype.decoder = DBCSDecoder; + +// Decoder helpers +DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>= 8) + bytes.push(addr & 0xFF); + if (bytes.length == 0) + bytes.push(0); + + var node = this.decodeTables[0]; + for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie. + var val = node[bytes[i]]; + + if (val == UNASSIGNED) { // Create new node. + node[bytes[i]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } + else if (val <= NODE_START) { // Existing node. + node = this.decodeTables[NODE_START - val]; + } + else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + return node; +} + + +DBCSCodec.prototype._addDecodeChunk = function(chunk) { + // First element of chunk is the hex mbcs code where we start. + var curAddr = parseInt(chunk[0], 16); + + // Choose the decoding node where we'll write our chars. + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 0xFF; + + // Write all other elements of the chunk to the table. + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { // String, write as-is. + for (var l = 0; l < part.length;) { + var code = part.charCodeAt(l++); + if (0xD800 <= code && code < 0xDC00) { // Decode surrogate + var codeTrail = part.charCodeAt(l++); + if (0xDC00 <= codeTrail && codeTrail < 0xE000) + writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } + else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used) + var len = 0xFFF - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq. + + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } + else + writeTable[curAddr++] = code; // Basic char + } + } + else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character. + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; + } + else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + if (curAddr > 0xFF) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); +} + +// Encoder helpers +DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; // This could be > 0xFF because of astral characters. + if (this.encodeTable[high] === undefined) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand. + return this.encodeTable[high]; +} + +DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 0xFF; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it. + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; +} + +DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + + // Get the root of character tree according to first character of the sequence. + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 0xFF; + + var node; + if (bucket[low] <= SEQ_START) { + // There's already a sequence with - use it. + node = this.encodeTableSeq[SEQ_START-bucket[low]]; + } + else { + // There was no sequence object - allocate a new one. + node = {}; + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence. + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + + // Traverse the character tree, allocating new nodes as needed. + for (var j = 1; j < seq.length-1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === 'object') + node = oldVal; + else { + node = node[uCode] = {} + if (oldVal !== undefined) + node[DEF_CHAR] = oldVal + } + } + + // Set the leaf to given dbcsCode. + uCode = seq[seq.length-1]; + node[uCode] = dbcsCode; +} + +DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + for (var i = 0; i < 0x100; i++) { + var uCode = node[i]; + var mbCode = prefix + i; + if (skipEncodeChars[mbCode]) + continue; + + if (uCode >= 0) + this._setEncodeChar(uCode, mbCode); + else if (uCode <= NODE_START) + this._fillEncodeTable(NODE_START - uCode, mbCode << 8, skipEncodeChars); + else if (uCode <= SEQ_START) + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + } +} + + + +// == Encoder ================================================================== + +function DBCSEncoder(options, codec) { + // Encoder state + this.leadSurrogate = -1; + this.seqObj = undefined; + + // Static data + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; +} + +DBCSEncoder.prototype.write = function(str) { + var newBuf = new Buffer(str.length * (this.gb18030 ? 4 : 3)), + leadSurrogate = this.leadSurrogate, + seqObj = this.seqObj, nextChar = -1, + i = 0, j = 0; + + while (true) { + // 0. Get next character. + if (nextChar === -1) { + if (i == str.length) break; + var uCode = str.charCodeAt(i++); + } + else { + var uCode = nextChar; + nextChar = -1; + } + + // 1. Handle surrogates. + if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates. + if (uCode < 0xDC00) { // We've got lead surrogate. + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + // Double lead surrogate found. + uCode = UNASSIGNED; + } + } else { // We've got trail surrogate. + if (leadSurrogate !== -1) { + uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00); + leadSurrogate = -1; + } else { + // Incomplete surrogate pair - only trail surrogate found. + uCode = UNASSIGNED; + } + + } + } + else if (leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char. + leadSurrogate = -1; + } + + // 2. Convert uCode character. + var dbcsCode = UNASSIGNED; + if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence + var resCode = seqObj[uCode]; + if (typeof resCode === 'object') { // Sequence continues. + seqObj = resCode; + continue; + + } else if (typeof resCode == 'number') { // Sequence finished. Write it. + dbcsCode = resCode; + + } else if (resCode == undefined) { // Current character is not part of the sequence. + + // Try default character for this sequence + resCode = seqObj[DEF_CHAR]; + if (resCode !== undefined) { + dbcsCode = resCode; // Found. Write it. + nextChar = uCode; // Current character will be written too in the next iteration. + + } else { + // TODO: What if we have no default? (resCode == undefined) + // Then, we should write first char of the sequence as-is and try the rest recursively. + // Didn't do it for now because no encoding has this situation yet. + // Currently, just skip the sequence and write current char. + } + } + seqObj = undefined; + } + else if (uCode >= 0) { // Regular character + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== undefined) + dbcsCode = subtable[uCode & 0xFF]; + + if (dbcsCode <= SEQ_START) { // Sequence start + seqObj = this.encodeTableSeq[SEQ_START-dbcsCode]; + continue; + } + + if (dbcsCode == UNASSIGNED && this.gb18030) { + // Use GB18030 algorithm to find character(s) to write. + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600; + newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260; + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10; + newBuf[j++] = 0x30 + dbcsCode; + continue; + } + } + } + + // 3. Write dbcsCode character. + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode; + } + else if (dbcsCode < 0x10000) { + newBuf[j++] = dbcsCode >> 8; // high byte + newBuf[j++] = dbcsCode & 0xFF; // low byte + } + else { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = (dbcsCode >> 8) & 0xFF; + newBuf[j++] = dbcsCode & 0xFF; + } + } + + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); +} + +DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === undefined) + return; // All clean. Most often case. + + var newBuf = new Buffer(10), j = 0; + + if (this.seqObj) { // We're in the sequence. + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== undefined) { // Write beginning of the sequence. + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode; + } + else { + newBuf[j++] = dbcsCode >> 8; // high byte + newBuf[j++] = dbcsCode & 0xFF; // low byte + } + } else { + // See todo above. + } + this.seqObj = undefined; + } + + if (this.leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + + return newBuf.slice(0, j); +} + +// Export for testing +DBCSEncoder.prototype.findIdx = findIdx; + + +// == Decoder ================================================================== + +function DBCSDecoder(options, codec) { + // Decoder state + this.nodeIdx = 0; + this.prevBuf = new Buffer(0); + + // Static data + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; +} + +DBCSDecoder.prototype.write = function(buf) { + var newBuf = new Buffer(buf.length*2), + nodeIdx = this.nodeIdx, + prevBuf = this.prevBuf, prevBufOffset = this.prevBuf.length, + seqStart = -this.prevBuf.length, // idx of the start of current parsed sequence. + uCode; + + if (prevBufOffset > 0) // Make prev buf overlap a little to make it easier to slice later. + prevBuf = Buffer.concat([prevBuf, buf.slice(0, 10)]); + + for (var i = 0, j = 0; i < buf.length; i++) { + var curByte = (i >= 0) ? buf[i] : prevBuf[i + prevBufOffset]; + + // Lookup in current trie node. + var uCode = this.decodeTables[nodeIdx][curByte]; + + if (uCode >= 0) { + // Normal character, just use it. + } + else if (uCode === UNASSIGNED) { // Unknown char. + // TODO: Callback with seq. + //var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset); + i = seqStart; // Try to parse again, after skipping first byte of the sequence ('i' will be incremented by 'for' cycle). + uCode = this.defaultCharUnicode.charCodeAt(0); + } + else if (uCode === GB18030_CODE) { + var curSeq = (seqStart >= 0) ? buf.slice(seqStart, i+1) : prevBuf.slice(seqStart + prevBufOffset, i+1 + prevBufOffset); + var ptr = (curSeq[0]-0x81)*12600 + (curSeq[1]-0x30)*1260 + (curSeq[2]-0x81)*10 + (curSeq[3]-0x30); + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } + else if (uCode <= NODE_START) { // Go to next trie node. + nodeIdx = NODE_START - uCode; + continue; + } + else if (uCode <= SEQ_START) { // Output a sequence of chars. + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 0xFF; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length-1]; + } + else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + + // Write the character to buffer, handling higher planes using surrogate pair. + if (uCode > 0xFFFF) { + uCode -= 0x10000; + var uCodeLead = 0xD800 + Math.floor(uCode / 0x400); + newBuf[j++] = uCodeLead & 0xFF; + newBuf[j++] = uCodeLead >> 8; + + uCode = 0xDC00 + uCode % 0x400; + } + newBuf[j++] = uCode & 0xFF; + newBuf[j++] = uCode >> 8; + + // Reset trie node. + nodeIdx = 0; seqStart = i+1; + } + + this.nodeIdx = nodeIdx; + this.prevBuf = (seqStart >= 0) ? buf.slice(seqStart) : prevBuf.slice(seqStart + prevBufOffset); + return newBuf.slice(0, j).toString('ucs2'); +} + +DBCSDecoder.prototype.end = function() { + var ret = ''; + + // Try to parse all remaining chars. + while (this.prevBuf.length > 0) { + // Skip 1 character in the buffer. + ret += this.defaultCharUnicode; + var buf = this.prevBuf.slice(1); + + // Parse remaining as usual. + this.prevBuf = new Buffer(0); + this.nodeIdx = 0; + if (buf.length > 0) + ret += this.write(buf); + } + + this.nodeIdx = 0; + return ret; +} + +// Binary search for GB18030. Returns largest i such that table[i] <= val. +function findIdx(table, val) { + if (table[0] > val) + return -1; + + var l = 0, r = table.length; + while (l < r-1) { // always table[l] <= val < table[r] + var mid = l + Math.floor((r-l+1)/2); + if (table[mid] <= val) + l = mid; + else + r = mid; + } + return l; +} + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-data.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-data.js new file mode 100755 index 0000000..4b61914 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/dbcs-data.js @@ -0,0 +1,176 @@ +"use strict"; + +// Description of supported double byte encodings and aliases. +// Tables are not require()-d until they are needed to speed up library load. +// require()-s are direct to support Browserify. + +module.exports = { + + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + Â¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + + 'shiftjis': { + type: '_dbcs', + table: function() { return require('./tables/shiftjis.json') }, + encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, + encodeSkipVals: [{from: 0xED40, to: 0xF940}], + }, + 'csshiftjis': 'shiftjis', + 'mskanji': 'shiftjis', + 'sjis': 'shiftjis', + 'windows31j': 'shiftjis', + 'ms31j': 'shiftjis', + 'xsjis': 'shiftjis', + 'windows932': 'shiftjis', + 'ms932': 'shiftjis', + '932': 'shiftjis', + 'cp932': 'shiftjis', + + 'eucjp': { + type: '_dbcs', + table: function() { return require('./tables/eucjp.json') }, + encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, + }, + + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + + + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + 'gb2312': 'cp936', + 'gb231280': 'cp936', + 'gb23121980': 'cp936', + 'csgb2312': 'cp936', + 'csiso58gb231280': 'cp936', + 'euccn': 'cp936', + + // Microsoft's CP936 is a subset and approximation of GBK. + 'windows936': 'cp936', + 'ms936': 'cp936', + '936': 'cp936', + 'cp936': { + type: '_dbcs', + table: function() { return require('./tables/cp936.json') }, + }, + + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + 'gbk': { + type: '_dbcs', + table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) }, + }, + 'xgbk': 'gbk', + 'isoir58': 'gbk', + + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + 'gb18030': { + type: '_dbcs', + table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) }, + gb18030: function() { return require('./tables/gb18030-ranges.json') }, + encodeSkipVals: [0x80], + encodeAdd: {'€': 0xA2E3}, + }, + + 'chinese': 'gb18030', + + + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + 'windows949': 'cp949', + 'ms949': 'cp949', + '949': 'cp949', + 'cp949': { + type: '_dbcs', + table: function() { return require('./tables/cp949.json') }, + }, + + 'cseuckr': 'cp949', + 'csksc56011987': 'cp949', + 'euckr': 'cp949', + 'isoir149': 'cp949', + 'korean': 'cp949', + 'ksc56011987': 'cp949', + 'ksc56011989': 'cp949', + 'ksc5601': 'cp949', + + + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + + 'windows950': 'cp950', + 'ms950': 'cp950', + '950': 'cp950', + 'cp950': { + type: '_dbcs', + table: function() { return require('./tables/cp950.json') }, + }, + + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + 'big5': 'big5hkscs', + 'big5hkscs': { + type: '_dbcs', + table: function() { return require('./tables/cp950.json').concat(require('./tables/big5-added.json')) }, + encodeSkipVals: [0xa2cc], + }, + + 'cnbig5': 'big5hkscs', + 'csbig5': 'big5hkscs', + 'xxbig5': 'big5hkscs', +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/index.js new file mode 100755 index 0000000..e304003 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/index.js @@ -0,0 +1,22 @@ +"use strict"; + +// Update this array if you add/rename/remove files in this directory. +// We support Browserify by skipping automatic module discovery and requiring modules directly. +var modules = [ + require("./internal"), + require("./utf16"), + require("./utf7"), + require("./sbcs-codec"), + require("./sbcs-data"), + require("./sbcs-data-generated"), + require("./dbcs-codec"), + require("./dbcs-data"), +]; + +// Put all encoding/alias/codec definitions to single object and export it. +for (var i = 0; i < modules.length; i++) { + var module = modules[i]; + for (var enc in module) + if (Object.prototype.hasOwnProperty.call(module, enc)) + exports[enc] = module[enc]; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/internal.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/internal.js new file mode 100755 index 0000000..b0adf6a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/internal.js @@ -0,0 +1,188 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// Export Node.js internal encodings. + +module.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true}, + cesu8: { type: "_internal", bomAware: true}, + unicode11utf8: "utf8", + + ucs2: { type: "_internal", bomAware: true}, + utf16le: "ucs2", + + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + + // Codec. + _internal: InternalCodec, +}; + +//------------------------------------------------------------------------------ + +function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; // Use utf8 for decoding. + this.encoder = InternalEncoderCesu8; + + // Add decoder for versions of Node not supporting CESU-8 + if (new Buffer('eda0bdedb2a9', 'hex').toString() !== '💩') { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } +} + +InternalCodec.prototype.encoder = InternalEncoder; +InternalCodec.prototype.decoder = InternalDecoder; + +//------------------------------------------------------------------------------ + +// We use node.js internal decoder. Its signature is the same as ours. +var StringDecoder = require('string_decoder').StringDecoder; + +if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method. + StringDecoder.prototype.end = function() {}; + + +function InternalDecoder(options, codec) { + StringDecoder.call(this, codec.enc); +} + +InternalDecoder.prototype = StringDecoder.prototype; + + +//------------------------------------------------------------------------------ +// Encoder is mostly trivial + +function InternalEncoder(options, codec) { + this.enc = codec.enc; +} + +InternalEncoder.prototype.write = function(str) { + return new Buffer(str, this.enc); +} + +InternalEncoder.prototype.end = function() { +} + + +//------------------------------------------------------------------------------ +// Except base64 encoder, which must keep its state. + +function InternalEncoderBase64(options, codec) { + this.prevStr = ''; +} + +InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - (str.length % 4); + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + + return new Buffer(str, "base64"); +} + +InternalEncoderBase64.prototype.end = function() { + return new Buffer(this.prevStr, "base64"); +} + + +//------------------------------------------------------------------------------ +// CESU-8 encoder is also special. + +function InternalEncoderCesu8(options, codec) { +} + +InternalEncoderCesu8.prototype.write = function(str) { + var buf = new Buffer(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + // Naive implementation, but it works because CESU-8 is especially easy + // to convert from UTF-16 (which all JS strings are encoded in). + if (charCode < 0x80) + buf[bufIdx++] = charCode; + else if (charCode < 0x800) { + buf[bufIdx++] = 0xC0 + (charCode >>> 6); + buf[bufIdx++] = 0x80 + (charCode & 0x3f); + } + else { // charCode will always be < 0x10000 in javascript. + buf[bufIdx++] = 0xE0 + (charCode >>> 12); + buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f); + buf[bufIdx++] = 0x80 + (charCode & 0x3f); + } + } + return buf.slice(0, bufIdx); +} + +InternalEncoderCesu8.prototype.end = function() { +} + +//------------------------------------------------------------------------------ +// CESU-8 decoder is not implemented in Node v4.0+ + +function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; +} + +InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, + res = ''; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 0xC0) !== 0x80) { // Leading byte + if (contBytes > 0) { // Previous code is invalid + res += this.defaultCharUnicode; + contBytes = 0; + } + + if (curByte < 0x80) { // Single-byte code + res += String.fromCharCode(curByte); + } else if (curByte < 0xE0) { // Two-byte code + acc = curByte & 0x1F; + contBytes = 1; accBytes = 1; + } else if (curByte < 0xF0) { // Three-byte code + acc = curByte & 0x0F; + contBytes = 2; accBytes = 1; + } else { // Four or more are not supported for CESU-8. + res += this.defaultCharUnicode; + } + } else { // Continuation byte + if (contBytes > 0) { // We're waiting for it. + acc = (acc << 6) | (curByte & 0x3f); + contBytes--; accBytes++; + if (contBytes === 0) { + // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80) + if (accBytes === 2 && acc < 0x80 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 0x800) + res += this.defaultCharUnicode; + else + // Actually add character. + res += String.fromCharCode(acc); + } + } else { // Unexpected continuation byte + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes; + return res; +} + +InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-codec.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-codec.js new file mode 100755 index 0000000..7789e00 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-codec.js @@ -0,0 +1,73 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that +// correspond to encoded bytes (if 128 - then lower half is ASCII). + +exports._sbcs = SBCSCodec; +function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data.") + + // Prepare char buffer for decoding. + if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256)) + throw new Error("Encoding '"+codecOptions.type+"' has incorrect 'chars' (must be of len 128 or 256)"); + + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + + this.decodeBuf = new Buffer(codecOptions.chars, 'ucs2'); + + // Encoding buffer. + var encodeBuf = new Buffer(65536); + encodeBuf.fill(iconv.defaultCharSingleByte.charCodeAt(0)); + + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + + this.encodeBuf = encodeBuf; +} + +SBCSCodec.prototype.encoder = SBCSEncoder; +SBCSCodec.prototype.decoder = SBCSDecoder; + + +function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; +} + +SBCSEncoder.prototype.write = function(str) { + var buf = new Buffer(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + + return buf; +} + +SBCSEncoder.prototype.end = function() { +} + + +function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; +} + +SBCSDecoder.prototype.write = function(buf) { + // Strings are immutable in JS -> we use ucs2 buffer to speed up computations. + var decodeBuf = this.decodeBuf; + var newBuf = new Buffer(buf.length*2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i]*2; idx2 = i*2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2+1] = decodeBuf[idx1+1]; + } + return newBuf.toString('ucs2'); +} + +SBCSDecoder.prototype.end = function() { +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data-generated.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data-generated.js new file mode 100755 index 0000000..9b48236 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data-generated.js @@ -0,0 +1,451 @@ +"use strict"; + +// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. +module.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "€����…�����������‘’“â€â€¢â€“—�������� à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºï¿½ï¿½ï¿½ï¿½à¸¿à¹€à¹à¹‚ใไๅๆ็่้๊๋์à¹à¹Žà¹à¹à¹‘๒๓๔๕๖๗๘๙๚๛����" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“â€â€¢â€“—�™š›śťžź ˇ˘Å¤Ą¦§¨©Ş«¬Â®Ż°±˛ł´µ¶·¸ąş»ĽËľżŔÃÂĂÄĹĆÇČÉĘËĚÃÃŽÄŽÄŃŇÓÔÅÖ×ŘŮÚŰÜÃŢßŕáâăäĺćçÄéęëěÃîÄđńňóôőö÷řůúűüýţ˙" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋÐђ‘’“â€â€¢â€“—�™љ›њќћџ ЎўЈ¤Ò¦§Ð©Є«¬Â®Ї°±Ііґµ¶·ё№є»јЅѕїÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“â€â€¢â€“—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÚÛÜÃÞßà áâãäåæçèéêëìÃîïðñòóôõö÷øùúûüýþÿ" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡�‰�‹�����‘’“â€â€¢â€“—�™�›���� ΅Ά£¤¥¦§¨©�«¬Â®―°±²³΄µ¶·ΈΉΊ»Ό½ΎÎÎΑΒΓΔΕΖΗΘΙΚΛΜÎΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάÎήίΰαβγδεζηθικλμνξοπÏςστυφχψωϊϋόÏώ�" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“â€â€¢â€“—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃĞÑÒÓÔÕÖרÙÚÛÜİŞßà áâãäåæçèéêëìÃîïğñòóôõö÷øùúûüışÿ" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰�‹�����‘’“â€â€¢â€“—˜™�›���� ¡¢£₪¥¦§¨©×«¬Â®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀×ׂ׃װױײ׳״�������×בגדהוזחטיךכל××ž×Ÿ× ×¡×¢×£×¤×¥×¦×§×¨×©×ªï¿½ï¿½â€Žâ€ï¿½" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“â€â€¢â€“—ک™ڑ›œ‌â€ÚºÂ ،¢£¤¥¦§¨©ھ«¬ÂÂ®Â¯Â°Â±Â²Â³Â´ÂµÂ¶Â·Â¸Â¹Ø›Â»Â¼Â½Â¾ØŸÛØ¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ã—طظعغـÙقكà لâمنهوçèéêëىيîïًٌÙَôÙÙ÷ّùْûü‎â€Û’" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“â€â€¢â€“—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬Â®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲÅŚŪÜŻŽßąįÄćäåęēÄéźėģķīļšńņóÅõö÷ųłśūüżž˙" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“â€â€¢â€“—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂĂÄÅÆÇÈÉÊË̀ÃÃŽÃÄÃ‘Ì‰Ã“Ã”Æ Ã–Ã—Ã˜Ã™ÃšÃ›ÃœÆ¯ÌƒÃŸÃ Ã¡Ã¢ÄƒÃ¤Ã¥Ã¦Ã§Ã¨Ã©ÃªÃ«ÌÃîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÚÛÜÃÞßà áâãäåæçèéêëìÃîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ Ą˘Å¤ĽŚ§¨ŠŞŤŹÂŽŻ°ą˛ł´ľśˇ¸šşťźËžżŔÃÂĂÄĹĆÇČÉĘËĚÃÃŽÄŽÄŃŇÓÔÅÖ×ŘŮÚŰÜÃŢßŕáâăäĺćçÄéęëěÃîÄđńňóôőö÷řůúűüýţ˙" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ Ħ˘£¤�Ĥ§¨İŞĞĴÂ�ݰħ²³´µĥ·¸ışğĵ½�żÀÃÂ�ÄĊĈÇÈÉÊËÌÃÃŽÃï¿½Ã‘Ã’Ã“Ã”Ä Ã–Ã—ÄœÃ™ÃšÃ›ÃœÅ¬ÅœÃŸÃ Ã¡Ã¢ï¿½Ã¤Ä‹Ä‰Ã§Ã¨Ã©ÃªÃ«Ã¬Ãîï�ñòóôġö÷ÄùúûüÅÅË™" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦÂޝ°ą˛ŗ´ĩšēģŧŊžŋĀÃÂÃÄÅÆĮČÉĘËĖÃÎĪÄŅŌĶÔÕÖרŲÚÛÜŨŪßÄáâãäåæįÄéęëėÃîīđņÅķôõö÷øųúûüũū˙" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ÐЂЃЄЅІЇЈЉЊЋЌÂÐŽÐÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ№ёђѓєѕіїјљњћќ§ўџ" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ���¤�������،Âï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ø›ï¿½ï¿½ï¿½ØŸï¿½Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·Ø¸Ø¹Øºï¿½ï¿½ï¿½ï¿½ï¿½Ù€ÙقكلمنهوىيًٌÙÙŽÙÙّْ�������������" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ‘’£€₯¦§¨©ͺ«¬Â�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎÎÎΑΒΓΔΕΖΗΘΙΚΛΜÎΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάÎήίΰαβγδεζηθικλμνξοπÏςστυφχψωϊϋόÏώ�" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ �¢£¤¥¦§¨©×«¬Â®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗×בגדהוזחטיךכל××ž×Ÿ× ×¡×¢×£×¤×¥×¦×§×¨×©×ªï¿½ï¿½â€Žâ€ï¿½" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃĞÑÒÓÔÕÖרÙÚÛÜİŞßà áâãäåæçèéêëìÃîïğñòóôõö÷øùúûüışÿ" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ĄĒĢĪĨͧĻÄŠŦŽÂŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÃÂÃÄÅÆĮČÉĘËĖÃÃŽÃÃŅŌÓÔÕÖŨØŲÚÛÜÃÞßÄáâãäåæįÄéęëėÃîïðņÅóôõöũøųúûüýþĸ" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºï¿½ï¿½ï¿½ï¿½à¸¿à¹€à¹à¹‚ใไๅๆ็่้๊๋์à¹à¹Žà¹à¹à¹‘๒๓๔๕๖๗๘๙๚๛����" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ â€Â¢Â£Â¤â€žÂ¦Â§Ã˜Â©Å–«¬Â®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲÅŚŪÜŻŽßąįÄćäåęēÄéźėģķīļšńņóÅõö÷ųłśūüżž’" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲÂÂ®Å¸á¸žá¸ŸÄ Ä¡á¹€á¹Â¶á¹–áºá¹—ẃṠỳẄẅṡÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃŴÑÒÓÔÕÖṪØÙÚÛÜÃŶßà áâãäåæçèéêëìÃîïŵñòóôõöṫøùúûüýŷÿ" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£€¥Š§š©ª«¬Â®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÚÛÜÃÞßà áâãäåæçèéêëìÃîïðñòóôõö÷øùúûüýþÿ" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ĄąÅ€„Чš©Ș«ŹÂźŻ°±ČłŽâ€Â¶Â·Å¾Äș»ŒœŸżÀÃÂĂÄĆÆÇÈÉÊËÌÃÃŽÃÄŃÒÓÔÅÖŚŰÙÚÛÜĘȚßà áâăäćæçèéêëìÃîïđńòóôőöśűùúûüęțÿ" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáÃóúñѪº¿âŒÂ¬Â½Â¼Â¡Â«Â»â–‘▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "ΑΒΓΔΕΖΗΘΙΚΛΜÎΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπÏσςτυφχψ░▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀ωάÎήϊίόÏϋώΆΈΉΊΌΎÎ±≥≤ΪΫ÷≈°∙·√â¿Â²â–  " + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "ĆüéÄäģåćłēŖŗīŹÄÅÉæÆÅöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżźâ€Â¦Â©Â®Â¬Â½Â¼Å«»░▒▓│┤ĄČĘĖ╣║╗â•ĮŠâ”└┴┬├─┼ŲŪ╚╔╩╦╠â•╬ŽąÄęėįšųūž┘┌█▄▌â–▀ÓßŌŃõÕµńĶķĻļņĒŅ’Â±“¾¶§÷„°∙·¹³²■ " + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáÃóúñѪº¿®¬½¼¡«»░▒▓│┤ÃÂÀ©╣║╗â•¢¥â”└┴┬├─┼ãÃ╚╔╩╦╠â•╬¤ðÃÊËÈıÃÃŽÃ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýï´Â±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "ÇüéâäůćçłëÅőîŹÄĆÉĹĺôöĽľŚśÖÜŤťÅ×ÄáÃóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÃÂĚŞ╣║╗╯żâ”└┴┬├─┼Ăă╚╔╩╦╠â•╬¤đÄĎËÄŇÃÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÃţ´Â˲ˇ˘§÷¸°¨˙űŘř■ " + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "ђЂѓЃёÐєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџÐюЮъЪаÐбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗â•йЙâ”└┴┬├─┼кК╚╔╩╦╠â•╬¤лЛмМнÐоОп┘┌█▄ПÑ▀ЯрРÑСтТуУжЖвВьЬ№ÂыЫзЗшШÑÐщЩчЧ§■ " + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "×בגדהוזחטיךכל××ž×Ÿ× ×¡×¢×£×¤×¥×¦×§×¨×©×ªï¿½Â£ï¿½Ã—ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Â®Â¬Â½Â¼ï¿½Â«Â»â–‘â–’â–“â”‚â”¤ï¿½ï¿½ï¿½Â©â•£â•‘â•—â•¢¥â”└┴┬├─┼��╚╔╩╦╠â•╬¤���������┘┌█▄¦�▀������µ�������¯´Â±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáÃóúñÑĞ𿮬½¼¡«»░▒▓│┤ÃÂÀ©╣║╗â•¢¥â”└┴┬├─┼ãÃ╚╔╩╦╠â•╬¤ºªÊËÈ�ÃÃŽÃ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´Â±�¾¶§÷¸°¨·¹³²■ " + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáÃóúñѪº¿®¬½¼¡«»░▒▓│┤ÃÂÀ©╣║╗â•¢¥â”└┴┬├─┼ãÃ╚╔╩╦╠â•╬¤ðÃÊËÈ€ÃÃŽÃ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýï´Â±‗¾¶§÷¸°¨·¹³²■ " + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "Çüéâãà ÃçêÊèÃÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáÃóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèÃðÞÄÅÉæÆôöþûÃýÖÜø£Ø₧ƒáÃóúÃÃÓÚ¿âŒÂ¬Â½Â¼Â¡Â«Â»â–‘▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "×בגדהוזחטיךכל××ž×Ÿ× ×¡×¢×£×¤×¥×¦×§×¨×©×ªÂ¢Â£Â¥â‚§Æ’Ã¡ÃóúñѪº¿âŒÂ¬Â½Â¼Â¡Â«Â»â–‘▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "ÇüéâÂà ¶çêëèïî‗À§ÉÈÊôËÃûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯ÎâŒÂ¬Â½Â¼Â¾Â«Â»â–‘▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$Ùª&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴â”┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� Âﺂ£¤ﺄ��ﺎïºïº•ﺙ،ïºïº¡ïº¥Ù ١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀïºïºƒïº…ﻊﺋïºïº‘ﺓﺗﺛﺟﺣﺧﺩﺫïºïº¯ïº³ïº·ïº»ïº¿ï»ï»…ﻋï»Â¦Â¬Ã·Ã—ﻉـﻓﻗﻛﻟﻣﻧﻫï»ï»¯ï»³ïº½ï»Œï»Žï»ï»¡ï¹½Ù‘ﻥﻩﻬﻰﻲï»ï»•ﻵﻶï»ï»™ï»±â– �" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "Çüéâäà åçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáÃóúñѪº¿âŒÂ¬Â½Â¼Â¡Â«Â¤â–‘▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√â¿Â²â–  " + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "ÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀рÑтуфхцчшщъыьÑÑŽÑÐёЄєЇїЎў°∙·√№¤■ " + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Î²³ά£ÎήίϊÎÏŒÏΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜÎ╣║╗â•ΞΟâ”└┴┬├─┼ΠΡ╚╔╩╦╠â•╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπÏσςτ΄Â±υφχ§ψ΅°¨ωϋΰώ■ " + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÎÊÑÒÓÔÕÖרÙÚÛÜÃŽßà áâãäåæçèéêëìÃîïšñòóôõö÷øùúûüýžÿ" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "ﺈ×÷ﹱˆ■│─â”┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎï»ï»ï»¶ï»¸ï»ºï»¼Â ¤ﺋﺑﺗﺛﺟﺣ،Âïº§ïº³Ù Ù¡Ù¢Ù£Ù¤Ù¥Ù¦Ù§Ù¨Ù©ïº·Ø›ïº»ïº¿ï»ŠØŸï»‹Ø¡Ø¢Ø£Ø¤Ø¥Ø¦Ø§Ø¨Ø©ØªØ«Ø¬ØØ®Ø¯Ø°Ø±Ø²Ø³Ø´ØµØ¶Ø·ï»‡Ø¹Øºï»Œïº‚ﺄﺎﻓـÙقكلمنهوىيًٌÙÙŽÙÙّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ÐЂÒЄЅІЇЈЉЊЋЌÂÐŽÐÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ№ёђґєѕіїјљњћќ§ўџ" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "ÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀рÑтуфхцчшщъыьÑÑŽÑÐÑ‘ÒґЄєІіЇї·√№¤■ " + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£¤¥¦§œ©ª«¬Â®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÃÂĂÄÅÆÇÈÉÊË̀ÃÃŽÃÄÃ‘Ì‰Ã“Ã”Æ Ã–Ã—Ã˜Ã™ÃšÃ›ÃœÆ¯ÌƒÃŸÃ Ã¡Ã¢ÄƒÃ¤Ã¥Ã¦Ã§Ã¨Ã©ÃªÃ«ÌÃîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ àºàº‚ຄງຈສຊàºàº”ຕຖທນບປຜàºàºžàºŸàº¡àº¢àº£àº¥àº§àº«àºàº®ï¿½ï¿½ï¿½àº¯àº°àº²àº³àº´àºµàº¶àº·àº¸àº¹àº¼àº±àº»àº½ï¿½ï¿½ï¿½à»€à»à»‚ໃໄ່້໊໋໌à»à»†ï¿½à»œà»â‚����������������à»à»‘໒໓໔໕໖໗໘໙��¢¬¦�" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "��������������������������������่à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºà¹‰à¹Šà¹‹â‚¬à¸¿à¹€à¹à¹‚ใไๅๆ็่้๊๋์à¹à¹Žà¹à¹à¹‘๒๓๔๕๖๗๘๙๚๛¢¬¦ " + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“â€â€¢â€“—˜™š›œÂžŸ à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºï¿½ï¿½ï¿½ï¿½à¸¿à¹€à¹à¹‚ใไๅๆ็่้๊๋์à¹à¹Žà¹à¹à¹‘๒๓๔๕๖๗๘๙๚๛����" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ¡¢£€¥¦§œ©ª«¬Â®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÃÂĂÄÅÆÇÈÉÊË̀ÃÃŽÃÄÃ‘Ì‰Ã“Ã”Æ Ã–Ã—Ã˜Ã™ÃšÃ›ÃœÆ¯ÌƒÃŸÃ Ã¡Ã¢ÄƒÃ¤Ã¥Ã¦Ã§Ã¨Ã©ÃªÃ«ÌÃîïđṇ̃óôơö÷øùúûüư₫ÿ" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑âˆÅ¡âˆ«ÂªÂºâ„¦Å¾Ã¸Â¿Â¡Â¬âˆšÆ’≈ƫȅ ÀÃÕŒœÄ—“â€â€˜â€™Ã·â—Šï¿½Â©â„¤‹›Æ»–·‚„‰ÂćÃÄÈÃÃŽÃÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "ÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“â€â€˜â€™Ã·â€žÐŽÑžÐÑŸâ„–ÐÑ‘ÑабвгдежзийклмнопрÑтуфхцчшщъыьÑю¤" + }, + "macgreek": { + "type": "_sbcs", + "chars": "Ĺ²É³ÖÜ΅à âä΄¨çéèê룙î‰ôö¦Âùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάάΟΡ≈Τ«»… ΥΧΆΈœ–―“â€â€˜â€™Ã·Î‰ÎŠÎŒÎŽÎήίόÎÏαβψδεφγηιξκλμνοπώÏστθωςχυζϊϋÎΰ�" + }, + "maciceland": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü𢣧•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑âˆÏ€âˆ«ÂªÂºâ„¦Ã¦Ã¸Â¿Â¡Â¬âˆšÆ’≈∆«»… ÀÃÕŒœ–—“â€â€˜â€™Ã·â—ŠÃ¿Å¸â„¤ÃðÞþý·‚„‰ÂÊÃËÈÃÃŽÃÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸Ë˛ˇ" + }, + "macroman": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑âˆÏ€âˆ«ÂªÂºâ„¦Ã¦Ã¸Â¿Â¡Â¬âˆšÆ’≈∆«»… ÀÃÕŒœ–—“â€â€˜â€™Ã·â—ŠÃ¿Å¸â„¤‹›ï¬ï¬‚‡·‚„‰ÂÊÃËÈÃÃŽÃÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸Ë˛ˇ" + }, + "macromania": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑âˆÏ€âˆ«ÂªÂºâ„¦ÄƒÅŸÂ¿Â¡Â¬âˆšÆ’≈∆«»… ÀÃÕŒœ–—“â€â€˜â€™Ã·â—ŠÃ¿Å¸â„¤‹›Ţţ‡·‚„‰ÂÊÃËÈÃÃŽÃÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸Ë˛ˇ" + }, + "macthai": { + "type": "_sbcs", + "chars": "«»…ï¢ï¢’“â€ï¢™ï¿½â€¢ï¢„ï¢ï¢ï¢“‘’� à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºï»¿â€‹â€“—฿เà¹à¹‚ใไๅๆ็่้๊๋์à¹â„¢à¹à¹à¹‘๒๓๔๕๖๗๘๙®©����" + }, + "macturkish": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑âˆÏ€âˆ«ÂªÂºâ„¦Ã¦Ã¸Â¿Â¡Â¬âˆšÆ’≈∆«»… ÀÃÕŒœ–—“â€â€˜â€™Ã·â—ŠÃ¿Å¸ÄžÄŸÄ°Ä±ÅžÅŸâ€¡Â·â€šâ€žâ€°Ã‚ÊÃËÈÃÃŽÃÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸Ë˛ˇ" + }, + "macukraine": { + "type": "_sbcs", + "chars": "ÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯ†°Ò£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“â€â€˜â€™Ã·â€žÐŽÑžÐÑŸâ„–ÐÑ‘ÑабвгдежзийклмнопрÑтуфхцчшщъыьÑю¤" + }, + "koi8r": { + "type": "_sbcs", + "chars": "─│┌â”└┘├┤┬┴┼▀▄█▌â–░▒▓⌠■∙√≈≤≥ ⌡°²·÷â•║╒ё╓╔╕╖╗╘╙╚╛╜â•╞╟╠╡Ð╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопÑÑ€ÑтужвьызшÑщчъЮÐБЦДЕФГХИЙКЛМÐОПЯРСТУЖВЬЫЗШÐЩЧЪ" + }, + "koi8u": { + "type": "_sbcs", + "chars": "─│┌â”└┘├┤┬┴┼▀▄█▌â–░▒▓⌠■∙√≈≤≥ ⌡°²·÷â•║╒ёє╔ії╗╘╙╚╛ґâ•╞╟╠╡ÐЄ╣ІЇ╦╧╨╩╪Ò╬©юабцдефгхийклмнопÑÑ€ÑтужвьызшÑщчъЮÐБЦДЕФГХИЙКЛМÐОПЯРСТУЖВЬЫЗШÐЩЧЪ" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "─│┌â”└┘├┤┬┴┼▀▄█▌â–░▒▓⌠■∙√≈≤≥ ⌡°²·÷â•║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ÐЄ╣ІЇ╦╧╨╩╪ÒЎ©юабцдефгхийклмнопÑÑ€ÑтужвьызшÑщчъЮÐБЦДЕФГХИЙКЛМÐОПЯРСТУЖВЬЫЗШÐЩЧЪ" + }, + "koi8t": { + "type": "_sbcs", + "chars": "қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“â€â€¢â€“—�™�›�����ӯӮё¤ӣ¦§���«¬Â®�°±²Ð�Ӣ¶·�№�»���©юабцдефгхийклмнопÑÑ€ÑтужвьызшÑщчъЮÐБЦДЕФГХИЙКЛМÐОПЯРСТУЖВЬЫЗШÐЩЧЪ" + }, + "armscii8": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ �և։)(»«—.Õ,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽÕÔ¾Õ®Ô¿Õ¯Õ€Õ°ÕձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռÕÕ½ÕŽÕ¾ÕÕ¿ÕÖ€Õ‘ÖՒւՓփՔքՕօՖֆ՚�" + }, + "rk1048": { + "type": "_sbcs", + "chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺÐђ‘’“â€â€¢â€“—�™љ›њқһџ ҰұӘ¤Ө¦§Ð©Ғ«¬Â®Ү°±Ііөµ¶·ё№ғ»әҢңүÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\u0000ÚỤ\u0003ỪỬỮ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010ỨỰỲỶỸÃá»´\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÃẠẶẬÈẺẼÉẸỆÌỈĨÃá»ŠÃ’á»ŽÃ•Ã“á»Œá»˜á»œá»žá» á»šá»¢Ã™á»¦Å¨Â Ä‚Ã‚ÃŠÃ”Æ Æ¯ÄăâêôơưđẰ̀̉̃Ị̀à ảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấáºÃ¨á»‚ẻẽéẹá»á»ƒá»…ếệìỉỄẾỒĩÃịòỔá»ÃµÃ³á»á»“ổỗốộá»á»Ÿá»¡á»›á»£Ã¹á»–ủũúụừá»á»¯á»©á»±á»³á»·á»¹Ã½á»µá»" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“â€â€¢â€“—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿áƒáƒ‘გდევზთიკლმნáƒáƒžáƒŸáƒ სტუფქღყშჩცძწáƒáƒ®áƒ¯áƒ°áƒ±áƒ²áƒ³áƒ´áƒµáƒ¶Ã§Ã¨Ã©ÃªÃ«Ã¬Ãîïðñòóôõö÷øùúûüýþÿ" + }, + "georgianps": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“â€â€¢â€“—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½¾¿áƒáƒ‘გდევზჱთიკლმნჲáƒáƒžáƒŸáƒ სტჳუფქღყშჩცძწáƒáƒ®áƒ´áƒ¯áƒ°áƒµÃ¦Ã§Ã¨Ã©ÃªÃ«Ã¬Ãîïðñòóôõö÷øùúûüýþÿ" + }, + "pt154": { + "type": "_sbcs", + "chars": "Ò–Ò’Ó®Ò“â€žâ€¦Ò¶Ò®Ò²Ò¯Ò Ó¢Ò¢ÒšÒºÒ¸Ò—â€˜â€™â€œâ€â€¢â€“—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ð©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫÒÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмнопрÑтуфхцчшщъыьÑÑŽÑ" + }, + "viscii": { + "type": "_sbcs", + "chars": "\u0000\u0001Ẳ\u0003\u0004ẴẪ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013á»¶\u0015\u0016\u0017\u0018Ỹ\u001a\u001b\u001c\u001dá»´\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆá»á»’ỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩáºáº½áº¹áº¿á»á»ƒá»…á»‡á»‘á»“á»•á»—á» Æ á»™á»á»Ÿá»‹á»°á»¨á»ªá»¬Æ¡á»›Æ¯Ã€ÃÂÃẢĂẳẵÈÉÊẺÌÃĨỳÄứÒÓÔạỷừá»Ã™Ãšá»¹á»µÃỡưà áâãảăữẫèéêẻìÃĩỉđựòóôõá»á»á»¥Ã¹ÃºÅ©á»§Ã½á»£á»®" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#Â¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[Â¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" + }, + "hproman8": { + "type": "_sbcs", + "chars": "€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•–—˜™š›œÂžŸ ÀÂÈÊËÎôˋˆ¨˜ÙÛ₤¯Ãý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúà èòùäëöüÅîØÆåÃøæÄìÖÜÉïßÔÃÃãÃðÃÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�" + }, + "macintosh": { + "type": "_sbcs", + "chars": "ÄÅÇÉÑÖÜáà âäãåçéèêëÃìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑âˆÏ€âˆ«ÂªÂºâ„¦Ã¦Ã¸Â¿Â¡Â¬âˆšÆ’≈∆«»… ÀÃÕŒœ–—“â€â€˜â€™Ã·â—ŠÃ¿Å¸â„¤‹›ï¬ï¬‚‡·‚„‰ÂÊÃËÈÃÃŽÃÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸Ë˛ˇ" + }, + "ascii": { + "type": "_sbcs", + "chars": "��������������������������������������������������������������������������������������������������������������������������������" + }, + "tis620": { + "type": "_sbcs", + "chars": "���������������������������������à¸à¸‚ฃคฅฆงจฉชซฌà¸à¸Žà¸à¸à¸‘ฒณดตถทธนบปผà¸à¸žà¸Ÿà¸ มยรฤลฦวศษสหฬà¸à¸®à¸¯à¸°à¸±à¸²à¸³à¸´à¸µà¸¶à¸·à¸¸à¸¹à¸ºï¿½ï¿½ï¿½ï¿½à¸¿à¹€à¹à¹‚ใไๅๆ็่้๊๋์à¹à¹Žà¹à¹à¹‘๒๓๔๕๖๗๘๙๚๛����" + } +} \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data.js new file mode 100755 index 0000000..2d6f846 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/sbcs-data.js @@ -0,0 +1,169 @@ +"use strict"; + +// Manually added data to be used by sbcs codec in addition to generated one. + +module.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "ÄĀÄÉĄÖÜáąČäÄĆć鏟ĎÃÄĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňÅÕőŌ–—“â€â€˜â€™Ã·â—ŠÅŔŕŘ‹›řŖŗŠ‚„šŚśÃŤťÃŽžŪÓÔūŮÚůŰűŲųÃýķŻÅżĢˇ" + }, + + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "ÐБВГДЕЖЗИЙКЛМÐОПРСТУФХЦЧШЩЪЫЬÐЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗â•╜╛â”└┴┬├─┼╞╟╚╔╩╦╠â•╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌â–▀рÑтуфхцчшщъыьÑÑŽÑÐёЄєЇїЎў°∙·√№€■ " + }, + + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek" : "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + + "cp819": "iso88591", + "ibm819": "iso88591", + + "cyrillic": "iso88595", + + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + + "greek" : "iso88597", + "greek8" : "iso88597", + "ecma118" : "iso88597", + "elot928" : "iso88597", + + "hebrew": "iso88598", + "hebrew8": "iso88598", + + "turkish": "iso88599", + "turkish8": "iso88599", + + "thai": "iso885911", + "thai8": "iso885911", + + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", + + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", + + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + + "strk10482002": "rk1048", + + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", + + "gb198880": "iso646cn", + "cn": "iso646cn", + + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", + + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", + + "mac": "macintosh", + "csmacintosh": "macintosh", +}; + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/big5-added.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/big5-added.json new file mode 100755 index 0000000..3c3d3c2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/big5-added.json @@ -0,0 +1,122 @@ +[ +["8740","ä°ä°²ä˜ƒä–¦ä•¸ð§‰§äµ·ä–³ð§²±ä³¢ð§³…㮕䜶ä„䱇䱀𤊿𣘗ð§’𦺋𧃒䱗ðª‘ä䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡æ™å›»"], +["8767","ç¶•å¤ð¨®¹ã·´éœ´ð§¯¯å¯›ð¡µžåª¤ã˜¥ð©º°å«‘å®·å³¼æ®è–“ð©¥…ç‘¡ç’㡵𡵓𣚞𦀡㻬"], +["87a1","𥣞㫵竼龗𤅡ð¨¤ð£‡ªð ªŠð£‰žäŒŠè’„é¾–é¯ä¤°è˜“墖éŠéˆ˜ç§ç¨²æ™ 権è¢ç‘Œç¯…枂稬å‰é†ã“¦ç„ð¥¶¹ç“†é¿‡åž³ä¤¯å‘Œä„±ð£šŽå ˜ç©²ð§¥è®äš®ð¦ºˆä†ð¥¶™ç®®ð¢’¼é¿ˆð¢“𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿æ‹ç®é¿‹"], +["8840","㇀",4,"𠄌㇅𠃑ð ƒã‡†ã‡‡ð ƒ‹ð¡¿¨ã‡ˆð ƒŠã‡‰ã‡Šã‡‹ã‡Œð „Žã‡ã‡ŽÄ€ÃÇÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊÄáǎà ɑēéěèīÃÇìÅóǒòūúǔùǖǘǚ"], +["88a1","ǜü࿿ê̄ế࿿ê̌á»ÃªÉ¡âšâ›"], +["8940","𪎩𡅅"], +["8943","攊"], +["8946","丽æ»éµŽé‡Ÿ"], +["894c","𧜵撑会伨侨兖兴农凤务动医åŽå‘å˜å›¢å£°å¤„备夲头å¦å®žå®Ÿå²šåº†æ€»æ–‰æŸ¾æ „桥济炼电纤纬纺织ç»ç»Ÿç¼†ç¼·è‰ºè‹è¯è§†è®¾è¯¢è½¦è½§è½®"], +["89a1","ç‘ç³¼ç·æ¥†ç«‰åˆ§"], +["89ab","醌碸酞肼"], +["89b0","贋胶𠧧"], +["89b5","肟黇ä³é·‰é¸Œä°¾ð©·¶ð§€Žé¸Šðª„³ã—"], +["89c1","溚舾甙"], +["89c5","䤑马éªé¾™ç¦‡ð¨‘¬ð¡·Šð —𢫦两äºäº€äº‡äº¿ä»«ä¼·ã‘Œä¾½ã¹ˆå€ƒå‚ˆã‘½ã’“㒥円夅凛凼刅争剹åŠåŒ§ã—‡åŽ©ã•‘åŽ°ã•“å‚å£ã•㕲ãšå’“咣咴咹å“哯唘唣唨㖘唿㖥㖿嗗㗅"], +["8a40","𧶄唥"], +["8a43","𠱂𠴕𥄫å–𢳆㧬ð 蹆𤶸𩓥ä“𨂾çºð¢°¸ã¨´äŸ•ð¨…𦧲𤷪æ“𠵼𠾴𠳕𡃴æ’蹾𠺖𠰋𠽤𢲩𨉖𤓓"], +["8a64","𠵆ð©©ð¨ƒ©äŸ´ð¤º§ð¢³‚骲㩧𩗴ã¿ã”†ð¥‹‡ð©Ÿ”ð§£ˆð¢µ„éµ®é •"], +["8a76","ä™ð¦‚¥æ’´å“£ð¢µŒð¢¯Šð¡·ã§»ð¡¯"], +["8aa1","𦛚𦜖𧦠擪ð¥’𠱃蹨𢆡ð¨Œð œ±"], +["8aac","ä ‹ð †©ã¿ºå¡³ð¢¶"], +["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"], +["8abb","䪴𢩦ð¡‚膪飵𠶜æ¹ã§¾ð¢µè·€å𡿑¼ã¹ƒ"], +["8ac9","ðª˜ð ¸‰ð¢«ð¢³‰"], +["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"], +["8adf","𧕴𢺋𢈈𪙛ð¨³ð ¹ºð °´ð¦ œç¾“ð¡ƒð¢ ƒð¢¤¹ã—»ð¥‡£ð ºŒð ¾ð ºªã¾“𠼰𠵇ð¡…𠹌"], +["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖æ²ð ¾"], +["8b40","ð£´ð§˜¹ð¢¯Žð µ¾ð µ¿ð¢±‘𢱕㨘𠺘𡃇𠼮𪘲ð¦ð¨³’𨶙𨳊閪哌苄喹"], +["8b55","𩻃鰦骶ð§žð¢·®ç…€è…胬尜𦕲脴㞗åŸð¨‚½é†¶ð »ºð ¸ð ¹·ð »»ã—𤷫㘉𠳖嚯𢞵𡃉ð ¸ð ¹¸ð¡¸ð¡…ˆð¨ˆ‡ð¡‘•ð ¹¹ð¤¹ð¢¶¤å©”ð¡€ð¡€žð¡ƒµð¡ƒ¶åžœð ¸‘"], +["8ba1","ð§š”ð¨‹ð ¾µð ¹»ð¥…¾ãœƒð ¾¶ð¡†€ð¥‹˜ðªŠ½ð¤§šð¡ ºð¤…·ð¨‰¼å¢™å‰¨ã˜šð¥œ½ç®²å¨ä €ä¬¬é¼§ä§§é°Ÿé®ð¥´ð£„½å—»ã—²åš‰ä¸¨å¤‚ð¡¯ð¯¡¸é‘ð ‚†ä¹›äº»ã”¾å°£å½‘å¿„ã£ºæ‰Œæ”µæºæ°µæ°ºç¬çˆ«ä¸¬çŠð¤£©ç½’礻糹罓𦉪ã“"], +["8bde","ð¦‹è€‚肀𦘒𦥑å衤è§ð§¢²è® è´é’…镸长门ð¨¸éŸ¦é¡µé£Žé£žé¥£ð© 鱼鸟黄æ¯ï¤‡ä¸·ð ‚‡é˜æˆ·é’¢"], +["8c40","倻淾𩱳龦㷉è¢ð¤…Žç·å³µä¬ ð¥‡ã•™ð¥´°æ„¢ð¨¨²è¾§é‡¶ç†‘朙玺ð£Šðª„‡ã²‹ð¡¦€ä¬ç£¤ç‚冮ð¨œä€‰æ©£ðªŠºäˆ£è˜ð ©¯ç¨ªð©¥‡ð¨«ªé•ç匤ð¢¾é´ç›™ð¨§£é¾§çŸäº£ä¿°å‚¼ä¸¯ä¼—龨å´ç¶‹å¢’å£ð¡¶¶åº’庙忂𢜒斋"], +["8ca1","ð£¹æ¤™æ©ƒð£±£æ³¿"], +["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩è¢é¾ªèº¹é¾«è¿è•Ÿé§ 鈡龬𨶹ð¡¿ä±äŠ¢å¨š"], +["8cc9","顨æ«ä‰¶åœ½"], +["8cce","藖𤥻芿ð§„ä²ð¦µ´åµ»ð¦¬•𦾾é¾é¾®å®–龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"], +["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤ð¦±è«Œä¾´ð ˆ¹å¦¿è…¬é¡–𩣺弻"], +["8d40","𠮟"], +["8d42","ð¢‡ð¨¥ä„‚äš»ð©¹ã¼‡é¾³ðª†µäƒ¸ãŸ–䛷𦱆䅼𨚲ð§¿ä•㣔𥒚䕡䔛䶉䱻䵶䗪㿈ð¤¬ã™¡ä“žä’½ä‡å´¾åµˆåµ–ã·¼ã 嶤嶹ã ã ¸å¹‚åº½å¼¥å¾ƒã¤ˆã¤”ã¤¿ã¥æƒ—愽峥㦉憷憹æ‡ã¦¸æˆ¬æŠæ‹¥æŒ˜ã§¸åš±"], +["8da1","ã¨ƒæ¢æ»æ‡æ‘šã©‹æ“€å´•å˜¡é¾Ÿãª—æ–†ãª½æ—¿æ™“ã«²æš’ã¬¢æœ–ã‚æž¤æ €ã˜æ¡Šæ¢„ã²ã±ã»æ¤‰æ¥ƒç‰œæ¥¤æ¦Ÿæ¦…ã®¼æ§–ã¯æ©¥æ©´æ©±æª‚ã¯¬æª™ã¯²æª«æªµæ«”æ«¶æ®æ¯æ¯ªæ±µæ²ªã³‹æ´‚洆洦æ¶ã³¯æ¶¤æ¶±æ¸•æ¸˜æ¸©æº†ð¨§€æº»æ»¢æ»šé½¿æ»¨æ»©æ¼¤æ¼´ãµ†ð£½æ¾æ¾¾ãµªãµµç†·å²™ã¶Šç€¬ã¶‘çç”ç¯ç¿ç‚‰ð Œ¥ä㗱𠻘"], +["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩å´ç©‰ð¥£¡ð©“™ç©¥ç©½ð¥¦¬çª»çª°ç«‚竃燑ð¦’䇊竚ç«ç«ªä‡¯å’²ð¥°ç¬‹ç•笩𥌎𥳾箢ç¯èŽœð¥®´ð¦±¿ç¯è¡ç®’箸𥴠ã¶ð¥±¥è’’篺簆簵ð¥³ç±„粃𤢂粦晽𤕸糉糇糦籴糳糵糎"], +["8ea1","ç¹§ä”𦹄çµð¦»–ç’綉綫焵綳緒ð¤—𦀩緤㴓緵𡟹緥ð¨ç¸ð¦„¡ð¦…šç¹®çº’䌫鑬縧罀ç½ç½‡ç¤¶ð¦‹é§¡ç¾—ð¦‘羣𡙡ð ¨ä•œð£¦ä”ƒð¨Œºç¿ºð¦’‰è€…耈è€è€¨è€¯ðª‚‡ð¦³ƒè€»è€¼è¡ð¢œ”䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩ð ¬ð¦©’𣵾俹𡓽蓢è¢ð¦¬Šð¤¦§ð£”°ð¡³ð£·¸èŠªæ¤›ð¯¦”ä‡›"], +["8f40","è•‹è‹èŒšð ¸–𡞴ã›ð£…½ð£•šè‰»è‹¢èŒ˜ð£º‹ð¦¶£ð¦¬…𦮗𣗎㶿èŒå—¬èŽ…ä”‹ð¦¶¥èŽ¬èè“㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞èèŽ‘ä’ è’“è“¤ð¥²‘ä‰€ð¥³€ä•ƒè”´å«²ð¦º™ä”§è•³ä”–æž¿è˜–"], +["8fa1","𨘥𨘻è—𧂈蘂𡖂ð§ƒð¯¦²ä•ªè˜¨ã™ˆð¡¢¢å·ð§Žšè™¾è±ðªƒ¸èŸ®ð¢°§èž±èŸšè 噡虬桖ä˜è¡…衆𧗠𣶹𧗤衞袜䙛袴袵æè£…ç·ð§œè¦‡è¦Šè¦¦è¦©è¦§è¦¼ð¨¨¥è§§ð§¤¤ð§ª½èªœçž“釾èªð§©™ç«©ð§¬ºð£¾äœ“𧬸煼謌謟ð¥°ð¥•¥è¬¿èŒè誩𤩺è®è®›èª¯ð¡›Ÿä˜•è¡è²›ð§µ”ð§¶ð¯§”㜥𧵓賖𧶘𧶽贒贃ð¡¤è³›çœè´‘𤳉ã»èµ·"], +["9040","趩𨀂𡀔𤦊ã¼ð¨†¼ð§„Œç«§èºèº¶è»ƒé‹”è¼™è¼ð¨¥ð¨’辥錃𪊟ð ©è¾³ä¤ªð¨§žð¨”½ð£¶»å»¸ð£‰¢è¿¹ðª€”𨚼ð¨”𢌥㦀𦻗逷𨔼𧪾é¡ð¨•¬ð¨˜‹é‚¨ð¨œ“郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟é‰é‰¢ð¥–¹éŠ¹ð¨«†ð£²›ð¨¬Œð¥—›"], +["90a1","𠴱錬é«ð¨«¡ð¨¯«ç‚嫃𨫢𨫥䥥鉄𨯬𨰹𨯿é³é‘›èº¼é–…é–¦é¦é– 濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽åŒä¦¡ð¦²¸ð ‰´ð¦ð©‚¯ð©ƒ¥ð¤«‘𡤕𣌊霱虂霶ä¨ä”½ä–…𤫩çµå霛éœð©‡•é—åŠð©‡«éŸé¥åƒð£‚·ð£‚¼éž‰éžŸéž±éž¾éŸ€éŸ’éŸ ð¥‘¬éŸ®çœð©³éŸ¿éŸµð©ð§¥ºä«‘é ´é ³é¡‹é¡¦ã¬Žð§…µãµ‘ð ˜°ð¤…œ"], +["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬é¸é¤¹ð¤¨©ä²ð©¡—𩤅駵騌騻é¨é©˜ð¥œ¥ã›„ð©‚±ð©¯•é« é«¢ð©¬…é«´ä°Žé¬”é¬ð¨˜€å€´é¬´ð¦¦¨ã£ƒð£½éé€ð©´¾å©…𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"], +["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴éºéº•麞麢䴴麪麯ð¤¤é»ã ã§¥ã´ä¼²ãž¾ð¨°«é¼‚鼈䮖é¤ð¦¶¢é¼—鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸ð¤ˆð¤©‘玞𨯚𡣺禟𨥾𨸶é©é³ð¨©„鋬éŽé‹ð¨¥¬ð¤’¹çˆ—㻫ç²ç©ƒçƒð¤‘³ð¤¸ç…¾ð¡Ÿ¯ç‚£ð¡¢¾ð£–™ã»‡ð¡¢…ð¥¯ð¡Ÿ¸ãœ¢ð¡›»ð¡ ¹ã›¡ð¡´ð¡£‘𥽋㜣𡛀å›ð¤¨¥ð¡¾ð¡Š¨"], +["9240","ð¡†ð¡’¶è”ƒð£š¦è”ƒè‘•𤦔𧅥𣸱𥕜𣻻ð§’䓴𣛮ð©¦ð¦¼¦æŸ¹ãœ³ã°•㷧塬𡤢æ ä—𣜿𤃡𤂋ð¤„𦰡哋嚞𦚱嚒𠿟𠮨ð ¸é†ð¨¬“鎜仸儫㠙ð¤¶äº¼ð ‘¥ð ¿ä½‹ä¾Šð¥™‘婨𠆫ð ‹ã¦™ð ŒŠð ”ãµä¼©ð ‹€ð¨º³ð ‰µè«šð ˆŒäº˜"], +["92a1","åƒå„侢伃𤨎𣺊佂倮å¬å‚俌俥å˜åƒ¼å…™å…›å…å…žæ¹¶ð£–•ð£¸¹ð£º¿æµ²ð¡¢„ð£º‰å†¨å‡ƒð — ä“𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡é®ä™ºç†Œð¤ŽŒð ° 𤦬𡃤槑ð ¸ç‘¹ã»žç’™ç”瑖玘䮎𤪼ð¤‚åã–„çˆð¤ƒ‰å–´ð …å“𠯆åœé‰é›´é¦åŸåžå¿ã˜¾å£‹åª™ð¨©†ð¡›ºð¡¯ð¡œå¨¬å¦¸éŠå©¾å«å¨’𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"], +["9340","åªð¨¯—ð “é 璌𡌃焅䥲éˆð¨§»éŽ½ãž å°žå²žå¹žå¹ˆð¡¦–ð¡¥¼ð£«®å»å𡤃𡤄ãœð¡¢ ã›ð¡›¾ã›“脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻å„è˜”ð§—½è¡ æ¾ð¢¡ 𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾ð †ð¢˜›æ†™æ†˜æµð¢²›ð¢´‡ð¤›”ð©…"], +["93a1","摱𤙥ð¢ªã¨©ð¢¬¢ð£‘𩣪𢹸挷𪑛撶挱æ‘ð¤§£ð¢µ§æŠ¤ð¢²¡æ»æ•«æ¥²ã¯´ð£‚Žð£Šð¤¦‰ð£Š«å”ð£‹ ð¡£™ð©¿æ›Žð£Š‰ð£†³ã« ä†ð¥–„𨬢ð¥–𡛼𥕛ð¥¥ç£®ð£„ƒð¡ ªð£ˆ´ã‘¤ð£ˆð£†‚𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢ð£¾ç“ã®–æžð¤˜ªæ¢¶æ žã¯„檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺æ—ð£¿€ð£²šéŽ é‹²ð¨¯ªð¨«‹"], +["9440","éŠ‰ð¨€žð¨§œé‘§æ¶¥æ¼‹ð¤§¬æµ§ð£½¿ã¶æ¸„𤀼娽渊塇洤硂焻𤌚𤉶烱ç‰çŠ‡çŠ”ð¤žð¤œ¥å…¹ð¤ª¤ð —«ç‘ºð£»¸ð£™Ÿð¤©Šð¤¤—𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌ç¼éއç·ä’Ÿð¦·ªä•‘疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"], +["94a1","ã·ð¤©Žã»¿ð¤§…𤣳釺圲é‚𨫣𡡤僟𥈡𥇧ç¸ð£ˆ²çœŽçœç»ð¤š—ð£žã©žð¤£°ç¸ç’›ãº¿ð¤ªºð¤«‡äƒˆð¤ª–𦆮錇ð¥–ç žç¢ç¢ˆç£’ç祙ð§ð¥›£ä„Žç¦›è’–禥æ¨ð£»ºç¨ºç§´ä…®ð¡›¦ä„²éˆµç§±ð µŒð¤¦Œð Š™ð£¶ºð¡®ã–—啫㕰㚪𠇔ð °ç«¢å©™ð¢›µð¥ª¯ð¥ªœå¨ð ‰›ç£°å¨ªð¥¯†ç«¾ä‡¹ç±ç±äˆ‘𥮳𥺼𥺦ç³ð¤§¹ð¡ž°ç²Žç±¼ç²®æª²ç·œç¸‡ç·“罎𦉡"], +["9540","𦅜ð§ˆç¶—𥺂䉪ð¦µð ¤–柖ð Žð£—埄ð¦’ð¦¸ð¤¥¢ç¿ç¬§ð ¬ð¥«©ð¥µƒç¬Œð¥¸Žé§¦è™…驣樜ð£¿ã§¢ð¤§·ð¦–騟𦖠蒀𧄧𦳑䓪脷ä‚胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧è˜ð§ˆ›åª†ä…¿ð¡¡€å¬«ð¡¢¡å«¤ð¡£˜èš 蜨ð£¶è ð§¢å¨‚"], +["95a1","衮佅袇袿裦襥è¥ð¥šƒè¥”𧞅𧞄𨯵𨯙𨮜𨧹ãºè’£ä›µä›ãŸ²è¨½è¨œð©‘ˆå½éˆ«ð¤Š„旔焩烄𡡅éµè²Ÿè³©ð§·œå¦šçŸƒå§°ä®ã›”踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻é„𨩋ä¢ð¨«¼é§ð¨°ð¨°»è“¥è¨«é–™é–§é–—閖𨴴瑅㻂𤣿𤩂ð¤ªã»§ð£ˆ¥éšð¨»§ð¨¹¦ð¨¹¥ã»Œð¤§ð¤©¸ð£¿®ç’瑫㻼éð©‚°"], +["9640","桇ä¨ð©‚“𥟟éé¨ð¨¦‰ð¨°¦ð¨¬¯ð¦Ž¾éŠºå¬‘è©ä¤¼ç¹ð¤ˆ›éž›é±é¤¸ð ¼¦å·ð¨¯…ð¤ª²é Ÿð©“šé‹¶ð©——é‡¥ä“€ð¨ð¤©§ð¨¤é£œð¨©…㼀鈪䤥è”餻é¥ð§¬†ã·½é¦›ä¯é¦ªé©œð¨¥ð¥£ˆæªé¨¡å«¾é¨¯ð©£±ä®ð©¥ˆé¦¼ä®½ä®—é½å¡²ð¡Œ‚å ¢ð¤¦¸"], +["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧æ…ð¢žð¢¥«æ„‡é±é±“鱻鰵é°é¿é¯ð©¸é®Ÿðª‡µðªƒ¾é´¡ä²®ð¤„„鸘䲰鴌𪆴ðªƒðªƒ³ð©¤¯é¶¥è’½ð¦¸’𦿟𦮂藼䔳𦶤𦺄𦷰è 藮𦸀𣟗ð¦¤ç§¢ð£–œð£™€ä¤ð¤§žãµ¢é›éоéˆð Š¿ç¢¹é‰·é‘俤㑀é¤ð¥•ç ½ç¡”ç¢¶ç¡‹ð¡—𣇉ð¤¥ãššä½²æ¿šæ¿™ç€žç€žå”𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"], +["9740","愌嫎娋䊼𤒈㜬ä»ð¨§¼éŽ»éŽ¸ð¡£–ð ¼è‘²ð¦³€ð¡“𤋺𢰦ð¤å¦”𣶷ð¦ç¶¨ð¦…›ð¦‚¤ð¤¦¹ð¤¦‹ð¨§ºé‹¥ç¢ã»©ç’´ð¨£ð¡¢Ÿã»¡ð¤ª³æ«˜ç³ç»ã»–𤨾𤪔𡟙𤩦𠎧ð¡¤ð¤§¥ç‘ˆð¤¤–炥𤥶銄ç¦éŸð “¾éŒ±ð¨«Žð¨¨–鎆𨯧𥗕䤵𨪂煫"], +["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂ð¤©ð¡¡’ä”®é㜊𨫀ð¤¦å¦°ð¡¢¿ð¡¢ƒð§’„媡㛢𣵛㚰鉟婹ð¨ªð¡¡¢é´ã³ð ª´äª–㦊僴㵩㵌𡎜煵䋻𨈘æ¸ð©ƒ¤ä“«æµ—ð§¹ç§æ²¯ã³–ð£¿ð£¸æ¸‚漌㵯ð µç•‘㚼㓈䚀㻚䡱姄鉮䤾è½ð¨°œð¦¯€å ’埈㛖𡑒烾ð¤¢ð¤©±ð¢¿£ð¡Š°ð¢Ž½æ¢¹æ¥§ð¡Ž˜ð£“¥ð§¯´ð£›Ÿð¨ªƒð£Ÿ–ð£ºð¤²Ÿæ¨šð£šð¦²·è¾ä“Ÿä“Ž"], +["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺è𦲀ð§“𡟛妉媂𡞳婡婱𡤅𤇼ãœå§¯ð¡œ¼ã›‡ç†ŽéŽæššð¤Š¥å©®å¨«ð¤Š“樫𣻹𧜶𤑛𤋊ç„𤉙𨧡侰𦴨峂𤓎ð§¹ð¤Ž½æ¨Œð¤‰–𡌄炦焳ð¤©ã¶¥æ³Ÿð¯ ¥ð¤©ç¹¥å§«å´¯ã·³å½œð¤©ð¡ŸŸç¶¤è¦"], +["98a1","咅𣫺𣌀𠈔å¾ð £•𠘙㿥𡾞𪊶瀃𩅛嵰çŽç³“𨩙ð© 俈翧ç‹çŒð§«´çŒ¸çŒ¹ð¥›¶ççˆãº©ð§¬˜é¬ç‡µð¤£²ç¡è‡¶ã»ŠçœŒã»‘沢国ç™çžçŸã»¢ã»°ã»´ã»ºç““㼎㽓畂ç•畲ç–㽼痈痜㿀ç™ã¿—癴㿜発𤽜熈嘣覀塩ä€çƒä€¹æ¡ä…㗛瞘äªä¯å±žçž¾çŸ‹å£²ç ˜ç‚¹ç œä‚¨ç ¹ç¡‡ç¡‘ç¡¦è‘ˆð¥”µç¤³æ ƒç¤²ä„ƒ"], +["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄ç«ç«›ä‡ä¸¡ç¢ç¬ç»ç°’ç°›ä‰ ä‰ºç±»ç²œäŠŒç²¸äŠ”ç³è¾“烀ð ³ç·ç·”ç·ç·½ç¾®ç¾´çŠŸäŽ—è€ è€¥ç¬¹è€®è€±è”ã·Œåž´ç‚ è‚·èƒ©äè„ŒçŒªè„Žè„’ç• è„”ä㬹腖腙腚"], +["99a1","ä“å ºè…¼è†„ä¥è†“ä膥埯è‡è‡¤è‰”ä’芦艶苊苘苿䒰è—险榊è…烵葤惣蒈䔄蒾蓡蓸è”è”¸è•’ä”»è•¯è•°è— ä•·è™²èš’èš²è›¯é™…èž‹ä˜†ä˜—è¢®è£¿è¤¤è¥‡è¦‘ð§¥§è¨©è¨¸èª”èª´è±‘è³”è³²è´œäž˜å¡Ÿè·ƒäŸä»®è¸ºå—˜å”è¹±å—µèº°ä ·è»Žè»¢è»¤è»è»²è¾·è¿è¿Šè¿Œé€³é§„ä¢é£ 鈓䤞鈨鉘鉫銱銮銿"], +["9a40","鋣鋫鋳鋴鋽éƒéŽ„éŽä¥…䥑麿é—åŒééé¾ä¥ªé‘”鑹é”é–¢ä¦§é—´é˜³ä§¥æž ä¨¤é€ä¨µéž²éŸ‚噔䫤惨颹䬙飱塄餎餙冴餜餷饂é¥é¥¢ä°é§…ä®é¨¼é¬çªƒé©é®é¯é¯±é¯´ä±é° ã¯ð¡¯‚鵉鰺"], +["9aa1","黾å™é¶“é¶½é·€é·¼é“¶è¾¶é¹»éº¬éº±éº½é»†é“œé»¢é»±é»¸ç«ˆé½„ð ‚”ð Š·ð Ž æ¤šé“ƒå¦¬ð “—å¡€é“㞹𠗕𠘕𠙶𡚺å—煳𠫂ð «ð ®¿å‘ªð¯ »ð ¯‹å’žð ¯»ð °»ð ±“𠱥𠱼惧ð ²å™ºð ²µð ³ð ³ð µ¯ð ¶²ð ·ˆæ¥•鰯螥𠸄𠸎𠻗ð ¾ð ¼ð ¹³å° 𠾼帋ð¡œð¡ð¡¶æœžð¡»ð¡‚ˆð¡‚–㙇𡂿𡃓𡄯𡄻å¤è’ð¡‹£ð¡µð¡Œ¶è®ð¡•·ð¡˜™ð¡Ÿƒð¡Ÿ‡ä¹¸ç‚»ð¡ 𡥪"], +["9b40","ð¡¨ð¡©…ð¡°ªð¡±°ð¡²¬ð¡»ˆæ‹ƒð¡»•ð¡¼•ç†˜æ¡•ð¢…æ§©ã›ˆð¢‰¼ð¢—ð¢ºð¢œªð¢¡±ð¢¥è‹½ð¢¥§ð¢¦“ð¢«•è¦¥ð¢«¨è¾ ð¢¬Žéž¸ð¢¬¿é¡‡éª½ð¢±Œ"], +["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳ð£¦ð£ŒŸð£žå¾±æ™ˆæš¿ð§©¹ð£•§ð£—³çˆð¤¦ºçŸ—𣘚𣜖纇ð †å¢µæœŽ"], +["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚ä£äª¸ð¤„™ð¨ªšð¤‹®ð¤Œð¤€»ð¤Œ´ð¤Ž–𤩅𠗊凒𠘑妟𡺨㮾𣳿ð¤„𤓖垈𤙴㦛𤜯𨗨𩧉ã¢ð¢‡ƒèžð¨Žé§–𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆ð ¹è»šð¥€¬åŠåœ¿ç…±ð¥Š™ð¥™ð£½Šð¤ª§å–¼ð¥‘†ð¥‘®ð¦’釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿ð¥¡å¦ã“»ð£Œæƒžð¥¤ƒä¼ð¨¥ˆð¥ª®ð¥®‰ð¥°†ð¡¶åž¡ç…‘澶𦄂𧰒é–𦆲𤾚è¢ð¦‚𦑊"], +["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧ð¯£ä¾»åš¹ð¤”¡ð¦›¼ä¹ªð¤¤´é™–æ¶ð¦²½ã˜˜è¥·ð¦ž™ð¦¡®ð¦‘𦡞營𦣇ç‚𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦ð¦¨ã™Ÿð¦‘©ð €¡ç¦ƒð¦¨´ð¦›å´¬ð£”™èð¦®ä›ð¦²¤ç”»è¡¥ð¦¶®å¢¶"], +["9ca1","㜜ð¢–ð§‹ð§‡ã±”𧊀𧊅éŠð¢…ºð§Š‹éŒ°ð§‹¦ð¤§æ°¹é’Ÿð§‘ð »¸è §è£µð¢¤¦ð¨‘³ð¡ž±æº¸ð¤¨ªð¡ 㦤㚹å°ç§£ä”¿æš¶ð©²ð©¢¤è¥ƒð§ŸŒð§¡˜å›–䃟𡘊㦡𣜯𨃨ð¡…ç†è¦ð§§ð©†¨å©§ä²·ð§‚¯ð¨¦«ð§§½ð§¨Šð§¬‹ð§µ¦ð¤…ºçƒç¥¾ð¨€‰æ¾µðª‹Ÿæ¨ƒð¨Œ˜åŽ¢ð¦¸‡éŽ¿æ ¶é𨅯𨀣𦦵ð¡ð£ˆ¯ð¨ˆå¶…ð¨°°ð¨‚ƒåœ•é £ð¨¥‰å¶«ð¤¦ˆæ–¾æ§•å’𤪥ð£¾ã°‘朶ð¨‚𨃴𨄮𡾡ð¨…"], +["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺æ¦ð¨¥–ç ˆé‰•ð¨¦¸ä²ð¨§§äŸð¨§¨ð¨†ð¨¯”姸𨰉輋𨿅𩃬ç‘ð©„𩄼㷷𩅞𤫊è¿çŠåš‹ð©“§ð©—©ð©–°ð©–¸ð©œ²ð©£‘𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达å—"], +["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬ð§¢ãœºèº€ð¡Ÿµð¨€¤ð¨¬ð¨®™ð§¨¾ð¦š¯ã·«ð§™•𣲷𥘵𥥖亚ð¥ºð¦‰˜åš¿ð ¹è¸Žåð£ºˆð¤²žæžæ‹ð¡Ÿ¶ð¡¡»æ”°å˜ð¥±Šåšð¥Œ‘㷆𩶘䱽嘢嘞罉𥻘奵𣵀è°ä¸œð ¿ªð µ‰ð£šºè„—鵞贘瘻鱅癎瞹é…å²è…ˆè‹·å˜¥è„²è˜è‚½å—ªç¥¢å™ƒå–ð ºã—Žå˜…嗱曱𨋢ã˜ç”´å—°å–ºå’—啲ð ±ð ²–å»ð¥…ˆð ¹¶ð¢±¢"], +["9e40","ð º¢éº«çµšå—žð¡µæŠéå’”è³ç‡¶é…¶æ¼æŽ¹æ¾å•©ð¢ƒé±²ð¢º³å†šã“Ÿð ¶§å†§å‘唞唓癦è¸ð¦¢Šç–±è‚¶è „螆裇膶èœð¡ƒä“¬çŒ„𤜆å®èŒ‹ð¦¢“噻𢛴𧴯𤆣𧵳ð¦»ð§Š¶é…°ð¡‡™éˆˆð£³¼ðªš©ð º¬ð »¹ç‰¦ð¡²¢äŽð¤¿‚𧿹𠿫䃺"], +["9ea1","鱿”Ÿð¢¶ 䣳𤟠𩵼𠿬𠸊æ¢ð§–£ð ¿"], +["9ead","ð¦ˆð¡†‡ç†£çºŽéµä¸šä¸„ã•·å¬æ²²å§ãš¬ã§œå½ãš¥ð¤˜˜å¢šð¤®èˆå‘‹åžªð¥ª•ð ¥¹"], +["9ec5","㩒𢑥ç´ð©º¬ä´‰é¯ð£³¾ð©¼°ä±›ð¤¾©ð©–žð©¿žè‘œð£¶¶ð§Š²ð¦ž³ð£œ 挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔ðª´éº…䳡痹㟻愙𣃚ð¤²"], +["9ef5","å™ð¡Š©åž§ð¤¥£ð©¸†åˆ´ð§‚®ã–汊鵼"], +["9f40","籖鬹埞ð¡¬å±“æ““ð©“𦌵𧅤èšð ´¨ð¦´¢ð¤«¢ð µ±"], +["9f4f","凾ð¡¼å¶Žéœƒð¡·‘éºéŒç¬Ÿé¬‚峑箣扨挵髿ç¯é¬ªç±¾é¬®ç±‚ç²†é°•ç¯¼é¬‰é¼—é°›ð¤¤¾é½šå•³å¯ƒä¿½éº˜ä¿²å‰ ã¸†å‹‘å§å–妷帒韈鶫轜呩鞴饀鞺匬愰"], +["9fa1","椬åšé°Šé´‚䰻陿¦€å‚¦ç•†ð¡é§šå‰³"], +["9fae","é…™éšé…œ"], +["9fb2","酑𨺗æ¿ð¦´£æ«Šå˜‘醎畺抅ð ¼ç籰𥰡𣳽"], +["9fc1","𤤙盖é®ä¸ªð ³”莾衂"], +["9fc9","届槀åƒåºåˆŸå·µä»Žæ°±ð ‡²ä¼¹å’œå“šåŠšè¶‚ã—¾å¼Œã—³"], +["9fdb","æ’é…¼é¾¥é®—é ®é¢´éªºéº¨éº„ç…ºç¬”"], +["9fe7","æ¯ºè ˜ç½¸"], +["9feb","å˜ ðª™Šè¹·é½“"], +["9ff0","è·”è¹é¸œè¸æŠ‚ð¨½è¸¨è¹µç«“𤩷稾磘泪詧瘇"], +["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢ç±è¬çŒ‚ç“±è³«ð¤ª»è˜¯å¾ºè¢ ä’·"], +["a055","𡠻𦸅"], +["a058","詾𢔛"], +["a05b","惽癧髗鵄é®é®èŸµ"], +["a063","è 賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"], +["a073","åŸæ…¯æŠ¦æˆ¹æ‹Žã©œæ‡¢åŽªð£µæ¤æ ‚ã—’"], +["a0a1","嵗𨯂迚𨸹"], +["a0a6","僙𡵆礆匲阸𠼻ä¥"], +["a0ae","矾"], +["a0b0","糂𥼚糚ç¨è¦è£çµç”…瓲覔舚朌è¢ð§’†è›ç“°è„ƒçœ¤è¦‰ð¦ŸŒç•“𦻑螩蟎臈螌詉è²èƒçœ«ç“¸è“šã˜µæ¦²è¶¦"], +["a0d4","覩瑨涹èŸð¤€‘瓧㷛煶悤憜㳑煢æ·"], +["a0e2","ç½±ð¨¬ç‰æƒ©ä¾åˆ 㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜ð§‚å³ð¦†ð¨¨ð£™·ð ƒ®ð¦¡†ð¤¼Žä•¢å¬Ÿð¦Œé½éº¦ð¦‰«"], +["a3c0","â€",31,"â¡"], +["c6a1","â‘ ",9,"â‘´",9,"â…°",9,"ä¸¶ä¸¿äº…äº å†‚å†–å†«å‹¹åŒ¸å©åŽ¶å¤Šå®€å·›â¼³å¹¿å»´å½å½¡æ”´æ— 疒癶辵隶¨ˆヽヾã‚ゞ〃ä»ã€…〆〇ー[]✽ã",23], +["c740","ã™",58,"ァアィイ"], +["c7a1","ã‚¥",81,"Ð",5,"ÐЖ",4], +["c840","Л",26,"ёж",25,"⇧↸↹ã‡ð ƒŒä¹šð ‚Šåˆ‚ä’‘"], +["c8a1","龰冈龱𧘇"], +["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌âºâº•⺜âºâº¥âº§âºªâº¬âº®âº¶âº¼âº¾â»†â»Šâ»Œâ»â»â»–⻗⻞⻣"], +["c8f5","ʃÉɛɔɵœøŋʊɪ"], +["f9fe","ï¿"], +["fa40","𠕇鋛𠗟𣿅蕌䊵ç¯å†µã™‰ð¤¥‚𨧤é„ð¡§›è‹®ð£³ˆç ¼æ„æ‹Ÿð¤¤³ð¨¦ªð Š ð¦®³ð¡Œ…ä¾«ð¢“倈𦴩𧪄𣘀𤪱𢔓倩ð ¾å¾¤ð Ž€ð ‡æ»›ð Ÿå½å„㑺儎顬ãƒè–ð¤¦¤ð ’‡å… ð£Ž´å…ªð ¯¿ð¢ƒ¼ð ‹¥ð¢”°ð –Žð£ˆ³ð¡¦ƒå®‚è½ð –³ð£²™å†²å†¸"], +["faa1","鴴凉å‡å‡‘㳜凓𤪦决凢å‚å‡è椾ð£œå½»åˆ‹åˆ¦åˆ¼åŠµå‰—åŠ”åŠ¹å‹…ç°•è•‚å‹ è˜ð¦¬“包𨫞啉滙𣾀𠥔𣿬匳å„ð ¯¢æ³‹ð¡œ¦æ ›ç•æŠãºªã£Œð¡›¨ç‡ä’¢åå´ð¨š«å¾å¿ð¡––ð¡˜“çŸ¦åŽ“ð¨ª›åŽ åŽ«åŽ®çŽ§ð¥²ã½™çŽœåå…æ±‰ä¹‰åŸ¾å™ãª«ð ®å 𣿫𢶣å¶ð ±·å“ç¹å”«æ™—æµ›å‘ð¦“ð µ´å•å’咤䞦ð¡œð »ã¶´ð µ"], +["fb40","𨦼𢚘啇ä³å¯ç—å–†å–©å˜…ð¡£—ð¤€ºä•’ð¤µæš³ð¡‚´å˜·æ›ð£ŠŠæš¤æšå™å™ç£±å›±éž‡å¾åœ€å›¯å›ð¨¦ã˜£ð¡‰å†ð¤†¥æ±®ç‚‹å‚㚱𦱾埦ð¡–å ƒð¡‘”ð¤£å ¦ð¤¯µå¡œå¢ªã•¡å£ 壜𡈼壻寿åƒðª…𤉸é“㖡够梦㛃湙"], +["fba1","𡘾娤啓𡚒蔅姉𠵎ð¦²ð¦´ªð¡Ÿœå§™ð¡Ÿ»ð¡ž²ð¦¶¦æµ±ð¡ ¨ð¡›•姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広å‹å¶æ–ˆå¼ð§¨Žä€„ä¡ð ˆ„å¯•æ… ð¡¨´ð¥§Œð –¥å¯³å®ä´å°…ð¡„å°“çŽå°”𡲥𦬨屉ä£å²…峩峯嶋𡷹𡸷å´å´˜åµ†ð¡º¤å²ºå·—苼ã ð¤¤ð¢‰ð¢…³èŠ‡ã ¶ã¯‚å¸®æªŠå¹µå¹ºð¤’¼ð ³“åŽ¦äº·å»åލð¡±å¸‰å»´ð¨’‚"], +["fc40","å»¹å»»ã¢ å»¼æ ¾é›å¼ð ‡ð¯¢”㫞䢮𡌺强𦢈ð¢å½˜ð¢‘±å½£éž½ð¦¹®å½²é€ð¨¨¶å¾§å¶¶ãµŸð¥‰ð¡½ªð§ƒ¸ð¢™¨é‡–𠊞𨨩怱暅𡡷㥣㷇㘹åžð¢ž´ç¥±ã¹€æ‚žæ‚¤æ‚³ð¤¦‚ð¤¦ð§©“ç’¤åƒ¡åª æ…¤è¤æ…‚慈𦻒æ†å‡´ð ™–憇宪𣾷"], +["fca1","𢡟懓ð¨®ð©¥æ‡ã¤²ð¢¦€ð¢£æ€£æ…œæ”žæŽ‹ð „˜æ‹…ð¡°æ‹•ð¢¸æ¬ð¤§Ÿã¨—æ¸æ¸ð¡ŽŽð¡Ÿ¼æ’æ¾Šð¢¸¶é ”ð¤‚Œð¥œæ“¡æ“¥é‘»ã©¦æºã©—æ•æ¼–ð¤¨¨ð¤¨£æ–…æ•æ•Ÿð£¾æ–µð¤¥€ä¬·æ—‘äƒ˜ð¡ ©æ— æ—£å¿Ÿð£€æ˜˜ð£‡·ð£‡¸æ™„ð£†¤ð£†¥æ™‹ð ¹µæ™§ð¥‡¦æ™³æ™´ð¡¸½ð£ˆ±ð¨—´ð£‡ˆð¥Œ“çŸ…ð¢£·é¦¤æœ‚ð¤Žœð¤¨¡ã¬«æ§ºð£Ÿ‚æžæ§æ¢ð¤‡ð©ƒæŸ—ä“©æ ¢æ¹éˆ¼æ ð£¦ð¦¶ æ¡"], +["fd40","ð£‘¯æ§¡æ¨‹ð¨«Ÿæ¥³æ£ƒð£—æ¤æ¤€ã´²ã¨ð£˜¼ã®€æž¬æ¥¡ð¨©Šä‹¼æ¤¶æ¦˜ã®¡ð ‰è£å‚槹𣙙𢄪橅𣜃æªã¯³æž±æ«ˆð©†œã°æ¬ð ¤£æƒžæ¬µæ´ð¢Ÿæºµð£«›ð Žµð¡¥˜ã€å¡ð£šæ¯¡ð£»¼æ¯œæ°·ð¢’‹ð¤£±ð¦‘汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"], +["fda1","ð£³‰ã›¥ã³«ð ´²é®ƒð£‡¹ð¢’‘ç¾æ ·ð¦´¥ð¦¶¡ð¦·«æ¶–浜湼漄𤥿𤂅𦹲蔳𦽴凇沜æ¸è®ð¨¬¡æ¸¯ð£¸¯ç‘“𣾂秌æ¹åª‘ð£‹æ¿¸ãœæ¾ð£¸°æ»ºð¡’—ð¤€½ä••é°æ½„潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀ð¦‡ç‹ç¾ç‚§ç‚烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜ð¤¥ç…é¢ð¤‹ç„¬ð¤‘šð¤¨§ð¤¨¢ç†ºð¨¯¨ç‚½çˆŽ"], +["fe40","鑂爕夑鑃爤éð¥˜…çˆ®ç‰€ð¤¥´æ¢½ç‰•ç‰—ã¹•ð£„æ 漽犂猪猫𤠣𨠫ä£ð¨ „猨献ç玪𠰺𦨮ç‰ç‘‰ð¤‡¢ð¡›§ð¤¨¤æ˜£ã›…𤦷ð¤¦ð¤§»ç·ç•椃𤨦ç¹ð —ƒã»—瑜ð¢¢ç‘ 𨺲瑇ç¤ç‘¶èŽ¹ç‘¬ãœ°ç‘´é±æ¨¬ç’‚䥓𤪌"], +["fea1","𤅟𤩹ð¨®å†ð¨°ƒð¡¢žç“ˆð¡¦ˆç”Žç“©ç”žð¨»™ð¡©‹å¯—𨺬鎅ç•畊畧畮𤾂㼄𤴓疎ç‘疞疴瘂瘬癑ç™ç™¯ç™¶ð¦µçšè‡¯ãŸ¸ð¦¤‘𦤎皡皥皷盌𦾟葢ð¥‚ð¥…½ð¡¸œçœžçœ¦ç€æ’¯ð¥ˆ ç˜ð£Š¬çž¯ð¨¥¤ð¨¥¨ð¡›çŸ´ç ‰ð¡¶ð¤¨’棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗ç¦ð§¬¹ç¤¼ç¦©æ¸ªð§„¦ãº¨ç§†ð©„ç§”"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp936.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp936.json new file mode 100755 index 0000000..49ddb9a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp936.json @@ -0,0 +1,264 @@ +[ +["0","\u0000",127,"€"], +["8140","丂丄丅丆ä¸ä¸’ä¸—ä¸Ÿä¸ ä¸¡ä¸£ä¸¦ä¸©ä¸®ä¸¯ä¸±ä¸³ä¸µä¸·ä¸¼ä¹€ä¹ä¹‚乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"], +["8180","äºäº–亗亙亜äºäºžäº£äºªäº¯äº°äº±äº´äº¶äº·äº¸äº¹äº¼äº½äº¾ä»ˆä»Œä»ä»ä»’ä»šä»›ä»œä» ä»¢ä»¦ä»§ä»©ä»ä»®ä»¯ä»±ä»´ä»¸ä»¹ä»ºä»¼ä»¾ä¼€ä¼‚",6,"伋伌伒",4,"伜ä¼ä¼¡ä¼£ä¼¨ä¼©ä¼¬ä¼ä¼®ä¼±ä¼³ä¼µä¼·ä¼¹ä¼»ä¼¾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫ä½ä½®ä½±ä½²ä½µä½·ä½¸ä½¹ä½ºä½½ä¾€ä¾ä¾‚侅來侇侊侌侎ä¾ä¾’侓侕侖侘侙侚侜侞侟価侢"], +["8240","侤侫ä¾ä¾°",4,"ä¾¶",8,"ä¿€ä¿ä¿‚俆俇俈俉俋俌ä¿ä¿’",4,"ä¿™ä¿›ä¿ ä¿¢ä¿¤ä¿¥ä¿§ä¿«ä¿¬ä¿°ä¿²ä¿´ä¿µä¿¶ä¿·ä¿¹ä¿»ä¿¼ä¿½ä¿¿",11], +["8280","個倎å€å€‘倓倕倖倗倛å€å€žå€ 倢倣値倧倫倯",10,"倻倽倿å€åå‚å„å…å†å‰åŠå‹åå",4,"å–å—å˜å™å›å",7,"å¦",5,"å",8,"å¸å¹åºå¼å½å‚傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫å‚",4,"傳",6,"傼"], +["8340","傽",17,"åƒ",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"], +["8380","儉儊儌",5,"å„“",13,"å„¢",28,"兂兇兊兌兎å…å…兒兓兗兘兙兛å…",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎å†å†å†‘冓冔冘冚å†å†žå†Ÿå†¡å†£å†¦",4,"å†å†®å†´å†¸å†¹å†ºå†¾å†¿å‡å‡‚凃凅凈凊å‡å‡Žå‡å‡’",5], +["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌åˆåˆåˆ“刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎å‰å‰’剓剕剗剘"], +["8480","剙剚剛å‰å‰Ÿå‰ 剢剣剤剦剨剫剬å‰å‰®å‰°å‰±å‰³",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"å‹€å‹å‹‚勄勅勆勈勊勌å‹å‹Žå‹å‹‘勓勔動勗務",5,"å‹ å‹¡å‹¢å‹£å‹¥",10,"勱",7,"勻勼勽åŒåŒ‚匃匄匇匉匊匋匌匎"], +["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬åŒåŒ¯",9,"匼匽å€å‚å„å†å‹åŒååå”å˜å™å›åå¥å¨åªå¬åå²å¶å¹å»å¼å½å¾åŽ€åŽåŽƒåŽ‡åŽˆåŽŠåŽŽåŽ"], +["8580","åŽ",4,"åŽ–åŽ—åŽ™åŽ›åŽœåŽžåŽ åŽ¡åŽ¤åŽ§åŽªåŽ«åŽ¬åŽåޝ",6,"厷厸厹厺厼厽厾å€åƒ",4,"åŽååå’å“å•åšåœååžå¡å¢å§å´åºå¾å¿å€å‚å…å‡å‹å”å˜å™åšåœå¢å¤å¥åªå°å³å¶å·åºå½å¿å‘呂呄呅呇呉呌å‘呎å‘呑呚å‘",4,"呣呥呧呩",7,"呴呹呺呾呿å’咃咅咇咈咉咊å’å’‘å’“å’—å’˜å’œå’žå’Ÿå’ å’¡"], +["8640","å’¢å’¥å’®å’°å’²å’µå’¶å’·å’¹å’ºå’¼å’¾å“ƒå“…å“Šå“‹å“–å“˜å“›å“ ",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜å”唞唟唡唥唦"], +["8680","唨唩唫å”唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"å•å•žå•Ÿå• å•¢å•£å•¨å•©å•«å•¯",5,"啹啺啽啿喅喆喌å–å–Žå–å–’å–“å–•å––å–—å–šå–›å–žå– ",6,"å–¨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎å—å—å—•å——",4,"å—žå— å—¢å—§å—©å—嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"], +["8740","嘆嘇嘊嘋å˜å˜",7,"嘙嘚嘜å˜å˜ 嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"å™",4,"噕噖噚噛å™",4], +["8780","噣噥噦噧å™å™®å™¯å™°å™²å™³å™´å™µå™·å™¸å™¹å™ºå™½",7,"嚇",6,"åšåš‘åš’åš”",14,"嚤",10,"åš°",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀åœåœ‚圅圇國",6], +["8840","園",9,"åœåœžåœ 圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿ååƒå„å…å†åˆå‰å‹å’",4,"å˜å™å¢å£å¥å§å¬å®å°å±å²å´åµå¸å¹åºå½å¾å¿åž€"], +["8880","åžåž‡åžˆåž‰åžŠåž",4,"åž”",6,"åžœåžåžžåžŸåž¥åž¨åžªåž¬åž¯åž°åž±åž³åžµåž¶åž·åž¹",8,"埄",6,"埌åŸåŸåŸ‘埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿å å ƒå „å …å ˆå ‰å Šå Œå Žå å å ’å “å ”å –å —å ˜å šå ›å œå å Ÿå ¢å £å ¥",4,"å «",4,"å ±å ²å ³å ´å ¶",7], +["8940","å ¾",5,"å¡…",6,"塎å¡å¡å¡’å¡“å¡•å¡–å¡—å¡™",4,"塟",5,"塦",4,"å¡",16,"塿墂墄墆墇墈墊墋墌"], +["8980","å¢",4,"墔",4,"墛墜å¢å¢ ",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"å£å£¯å£±å£²å£´å£µå£·å£¸å£º",7,"夃夅夆夈",4,"夎å¤å¤‘夒夓夗夘夛å¤å¤žå¤ 夡夢夣夦夨夬夰夲夳夵夶夻"], +["8a40","夽夾夿奀奃奅奆奊奌å¥å¥å¥’奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎å¦å¦å¦‘妔妕妘妚妛妜å¦å¦Ÿå¦ 妡妢妦"], +["8a80","妧妬å¦å¦°å¦±å¦³",5,"妺妼妽妿",6,"姇姈姉姌å§å§Žå§å§•姖姙姛姞",4,"姤姦姧姩姪姫å§",11,"姺姼姽姾娀娂娊娋å¨å¨Žå¨å¨å¨’娔娕娖娗娙娚娛å¨å¨žå¨¡å¨¢å¨¤å¨¦å¨§å¨¨å¨ª",6,"娳娵娷",4,"娽娾娿å©",4,"婇婈婋",9,"婖婗婘婙婛",5], +["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"], +["8b80","åª",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋å«",4,"嫓嫕嫗嫙嫚嫛å«å«žå«Ÿå«¢å«¤å«¥å«§å«¨å«ªå«¬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"å",6], +["8c40","åˆ",7,"å’å–åžå å¡å§å¨å«åå®å¯å²å´å¶å·å¸å¹å»å¼å¾å¿å®‚宆宊å®å®Žå®å®‘宒宔宖実宧宨宩宬å®å®®å®¯å®±å®²å®·å®ºå®»å®¼å¯€å¯å¯ƒå¯ˆå¯‰å¯Šå¯‹å¯å¯Žå¯"], +["8c80","寑寔",8,"å¯ å¯¢å¯£å¯¦å¯§å¯©",4,"寯寱",6,"寽対尀専尃尅將專尋尌å°å°Žå°å°’å°“å°—å°™å°›å°žå°Ÿå° å°¡å°£å°¦å°¨å°©å°ªå°«å°å°®å°¯å°°å°²å°³å°µå°¶å°·å±ƒå±„屆屇屌å±å±’屓屔屖屗屘屚屛屜å±å±Ÿå±¢å±¤å±§",6,"å±°å±²",6,"屻屼屽屾岀岃",4,"岉岊岋岎å²å²’岓岕å²",4,"岤",4], +["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"å³¼",4], +["8d80","å´å´„å´…å´ˆ",5,"å´",4,"崕崗崘崙崚崜å´å´Ÿ",4,"崥崨崪崫崬崯",4,"å´µ",7,"å´¿",7,"嵈嵉åµ",10,"嵙嵚嵜嵞",10,"嵪åµåµ®åµ°åµ±åµ²åµ³åµµ",12,"嶃",21,"å¶šå¶›å¶œå¶žå¶Ÿå¶ "], +["8e40","å¶¡",21,"嶸",12,"å·†",6,"å·Ž",12,"å·œå·Ÿå· å·£å·¤å·ªå·¬å·"], +["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋å¸å¸Žå¸’帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀å¹å¹ƒå¹†",5,"å¹",6,"å¹–",4,"幜å¹å¹Ÿå¹ å¹£",14,"幵幷幹幾åºåº‚広庅庈庉庌åºåºŽåº’庘庛åºåº¡åº¢åº£åº¤åº¨",4,"庮",4,"庴庺庻庼庽庿",6], +["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌å¼å¼Žå¼å¼’弔弖弙弚弜å¼å¼žå¼¡å¼¢å¼£å¼¤"], +["8f80","弨弫弬弮弰弲",6,"弻弽弾弿å½",14,"å½‘å½”å½™å½šå½›å½œå½žå½Ÿå½ å½£å½¥å½§å½¨å½«å½®å½¯å½²å½´å½µå½¶å½¸å½ºå½½å½¾å½¿å¾ƒå¾†å¾å¾Žå¾å¾‘従徔徖徚徛å¾å¾žå¾Ÿå¾ å¾¢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"], +["9040","æ€ˆæ€‰æ€‹æ€Œæ€æ€‘æ€“æ€—æ€˜æ€šæ€žæ€Ÿæ€¢æ€£æ€¤æ€¬æ€æ€®æ€°",4,"怶",4,"æ€½æ€¾æ€æ„",6,"æŒæŽææ‘æ“æ”æ–æ—æ˜æ›æœæžæŸæ æ¡æ¥æ¦æ®æ±æ²æ´æµæ·æ¾æ‚€"], +["9080","æ‚æ‚‚æ‚…æ‚†æ‚‡æ‚ˆæ‚Šæ‚‹æ‚Žæ‚æ‚悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌æ„",4,"æ„–æ„—æ„˜æ„™æ„›æ„œæ„æ„žæ„¡æ„¢æ„¥æ„¨æ„©æ„ªæ„¬",18,"æ…€",6], +["9140","æ…‡æ…‰æ…‹æ…æ…æ…æ…’慓慔慖",6,"æ…žæ…Ÿæ… æ…¡æ…£æ…¤æ…¥æ…¦æ…©",6,"慱慲慳慴慶慸",18,"æ†Œæ†æ†",4,"憕"], +["9180","憖",6,"憞",8,"憪憫æ†",9,"憸",5,"æ†¿æ‡€æ‡æ‡ƒ",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"æˆ‡æˆ‰æˆ“æˆ”æˆ™æˆœæˆæˆžæˆ æˆ£æˆ¦æˆ§æˆ¨æˆ©æˆ«æˆæˆ¯æˆ°æˆ±æˆ²æˆµæˆ¶æˆ¸",4,"扂扄扅扆扊"], +["9240","æ‰æ‰æ‰•扖扗扙扚扜",6,"æ‰¤æ‰¥æ‰¨æ‰±æ‰²æ‰´æ‰µæ‰·æ‰¸æ‰ºæ‰»æ‰½æŠæŠ‚æŠƒæŠ…æŠ†æŠ‡æŠˆæŠ‹",5,"æŠ”æŠ™æŠœæŠæŠžæŠ£æŠ¦æŠ§æŠ©æŠªæŠæŠ®æŠ¯æŠ°æŠ²æŠ³æŠ´æŠ¶æŠ·æŠ¸æŠºæŠ¾æ‹€æ‹"], +["9280","æ‹ƒæ‹‹æ‹æ‹‘æ‹•æ‹æ‹žæ‹ æ‹¡æ‹¤æ‹ªæ‹«æ‹°æ‹²æ‹µæ‹¸æ‹¹æ‹ºæ‹»æŒ€æŒƒæŒ„æŒ…æŒ†æŒŠæŒ‹æŒŒæŒæŒæŒæŒ’æŒ“æŒ”æŒ•æŒ—æŒ˜æŒ™æŒœæŒ¦æŒ§æŒ©æŒ¬æŒæŒ®æŒ°æŒ±æŒ³",5,"æŒ»æŒ¼æŒ¾æŒ¿æ€ææ„æ‡æˆæŠæ‘æ’æ“æ”æ–",7,"æ æ¤æ¥æ¦æ¨æªæ«æ¬æ¯æ°æ²æ³æ´æµæ¸æ¹æ¼æ½æ¾æ¿æŽæŽƒæŽ„æŽ…æŽ†æŽ‹æŽæŽ‘æŽ“æŽ”æŽ•æŽ—æŽ™",6,"採掤掦掫掯掱掲掵掶掹掻掽掿æ€"], +["9340","ææ‚æƒæ…æ‡æˆæŠæ‹æŒæ‘æ“æ”æ•æ—",6,"æŸæ¢æ¤",4,"æ«æ¬æ®æ¯æ°æ±æ³æµæ·æ¹æºæ»æ¼æ¾æƒæ„æ†",4,"ææŽæ‘æ’æ•",5,"ææŸæ¢æ£æ¤"], +["9380","æ¥æ§æ¨æ©æ«æ®",5,"æµ",4,"æ»æ¼æ¾æ‘€æ‘‚摃摉摋",6,"æ‘“æ‘•æ‘–æ‘—æ‘™",4,"摟",7,"摨摪摫摬摮",9,"æ‘»",6,"撃撆撈",8,"æ’“æ’”æ’—æ’˜æ’šæ’›æ’œæ’æ’Ÿ",4,"æ’¥æ’¦æ’§æ’¨æ’ªæ’«æ’¯æ’±æ’²æ’³æ’´æ’¶æ’¹æ’»æ’½æ’¾æ’¿æ“æ“ƒæ“„擆",6,"æ“æ“‘擓擔擕擖擙據"], +["9440","æ“›æ“œæ“æ“Ÿæ“ 擡擣擥擧",24,"æ”",7,"攊",7,"攓",4,"æ”™",8], +["9480","攢攣攤攦",4,"æ”¬æ”æ”°æ”±æ”²æ”³æ”·æ”ºæ”¼æ”½æ•€",4,"æ•†æ•‡æ•Šæ•‹æ•æ•Žæ•æ•’æ•“æ•”æ•—æ•˜æ•šæ•œæ•Ÿæ• æ•¡æ•¤æ•¥æ•§æ•¨æ•©æ•ªæ•æ•®æ•¯æ•±æ•³æ•µæ•¶æ•¸",14,"æ–ˆæ–‰æ–Šæ–æ–Žæ–æ–’æ–”æ–•æ––æ–˜æ–šæ–æ–žæ– 斢斣斦斨斪斬斮斱",7,"æ–ºæ–»æ–¾æ–¿æ—€æ—‚æ—‡æ—ˆæ—‰æ—Šæ—æ—旑旓旔旕旘",7,"旡旣旤旪旫"], +["9540","旲旳旴旵旸旹旻",4,"æ˜æ˜„æ˜…æ˜‡æ˜ˆæ˜‰æ˜‹æ˜æ˜æ˜‘昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"æ™æ™Žæ™æ™‘晘"], +["9580","æ™™æ™›æ™œæ™æ™žæ™ 晢晣晥晧晩",4,"æ™±æ™²æ™³æ™µæ™¸æ™¹æ™»æ™¼æ™½æ™¿æš€æšæšƒæš…æš†æšˆæš‰æšŠæš‹æšæšŽæšæšæš’æš“暔暕暘",4,"æšž",8,"æš©",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"æ›±æ›µæ›¶æ›¸æ›ºæ›»æ›½æœæœ‚會"], +["9640","æœ„æœ…æœ†æœ‡æœŒæœŽæœæœ‘æœ’æœ“æœ–æœ˜æœ™æœšæœœæœžæœ ",5,"æœ§æœ©æœ®æœ°æœ²æœ³æœ¶æœ·æœ¸æœ¹æœ»æœ¼æœ¾æœ¿ææ„æ…æ‡æŠæ‹ææ’æ”æ•æ—",4,"ææ¢æ£æ¤æ¦æ§æ«æ¬æ®æ±æ´æ¶"], +["9680","æ¸æ¹æºæ»æ½æž€æž‚æžƒæž…æž†æžˆæžŠæžŒæžæžŽæžæž‘æž’æž“æž”æž–æž™æž›æžŸæž æž¡æž¤æž¦æž©æž¬æž®æž±æž²æž´æž¹",7,"柂柅",9,"æŸ•æŸ–æŸ—æŸ›æŸŸæŸ¡æŸ£æŸ¤æŸ¦æŸ§æŸ¨æŸªæŸ«æŸæŸ®æŸ²æŸµ",7,"æŸ¾æ æ ‚æ ƒæ „æ †æ æ æ ’æ ”æ •æ ˜",4,"æ žæ Ÿæ æ ¢",6,"æ «",6,"æ ´æ µæ ¶æ ºæ »æ ¿æ¡‡æ¡‹æ¡æ¡æ¡’æ¡–",5], +["9740","æ¡œæ¡æ¡žæ¡Ÿæ¡ªæ¡¬",7,"桵桸",8,"梂梄梇",7,"æ¢æ¢‘梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"], +["9780","梹",6,"æ£æ£ƒ",5,"æ£Šæ£Œæ£Žæ£æ£æ£‘棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"æ¤Œæ¤æ¤‘椓",11,"椡椢椣椥",7,"æ¤®æ¤¯æ¤±æ¤²æ¤³æ¤µæ¤¶æ¤·æ¤¸æ¤ºæ¤»æ¤¼æ¤¾æ¥€æ¥æ¥ƒ",16,"楕楖楘楙楛楜楟"], +["9840","æ¥¡æ¥¢æ¥¤æ¥¥æ¥§æ¥¨æ¥©æ¥ªæ¥¬æ¥æ¥¯æ¥°æ¥²",4,"æ¥ºæ¥»æ¥½æ¥¾æ¥¿æ¦æ¦ƒæ¦…榊榋榌榎",5,"榖榗榙榚æ¦",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"], +["9880","榾榿槀槂",7,"æ§‹æ§æ§æ§‘æ§’æ§“æ§•",5,"æ§œæ§æ§žæ§¡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"æ¨ æ¨¢",5,"æ¨©æ¨«æ¨¬æ¨æ¨®æ¨°æ¨²æ¨³æ¨´æ¨¶",6,"樿",4,"橅橆橈",7,"æ©‘",6,"橚"], +["9940","橜",4,"橢橣橤橦",10,"橲",6,"æ©ºæ©»æ©½æ©¾æ©¿æªæª‚檃檅",8,"æªæª’",4,"檘",7,"檡",5], +["9980","檧檨檪æª",114,"欥欦欨",6], +["9a40","æ¬¯æ¬°æ¬±æ¬³æ¬´æ¬µæ¬¶æ¬¸æ¬»æ¬¼æ¬½æ¬¿æ€ææ‚æ„æ…æˆæŠæ‹æ",11,"æš",7,"æ¨æ©æ«",13,"æºæ½æ¾æ¿æ®€æ®…殈"], +["9a80","æ®Œæ®Žæ®æ®æ®‘殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"æ¯Œæ¯Žæ¯æ¯‘毘毚毜",4,"毢",7,"æ¯¬æ¯æ¯®æ¯°æ¯±æ¯²æ¯´æ¯¶æ¯·æ¯¸æ¯ºæ¯»æ¯¼æ¯¾",6,"æ°ˆ",4,"æ°Žæ°’æ°—æ°œæ°æ°žæ° æ°£æ°¥æ°«æ°¬æ°æ°±æ°³æ°¶æ°·æ°¹æ°ºæ°»æ°¼æ°¾æ°¿æ±ƒæ±„汅汈汋",4,"汑汒汓汖汘"], +["9b40","汙汚汢汣汥汦汧汫",4,"æ±±æ±³æ±µæ±·æ±¸æ±ºæ±»æ±¼æ±¿æ²€æ²„æ²‡æ²Šæ²‹æ²æ²Žæ²‘æ²’æ²•æ²–æ²—æ²˜æ²šæ²œæ²æ²žæ² æ²¢æ²¨æ²¬æ²¯æ²°æ²´æ²µæ²¶æ²·æ²ºæ³€æ³æ³‚æ³ƒæ³†æ³‡æ³ˆæ³‹æ³æ³Žæ³æ³‘泒泘"], +["9b80","æ³™æ³šæ³œæ³æ³Ÿæ³¤æ³¦æ³§æ³©æ³¬æ³æ³²æ³´æ³¹æ³¿æ´€æ´‚æ´ƒæ´…æ´†æ´ˆæ´‰æ´Šæ´æ´æ´æ´‘æ´“æ´”æ´•æ´–æ´˜æ´œæ´æ´Ÿ",5,"æ´¦æ´¨æ´©æ´¬æ´æ´¯æ´°æ´´æ´¶æ´·æ´¸æ´ºæ´¿æµ€æµ‚æµ„æµ‰æµŒæµæµ•æµ–æµ—æµ˜æµ›æµæµŸæµ¡æµ¢æµ¤æµ¥æµ§æµ¨æµ«æµ¬æµæµ°æµ±æµ²æµ³æµµæµ¶æµ¹æµºæµ»æµ½",4,"æ¶ƒæ¶„æ¶†æ¶‡æ¶Šæ¶‹æ¶æ¶æ¶æ¶’æ¶–",4,"æ¶œæ¶¢æ¶¥æ¶¬æ¶æ¶°æ¶±æ¶³æ¶´æ¶¶æ¶·æ¶¹",5,"æ·æ·‚淃淈淉淊"], +["9c40","æ·æ·Žæ·æ·æ·’æ·“æ·”æ·•æ·—æ·šæ·›æ·œæ·Ÿæ·¢æ·£æ·¥æ·§æ·¨æ·©æ·ªæ·æ·¯æ·°æ·²æ·´æ·µæ·¶æ·¸æ·ºæ·½",7,"æ¸†æ¸‡æ¸ˆæ¸‰æ¸‹æ¸æ¸’渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"], +["9c80","渶渷渹渻",7,"æ¹…",7,"æ¹æ¹æ¹‘æ¹’æ¹•æ¹—æ¹™æ¹šæ¹œæ¹æ¹žæ¹ ",10,"æ¹¬æ¹æ¹¯",14,"æº€æºæº‚溄溇溈溊",4,"溑",6,"æº™æºšæº›æºæºžæº æº¡æº£æº¤æº¦æº¨æº©æº«æº¬æºæº®æº°æº³æºµæº¸æº¹æº¼æº¾æº¿æ»€æ»ƒæ»„æ»…æ»†æ»ˆæ»‰æ»Šæ»Œæ»æ»Žæ»æ»’æ»–æ»˜æ»™æ»›æ»œæ»æ»£æ»§æ»ª",5], +["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"æ¼æ¼‘æ¼’æ¼–",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"æ¼¿æ½€æ½æ½‚"], +["9d80","潃潄潅潈潉潊潌潎",9,"æ½™æ½šæ½›æ½æ½Ÿæ½ 潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋æ¾",12,"æ¾æ¾žæ¾Ÿæ¾ æ¾¢",4,"澨",10,"澴澵澷澸澺",5,"æ¿æ¿ƒ",5,"濊",6,"æ¿“",10,"濟濢濣濤濥"], +["9e40","濦",7,"æ¿°",32,"瀒",7,"瀜",6,"瀤",6], +["9e80","瀫",9,"瀶瀷瀸瀺",17,"ççŽç",13,"çŸ",11,"ç®ç±ç²ç³ç´ç·ç¹çºç»ç½ç‚炂炃炄炆炇炈炋炌ç‚ç‚ç‚炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"], +["9f40","烜çƒçƒžçƒ 烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"ç„‹",4,"焑焒焔焗焛",10,"ç„§",7,"焲焳焴"], +["9f80","焵焷",13,"煆煇煈煉煋ç…ç…",12,"ç…ç…Ÿ",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌ç†ç†Žç†ç†‘熒熓熕熖熗熚",4,"熡",6,"熩熪熫ç†",5,"熴熶熷熸熺",8,"燄",9,"ç‡",4], +["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19], +["a080","爛爜爞",9,"爩爫çˆçˆ®çˆ¯çˆ²çˆ³çˆ´çˆºçˆ¼çˆ¾ç‰€",6,"牉牊牋牎ç‰ç‰ç‰‘ç‰“ç‰”ç‰•ç‰—ç‰˜ç‰šç‰œç‰žç‰ ç‰£ç‰¤ç‰¥ç‰¨ç‰ªç‰«ç‰¬ç‰ç‰°ç‰±ç‰³ç‰´ç‰¶ç‰·ç‰¸ç‰»ç‰¼ç‰½çŠ‚çŠƒçŠ…",4,"犌犎çŠçŠ‘çŠ“",11,"çŠ ",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌ç‹ç‹‘狓狔狕狖狘狚狛"], +["a1a1"," ã€ã€‚·ˉˇ¨〃々—~‖…‘’“â€ã€”〕〈",7,"〖〗ã€ã€‘±×÷∶∧∨∑âˆâˆªâˆ©âˆˆâˆ·âˆšâŠ¥âˆ¥âˆ âŒ’âŠ™âˆ«âˆ®â‰¡â‰Œâ‰ˆâˆ½âˆâ‰ â‰®â‰¯â‰¤â‰¥âˆžâˆµâˆ´â™‚â™€Â°â€²â€³â„ƒï¼„Â¤ï¿ ï¿¡â€°Â§â„–â˜†â˜…â—‹â—◎◇◆□■△▲※→â†â†‘↓〓"], +["a2a1","â…°",9], +["a2b1","â’ˆ",19,"â‘´",19,"â‘ ",9], +["a2e5","㈠",9], +["a2f1","â… ",11], +["a3a1","ï¼ï¼‚#¥%",88,"ï¿£"], +["a4a1","ã",82], +["a5a1","ã‚¡",85], +["a6a1","Α",16,"Σ",6], +["a6c1","α",16,"σ",6], +["a6e0","︵︶︹︺︿﹀︽︾ï¹ï¹‚﹃﹄"], +["a6ee","︻︼︷︸︱"], +["a6f4","︳︴"], +["a7a1","Ð",5,"ÐЖ",25], +["a7d1","а",5,"ёж",25], +["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿â•",35,"â–",6], +["a880","â–ˆ",7,"▓▔▕▼▽◢◣◤◥☉⊕〒ã€ã€ž"], +["a8a1","Äáǎà ēéěèīÃÇìÅóǒòūúǔùǖǘǚǜüêɑ"], +["a8bd","ńň"], +["a8c0","É¡"], +["a8c5","ã„…",36], +["a940","〡",8,"㊣㎎ãŽãŽœãŽãŽžãŽ¡ã„ãŽã‘ã’ã•︰¬¦"], +["a959","℡㈱"], +["a95c","â€"], +["a960","ー゛゜ヽヾ〆ã‚ゞ﹉",9,"﹔﹕﹖﹗﹙",8], +["a980","ï¹¢",4,"﹨﹩﹪﹫"], +["a996","〇"], +["a9a4","─",75], +["aa40","狜ç‹ç‹Ÿç‹¢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌çŒçŒçŒçŒ‘çŒ’çŒ”çŒ˜çŒ™çŒšçŒŸçŒ çŒ£çŒ¤çŒ¦çŒ§çŒ¨çŒçŒ¯çŒ°çŒ²çŒ³çŒµçŒ¶çŒºçŒ»çŒ¼çŒ½ç€",8], +["aa80","ç‰çŠç‹çŒçŽçç‘ç“ç”ç•ç–ç˜",7,"ç¡",10,"ç®ç°ç±"], +["ab40","ç²",11,"ç¿",4,"玅玆玈玊玌çŽçŽçŽçŽ’çŽ“çŽ”çŽ•çŽ—çŽ˜çŽ™çŽšçŽœçŽçŽžçŽ çŽ¡çŽ£",5,"玪玬çŽçŽ±çŽ´çŽµçŽ¶çŽ¸çŽ¹çŽ¼çŽ½çŽ¾çŽ¿ççƒ",4], +["ab80","ç‹çŒçŽç’",6,"çšç›çœççŸç¡ç¢ç£ç¤ç¦ç¨çªç«ç¬ç®ç¯ç°ç±ç³",4], +["ac40","ç¸",10,"ç„ç‡çˆç‹çŒççŽç‘",8,"çœ",5,"ç£ç¤ç§ç©ç«çç¯ç±ç²ç·",4,"ç½ç¾ç¿ç‘€ç‘‚",11], +["ac80","瑎",6,"瑖瑘ç‘ç‘ ",12,"瑮瑯瑱",4,"瑸瑹瑺"], +["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌ç’ç’ç’‘",10,"ç’ç’Ÿ",7,"ç’ª",15,"ç’»",12], +["ad80","瓈",9,"ç““",8,"ç“瓟瓡瓥瓧",6,"瓰瓱瓲"], +["ae40","瓳瓵瓸",6,"甀ç”甂甃甅",7,"甎ç”甒甔甕甖甗甛ç”ç”žç” ",4,"甦甧甪甮甴甶甹甼甽甿ç•畂畃畄畆畇畉畊ç•ç•畑畒畓畕畖畗畘"], +["ae80","ç•",7,"畧畨畩畫",6,"畳畵當畷畺",4,"ç–€ç–ç–‚ç–„ç–…ç–‡"], +["af40","疈疉疊疌ç–ç–Žç–疓疕疘疛疜疞疢疦",4,"ç–疶疷疺疻疿痀ç—痆痋痌痎ç—ç—痑痓痗痙痚痜ç—ç—Ÿç— ç—¡ç—¥ç—©ç—¬ç—痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"], +["af80","瘈瘉瘋ç˜ç˜Žç˜ç˜‘瘒瘓瘔瘖瘚瘜ç˜ç˜žç˜¡ç˜£ç˜§ç˜¨ç˜¬ç˜®ç˜¯ç˜±ç˜²ç˜¶ç˜·ç˜¹ç˜ºç˜»ç˜½ç™ç™‚癄"], +["b040","ç™…",6,"癎",5,"癕癗",4,"ç™ç™Ÿç™ 癡癢癤",6,"癬ç™ç™®ç™°",7,"癹発發癿皀çšçšƒçš…皉皊皌çšçšçšçš’皔皕皗皘皚皛"], +["b080","çšœ",7,"皥",8,"皯皰皳皵",9,"盀ç›ç›ƒå•Šé˜¿åŸƒæŒ¨å“Žå”‰å“€çš‘癌蔼矮艾ç¢çˆ±éš˜éžæ°¨å®‰ä¿ºæŒ‰æš—å²¸èƒºæ¡ˆè‚®æ˜‚ç›Žå‡¹æ•–ç†¬ç¿±è¢„å‚²å¥¥æ‡Šæ¾³èŠæŒæ‰’åå§ç¬†å…«ç–¤å·´æ‹”è·‹é¶æŠŠè€™å霸罢爸白æŸç™¾æ‘†ä½°è´¥æ‹œç¨—æ–‘çæ¬æ‰³èˆ¬é¢æ¿ç‰ˆæ‰®æ‹Œä¼´ç“£åŠåŠžç»Šé‚¦å¸®æ¢†æ¦œè†€ç»‘æ£’ç£…èšŒé•‘å‚谤苞胞包褒剥"], +["b140","盄盇盉盋盌盓盕盙盚盜ç›ç›žç› ",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜çœçœžçœ¡çœ£çœ¤çœ¥çœ§çœªçœ«"], +["b180","眬眮眰",4,"眹眻眽眾眿ç‚ç„ç…ç†çˆ",7,"ç’",7,"çœè–„雹ä¿å ¡é¥±å®æŠ±æŠ¥æš´è±¹é²çˆ†æ¯ç¢‘悲å‘北辈背è´é’¡å€ç‹ˆå¤‡æƒ«ç„™è¢«å¥”è‹¯æœ¬ç¬¨å´©ç»·ç”æ³µè¹¦è¿¸é€¼é¼»æ¯”鄙笔彼碧蓖蔽毕毙毖å¸åº‡ç—¹é—æ•弊必辟å£è‡‚é¿é™›éžè¾¹ç¼–è´¬æ‰ä¾¿å˜åžè¾¨è¾©è¾«éæ ‡å½ªè†˜è¡¨é³–æ†‹åˆ«ç˜ªå½¬æ–Œæ¿’æ»¨å®¾æ‘ˆå…µå†°æŸ„ä¸™ç§‰é¥¼ç‚³"], +["b240","ççžçŸç ç¤ç§ç©çªç",11,"çºç»ç¼çžçž‚瞃瞆",5,"çžçžçž“",11,"瞡瞣瞤瞦瞨瞫çžçž®çž¯çž±çž²çž´çž¶",4], +["b280","瞼瞾矀",12,"矎",8,"矘矙矚çŸ",4,"çŸ¤ç—…å¹¶çŽ»è æ’拨钵波åšå‹ƒæé“‚箔伯帛舶脖膊渤泊驳æ•åœå“ºè¡¥åŸ ä¸å¸ƒæ¥ç°¿éƒ¨æ€–æ“¦çŒœè£ææ‰è´¢ç¬è¸©é‡‡å½©èœè”¡é¤å‚èš•æ®‹æƒæƒ¨ç¿è‹èˆ±ä»“æ²§è—æ“糙槽曹è‰åŽ•ç–ä¾§å†Œæµ‹å±‚è¹æ’å‰èŒ¬èŒ¶æŸ¥ç¢´æ½å¯Ÿå²”å·®è¯§æ‹†æŸ´è±ºæ€æŽºè‰é¦‹è°—ç¼ é“²äº§é˜é¢¤æ˜ŒçŒ–"], +["b340","çŸ¦çŸ¨çŸªçŸ¯çŸ°çŸ±çŸ²çŸ´çŸµçŸ·çŸ¹çŸºçŸ»çŸ¼ç ƒ",5,"ç Šç ‹ç Žç ç ç “ç •ç ™ç ›ç žç ç ¡ç ¢ç ¤ç ¨ç ªç «ç ®ç ¯ç ±ç ²ç ³ç µç ¶ç ½ç ¿ç¡ç¡‚硃硄硆硈硉硊硋ç¡ç¡ç¡‘硓硔硘硙硚"], +["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场å°å¸¸é•¿å¿è‚ 厂敞畅唱倡超抄钞æœå˜²æ½®å·¢åµç‚’车扯撤掣彻澈郴臣辰尘晨忱沉陈è¶è¡¬æ’‘称城橙æˆå‘ˆä¹˜ç¨‹æƒ©æ¾„诚承逞骋秤åƒç—´æŒåŒ™æ± è¿Ÿå¼›é©°è€»é½¿ä¾ˆå°ºèµ¤ç¿…æ–¥ç‚½å……å†²è™«å´‡å® æŠ½é…¬ç•´è¸Œç¨ æ„ç¹ä»‡ç»¸çž…丑è‡åˆå‡ºæ©±åŽ¨èº‡é”„é›æ»é™¤æ¥š"], +["b440","碄碅碆碈碊碋ç¢ç¢ç¢’碔碕碖碙ç¢ç¢žç¢ 碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌ç£ç£Žç£ç£‘磒磓磖磗磘磚",9], +["b480","磤磥磦磧磩磪磫ç£",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗æè§¦å¤„æ£å·ç©¿æ¤½ä¼ 船喘串疮窗幢床闯创å¹ç‚Šæ¶é”¤åž‚æ˜¥æ¤¿é†‡å”‡æ·³çº¯è ¢æˆ³ç»°ç–µèŒ¨ç£é›Œè¾žæ…ˆç“·è¯æ¤åˆºèµæ¬¡èªè‘±å›±åŒ†ä»Žä¸›å‡‘粗醋簇促蹿篡窜摧崔催脆ç˜ç²¹æ·¬ç¿ æ‘å˜å¯¸ç£‹æ’®æ“措挫错æè¾¾ç”瘩打大呆æ¹å‚£æˆ´å¸¦æ®†ä»£è´·è¢‹å¾…逮"], +["b540","ç¤",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"], +["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌ç¦ç¦Žç¦ç¦‘ç¦’æ€ è€½æ‹…ä¸¹å•éƒ¸æŽ¸èƒ†æ—¦æ°®ä½†æƒ®æ·¡è¯žå¼¹è›‹å½“æŒ¡å…šè¡æ¡£åˆ€æ£è¹ˆå€’岛祷导到稻悼é“盗德得的蹬ç¯ç™»ç‰çžªå‡³é‚“å ¤ä½Žæ»´è¿ªæ•Œç¬›ç‹„æ¶¤ç¿Ÿå«¡æŠµåº•åœ°è’‚ç¬¬å¸å¼Ÿé€’ç¼”é¢ æŽ‚æ»‡ç¢˜ç‚¹å…¸é›åž«ç”µä½ƒç”¸åº—æƒ¦å¥ æ·€æ®¿ç¢‰å¼é›•å‡‹åˆæŽ‰åŠé’“调跌爹碟è¶è¿è°å "], +["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎ç§ç§ç§“秔秖秗秙",5,"ç§ ç§¡ç§¢ç§¥ç§¨ç§ª"], +["b680","秬秮秱",6,"秹秺秼秾秿ç¨ç¨„稅稇稈稉稊稌ç¨",4,"稕稖稘稙稛稜ä¸ç›¯å®é’‰é¡¶é¼Žé”å®šè®¢ä¸¢ä¸œå†¬è‘£æ‡‚åŠ¨æ ‹ä¾—æ«å†»æ´žå…œæŠ–æ–—é™¡è±†é€—ç—˜éƒ½ç£æ¯’çŠŠç‹¬è¯»å µç¹èµŒæœé•€è‚šåº¦æ¸¡å¦’端çŸé”»æ®µæ–ç¼Žå †å…‘é˜Ÿå¯¹å¢©å¨è¹²æ•¦é¡¿å›¤é’ç›¾éæŽ‡å“†å¤šå¤ºåž›èº²æœµè·ºèˆµå‰æƒ°å •蛾峨鹅俄é¢è®¹å¨¥æ¶åŽ„æ‰¼é鄂饿æ©è€Œå„¿è€³å°”饵洱二"], +["b740","ç¨ç¨Ÿç¨¡ç¨¢ç¨¤",14,"稴稵稶稸稺稾穀",5,"穇",9,"ç©’",4,"穘",16], +["b780","ç©©",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎çªçªçª“窔窙窚窛窞窡窢贰å‘罚çä¼ä¹é˜€æ³•ç藩帆番翻樊矾钒ç¹å‡¡çƒ¦åè¿”èŒƒè´©çŠ¯é¥æ³›åŠèŠ³æ–¹è‚ªæˆ¿é˜²å¦¨ä»¿è®¿çººæ”¾è²éžå•¡é£žè‚¥åŒªè¯½å è‚ºåºŸæ²¸è´¹èŠ¬é…šå©æ°›åˆ†çº·åŸç„šæ±¾ç²‰å¥‹ä»½å¿¿æ„¤ç²ªä¸°å°æž«èœ‚峰锋风疯烽逢冯ç¼è®½å¥‰å‡¤ä½›å¦å¤«æ•·è‚¤åµæ‰¶æ‹‚è¾å¹…氟符ä¼ä¿˜æœ"], +["b840","窣窤窧窩窪窫窮",4,"窴",10,"ç«€",10,"竌",9,"竗竘竚竛竜ç«ç«¡ç«¢ç«¤ç«§",5,"竮竰竱竲竳"], +["b880","ç«´",4,"竻竼竾笀ç¬ç¬‚笅笇笉笌ç¬ç¬Žç¬ç¬’笓笖笗笘笚笜ç¬ç¬Ÿç¬¡ç¬¢ç¬£ç¬§ç¬©ç¬æµ®æ¶ªç¦è¢±å¼—甫抚辅俯釜斧脯腑府è…赴副覆赋å¤å‚…付阜父腹负富讣附妇缚å’å™¶å˜Žè¯¥æ”¹æ¦‚é’™ç›–æº‰å¹²ç”˜æ†æŸ‘ç«¿è‚赶感秆敢赣冈刚钢缸肛纲岗港æ 篙皋高è†ç¾”糕æžé•ç¨¿å‘Šå“¥æŒææˆˆé¸½èƒ³ç–™å‰²é©è‘›æ ¼è›¤é˜éš”铬个å„ç»™æ ¹è·Ÿè€•æ›´åºšç¾¹"], +["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"ç†çˆçŠççŽç“ç•ç—ç™çœçžçŸç¡ç£",10,"ç¯ç°ç³ç´ç¶ç¸çºç¼ç½ç¿ç®ç®‚箃箄箆",6,"箎ç®"], +["b980","ç®‘ç®’ç®“ç®–ç®˜ç®™ç®šç®›ç®žç®Ÿç® ç®£ç®¤ç®¥ç®®ç®¯ç®°ç®²ç®³ç®µç®¶ç®·ç®¹",7,"篂篃範埂耿梗工攻功æé¾šä¾›èº¬å…¬å®«å¼“巩汞拱贡共钩勾沟苟狗垢构è´å¤Ÿè¾œè‡å’•ç®ä¼°æ²½å¤å§‘鼓å¤è›Šéª¨è°·è‚¡æ•…顾固雇刮瓜å‰å¯¡æŒ‚è¤‚ä¹–æ‹æ€ªæ£ºå…³å®˜å† è§‚ç®¡é¦†ç½æƒ¯çŒè´¯å…‰å¹¿é€›ç‘°è§„åœç¡…归龟闺轨鬼诡癸桂柜跪贵刽辊滚æ£é”…éƒå›½æžœè£¹è¿‡å“ˆ"], +["ba40","篅篈築篊篋ç¯ç¯Žç¯ç¯ç¯’篔",4,"ç¯›ç¯œç¯žç¯Ÿç¯ ç¯¢ç¯£ç¯¤ç¯§ç¯¨ç¯©ç¯«ç¯¬ç¯ç¯¯ç¯°ç¯²",4,"篸篹篺篻篽篿",7,"簈簉簊ç°ç°Žç°",5,"簗簘簙"], +["ba80","ç°š",4,"ç° ",5,"簨簩簫",12,"ç°¹",5,"ç±‚éª¸å©æµ·æ°¦äº¥å®³éª‡é…£æ†¨é‚¯éŸ©å«æ¶µå¯’å‡½å–Šç½•ç¿°æ’¼ææ—±æ†¾æ‚焊汗汉夯æèˆªå£•嚎豪毫éƒå¥½è€—å·æµ©å‘µå–è·èæ ¸ç¦¾å’Œä½•åˆç›’貉阂河涸赫è¤é¹¤è´ºå˜¿é»‘ç—•å¾ˆç‹ æ¨å“¼äº¨æ¨ªè¡¡æ’轰哄烘虹鸿洪å®å¼˜çº¢å–‰ä¾¯çŒ´å¼åŽšå€™åŽå‘¼ä¹Žå¿½ç‘šå£¶è‘«èƒ¡è´ç‹ç³Šæ¹–"], +["bb40","籃",9,"籎",36,"ç±µ",5,"ç±¾",9], +["bb80","粈粊",6,"ç²“ç²”ç²–ç²™ç²šç²›ç² ç²¡ç²£ç²¦ç²§ç²¨ç²©ç²«ç²¬ç²ç²¯ç²°ç²´",4,"粺粻弧虎唬护互沪户花哗åŽçŒ¾æ»‘ç”»åˆ’åŒ–è¯æ§å¾Šæ€€æ·®åæ¬¢çŽ¯æ¡“è¿˜ç¼“æ¢æ‚£å”¤ç—ªè±¢ç„•æ¶£å®¦å¹»è’æ…Œé»„磺è—簧皇凰惶煌晃幌æè°Žç°æŒ¥è¾‰å¾½æ¢è›”å›žæ¯æ‚”æ…§å‰æƒ æ™¦è´¿ç§½ä¼šçƒ©æ±‡è®³è¯²ç»˜è¤æ˜å©šé‚æµ‘æ··è±æ´»ä¼™ç«èŽ·æˆ–æƒ‘éœè´§ç¥¸å‡»åœ¾åŸºæœºç•¸ç¨½ç§¯ç®•"], +["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛ç³ç³žç³¡",6,"糩",5,"ç³°",7,"糹糺糼",13,"ç´‹",5], +["bc80","ç´‘",14,"紡紣紤紥紦紨紩紪紬ç´ç´®ç´°",6,"è‚Œé¥¥è¿¹æ¿€è®¥é¸¡å§¬ç»©ç¼‰å‰æžæ£˜è¾‘ç±é›†åŠæ€¥ç–¾æ±²å³å«‰çº§æŒ¤å‡ 脊己蓟技冀å£ä¼Žç¥å‰‚æ‚¸æµŽå¯„å¯‚è®¡è®°æ—¢å¿Œé™…å¦“ç»§çºªå˜‰æž·å¤¹ä½³å®¶åŠ èšé¢Šè´¾ç”²é’¾å‡ç¨¼ä»·æž¶é©¾å«æ¼ç›‘åšå°–笺间煎兼肩艰奸缄茧检柬碱硷拣æ¡ç®€ä¿å‰ªå‡è槛鉴践贱è§é”®ç®ä»¶"], +["bd40","ç´·",54,"絯",7], +["bd80","絸",32,"å¥èˆ°å‰‘é¥¯æ¸æº…æ¶§å»ºåƒµå§œå°†æµ†æ±Ÿç–†è’‹æ¡¨å¥–è®²åŒ é…±é™è•‰æ¤’ç¤ç„¦èƒ¶äº¤éƒŠæµ‡éª„娇嚼æ…铰矫侥脚狡角饺缴绞剿教酵轿较å«çª–ææŽ¥çš†ç§¸è¡—é˜¶æˆªåŠ«èŠ‚æ¡”æ°æ·ç«ç«æ´ç»“è§£å§æˆ’è—‰èŠ¥ç•Œå€Ÿä»‹ç–¥è¯«å±Šå·¾ç‹æ–¤é‡‘ä»Šæ´¥è¥Ÿç´§é”¦ä»…è°¨è¿›é³æ™‹ç¦è¿‘烬浸"], +["be40","ç¶™",12,"ç¶§",6,"綯",42], +["be80","ç·š",32,"尽劲è†å…¢èŒŽç›æ™¶é²¸äº¬æƒŠç²¾ç²³ç»äº•è¦æ™¯é¢ˆé™å¢ƒæ•¬é•œå¾„ç—‰é–竟竞净炯窘æªç©¶çº 玖éŸä¹…ç¸ä¹é…’åŽ©æ•‘æ—§è‡¼èˆ…å’Žå°±ç–šéž æ‹˜ç‹™ç–½å±…é©¹èŠå±€å’€çŸ©ä¸¾æ²®èšæ‹’æ®å·¨å…·è·è¸žé”¯ä¿±å¥æƒ§ç‚¬å‰§æé¹ƒå¨Ÿå€¦çœ·å·ç»¢æ’…攫抉掘倔爵觉决诀ç»å‡èŒé’§å†›å›å³»"], +["bf40","ç·»",62], +["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡éªå–€å’–å¡å’¯å¼€æ©æ¥·å‡¯æ…¨åˆŠå ªå‹˜åŽç çœ‹åº·æ…·ç³ æ‰›æŠ—äº¢ç‚•è€ƒæ‹·çƒ¤é å·è‹›æŸ¯æ£µç£•é¢—ç§‘å£³å’³å¯æ¸´å…‹åˆ»å®¢è¯¾è‚¯å•ƒåž¦æ³å‘å空æå”æŽ§æŠ å£æ‰£å¯‡æž¯å“窟苦酷库裤夸垮挎跨胯å—ç·ä¾©å¿«å®½æ¬¾åŒ¡ç狂框矿眶旷况äºç›”岿窥葵奎éå‚€"], +["c040","繞",35,"纃",23,"纜çºçºž"], +["c080","纮纴纻纼绖绤绬绹缊ç¼ç¼žç¼·ç¼¹ç¼»",6,"罃罆",9,"ç½’ç½“é¦ˆæ„§æºƒå¤æ˜†æ†å›°æ‹¬æ‰©å»“阔垃拉喇蜡腊辣啦莱æ¥èµ–è“å©ªæ æ‹¦ç¯®é˜‘兰澜谰æ½è§ˆæ‡’ç¼†çƒ‚æ»¥ç…æ¦”狼廊郎朗浪æžåŠ³ç‰¢è€ä½¬å§¥é…ªçƒ™æ¶å‹’ä¹é›·é•蕾磊累儡垒擂肋类泪棱楞冷厘梨çŠé»Žç¯±ç‹¸ç¦»æ¼“ç†æŽé‡Œé²¤ç¤¼èމè”åæ —ä¸½åŽ‰åŠ±ç ¾åŽ†åˆ©å‚ˆä¾‹ä¿"], +["c140","罖罙罛罜ç½ç½žç½ ç½£",4,"罫罬ç½ç½¯ç½°ç½³ç½µç½¶ç½·ç½¸ç½ºç½»ç½¼ç½½ç½¿ç¾€ç¾‚",7,"羋ç¾ç¾",4,"羕",4,"ç¾›ç¾œç¾ ç¾¢ç¾£ç¾¥ç¾¦ç¾¨",6,"ç¾±"], +["c180","ç¾³",4,"羺羻羾翀翂翃翄翆翇翈翉翋ç¿ç¿",4,"ç¿–ç¿—ç¿™",5,"翢翣痢立粒沥隶力璃哩俩è”莲连镰廉怜涟帘敛脸链æ‹ç‚¼ç»ƒç²®å‡‰æ¢ç²±è‰¯ä¸¤è¾†é‡æ™¾äº®è°…æ’©èŠåƒšç–—ç‡Žå¯¥è¾½æ½¦äº†æ’‚é•£å»–æ–™åˆ—è£‚çƒˆåŠ£çŒŽç³æž—磷霖临邻鳞淋凛èµå拎玲è±é›¶é¾„铃伶羚凌çµé™µå²é¢†å¦ä»¤æºœç‰æ¦´ç¡«é¦ç•™åˆ˜ç˜¤æµæŸ³å…é¾™è‹å’™ç¬¼çª¿"], +["c240","翤翧翨翪翫翬ç¿ç¿¯ç¿²ç¿´",6,"翽翾翿耂耇耈耉耊耎è€è€‘耓耚耛è€è€žè€Ÿè€¡è€£è€¤è€«",5,"耲耴耹耺耼耾è€èè„è…è‡èˆè‰èŽèèè‘è“è•è–è—"], +["c280","è™è›",13,"è«",5,"è²",11,"隆垄拢陇楼娄æ‚篓æ¼é™‹èЦå¢é¢…åºç‚‰æŽ³å¤è™é²éº“碌露路赂鹿潞禄录陆戮驴å•é“ä¾£æ—…å±¥å±¡ç¼•è™‘æ°¯å¾‹çŽ‡æ»¤ç»¿å³¦æŒ›åªæ»¦åµä¹±æŽ 略抡轮伦仑沦纶论èèžºç½—é€»é”£ç®©éª¡è£¸è½æ´›éª†ç»œå¦ˆéº»çŽ›ç 蚂马骂嘛å—埋买麦å–迈脉瞒馒蛮满蔓曼慢漫"], +["c340","è¾è‚肂肅肈肊è‚",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"èƒ",6,"èƒ˜èƒŸèƒ èƒ¢èƒ£èƒ¦èƒ®èƒµèƒ·èƒ¹èƒ»èƒ¾èƒ¿è„€è„脃脄脅脇脈脋"], +["c380","脌脕脗脙脛脜è„脟",12,"è„脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆å¯èŒ‚å†’å¸½è²Œè´¸ä¹ˆçŽ«æžšæ¢…é…¶éœ‰ç…¤æ²¡çœ‰åª’é•æ¯ç¾Žæ˜§å¯å¦¹åªšé—¨é—·ä»¬èŒè’™æª¬ç›Ÿé”°çŒ›æ¢¦åŸçœ¯é†šé¡ç³œè¿·è°œå¼¥ç±³ç§˜è§…æ³Œèœœå¯†å¹‚æ£‰çœ ç»µå†•å…勉娩缅é¢è‹—æçž„è—ç§’æ¸ºåº™å¦™è”‘çæ°‘æŠ¿çš¿æ•æ‚¯é—½æ˜ŽèžŸé¸£é“å命谬摸"], +["c440","è…€",5,"腇腉è…è…Žè…腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸è†è†ƒ",4,"膉膋膌è†è†Žè†è†’",5,"膙膚膞",4,"膤膥"], +["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋è‡",6,"æ‘¹è˜‘æ¨¡è†œç£¨æ‘©é”æŠ¹æœ«èŽ«å¢¨é»˜æ²«æ¼ å¯žé™Œè°‹ç‰ŸæŸæ‹‡ç‰¡äº©å§†æ¯å¢“暮幕募慕木目ç¦ç‰§ç©†æ‹¿å“ªå‘é’ é‚£å¨œçº³æ°–ä¹ƒå¥¶è€å¥ˆå—ç”·éš¾å›ŠæŒ è„‘æ¼é—¹æ·–å‘¢é¦å†…å«©èƒ½å¦®éœ“å€ªæ³¥å°¼æ‹Ÿä½ åŒ¿è…»é€†æººè”«æ‹ˆå¹´ç¢¾æ’µæ»å¿µå¨˜é…¿é¸Ÿå°¿æè‚å½å•®é•Šé•æ¶…æ‚¨æŸ ç‹žå‡å®"], +["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎èˆèˆ‘舓舕",5,"èˆèˆ 舤舥舦舧舩舮舲舺舼舽舿"], +["c580","艀è‰è‰‚艃艅艆艈艊艌è‰è‰Žè‰",7,"艙艛艜è‰è‰žè‰ ",7,"艩拧泞牛æ‰é’®çº½è„“浓农弄奴努怒女暖è™ç–ŸæŒªæ‡¦ç³¯è¯ºå“¦æ¬§é¸¥æ®´è—•å‘•å¶æ²¤å•ªè¶´çˆ¬å¸•æ€•ç¶æ‹æŽ’牌徘湃派攀潘盘ç£ç›¼ç•”判å›ä¹“庞æ—耪胖抛咆刨炮è¢è·‘泡呸胚培裴赔陪é…ä½©æ²›å–·ç›†ç °æŠ¨çƒ¹æ¾Žå½è“¬æ£šç¡¼ç¯·è†¨æœ‹é¹æ§ç¢°å¯ç ’éœ¹æ‰¹æŠ«åŠˆçµæ¯—"], +["c640","艪艫艬è‰è‰±è‰µè‰¶è‰·è‰¸è‰»è‰¼èŠ€èŠèŠƒèŠ…èŠ†èŠ‡èŠ‰èŠŒèŠèŠ“èŠ”èŠ•èŠ–èŠšèŠ›èŠžèŠ èŠ¢èŠ£èŠ§èŠ²èŠµèŠ¶èŠºèŠ»èŠ¼èŠ¿è‹€è‹‚è‹ƒè‹…è‹†è‹‰è‹è‹–苙苚è‹è‹¢è‹§è‹¨è‹©è‹ªè‹¬è‹è‹®è‹°è‹²è‹³è‹µè‹¶è‹¸"], +["c680","苺苼",4,"茊茋èŒèŒèŒ’茓茖茘茙èŒ",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻å±è¬ç¯‡å片骗飘漂瓢票撇瞥拼频贫å“è˜ä¹’åªè‹¹èå¹³å‡ç“¶è¯„å±å¡æ³¼é¢‡å©†ç ´é„迫粕剖扑铺仆莆葡è©è’²åŸ”朴圃普浦谱æ›ç€‘æœŸæ¬ºæ –æˆšå¦»ä¸ƒå‡„æ¼†æŸ’æ²å…¶æ£‹å¥‡æ§ç•¦å´Žè„齿——祈ç¥éª‘起岂乞ä¼å¯å¥‘ç Œå™¨æ°”è¿„å¼ƒæ±½æ³£è®«æŽ"], +["c740","茾茿èè‚è„è…èˆèŠ",4,"è“è•",4,"èè¢è°",6,"è¹èºè¾",6,"莇莈莊莋莌èŽèŽèŽèŽ‘èŽ”èŽ•èŽ–èŽ—èŽ™èŽšèŽèŽŸèŽ¡",6,"莬èŽèŽ®"], +["c780","莯莵莻莾莿è‚èƒè„è†èˆè‰è‹èèŽèè‘è’è“è•è—è™èšè›èžè¢è£è¤è¦è§è¨è«è¬èæ°æ´½ç‰µæ‰¦é’Žé“…åƒè¿ç¾ä»Ÿè°¦ä¹¾é»”钱钳剿½œé£æµ…è°´å ‘åµŒæ¬ æ‰æžªå‘›è…”羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘å³ä¿çªåˆ‡èŒ„且怯窃钦侵亲秦ç´å‹¤èŠ¹æ“’ç¦½å¯æ²é’è½»æ°¢å€¾å¿æ¸…擎晴氰情顷请庆ç¼ç©·ç§‹ä¸˜é‚±çƒæ±‚å›šé…‹æ³…è¶‹åŒºè›†æ›²èº¯å±ˆé©±æ¸ "], +["c840","è®è¯è³",4,"èºè»è¼è¾è¿è€è‚è…è‡èˆè‰èŠèè’",5,"è™èšè›èž",5,"è©",7,"è²",5,"è¹èºè»è¾",7,"葇葈葉"], +["c880","葊",6,"è‘’",4,"葘è‘è‘žè‘Ÿè‘ è‘¢è‘¤",4,"葪葮葯葰葲葴葷葹葻葼å–娶龋趣去圈颧æƒé†›æ³‰å…¨ç—Šæ‹³çŠ¬åˆ¸åŠç¼ºç‚”瘸å´é¹Šæ¦·ç¡®é›€è£™ç¾¤ç„¶ç‡ƒå†‰æŸ“瓤壤攘嚷让饶扰绕惹çƒå£¬ä»äººå¿éŸ§ä»»è®¤åˆƒå¦Šçº«æ‰”仿—¥æˆŽèŒ¸è“‰è£èžç†”æº¶å®¹ç»’å†—æ‰æŸ”è‚‰èŒ¹è •å„’åºå¦‚辱乳æ±å…¥è¤¥è½¯é˜®è•Šç‘žé”闰润若弱撒洒è¨è…®é³ƒå¡žèµ›ä¸‰å"], +["c940","葽",4,"蒃蒄蒅蒆蒊è’è’",7,"蒘蒚蒛è’è’žè’Ÿè’ è’¢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎è“蓒蓔蓕蓗"], +["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"è“蓮蓯蓱",10,"蓽蓾蔀è”蔂伞散桑嗓丧æ”éªšæ‰«å«‚ç‘Ÿè‰²æ¶©æ£®åƒ§èŽŽç ‚æ€åˆ¹æ²™çº±å‚»å•¥ç…žç›æ™’çŠè‹«æ‰å±±åˆ ç…½è¡«é—ªé™•æ“…èµ¡è†³å–„æ±•æ‰‡ç¼®å¢’ä¼¤å•†èµæ™Œä¸Šå°šè£³æ¢¢æŽç¨çƒ§èŠå‹ºéŸ¶å°‘哨邵ç»å¥¢èµŠè›‡èˆŒèˆèµ¦æ‘„å°„æ…‘æ¶‰ç¤¾è®¾ç ·ç”³å‘»ä¼¸èº«æ·±å¨ ç»…ç¥žæ²ˆå®¡å©¶ç”šè‚¾æ…Žæ¸—å£°ç”Ÿç”¥ç‰²å‡ç»³"], +["ca40","蔃",8,"è”蔎è”è”蔒蔔蔕蔖蔘蔙蔛蔜è”è”žè” è”¢",8,"è”",9,"蔾",4,"蕄蕅蕆蕇蕋",10], +["ca80","蕗蕘蕚蕛蕜è•蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀è–çœç››å‰©èƒœåœ£å¸ˆå¤±ç‹®æ–½æ¹¿è¯—尸虱å石拾时什食蚀实识å²çŸ¢ä½¿å±Žé©¶å§‹å¼ç¤ºå£«ä¸–柿事æ‹èª“é€åŠ¿æ˜¯å—œå™¬é€‚ä»•ä¾é‡Šé¥°æ°å¸‚æƒå®¤è§†è¯•收手首守寿授售å—瘦兽蔬枢梳殊抒输å”舒淑ç–书赎å°ç†Ÿè–¯æš‘曙署蜀é»é¼ å±žæœ¯è¿°æ ‘æŸæˆç«–墅庶数漱"], +["cb40","薂薃薆薈",6,"è–",10,"è–",6,"薥薦薧薩薫薬è–è–±",5,"薸薺",6,"è—‚",6,"è—Š",4,"è—‘è—’"], +["cb80","藔藖",5,"è—",6,"藥藦藧藨藪",14,"æ•åˆ·è€æ‘”è¡°ç”©å¸…æ “æ‹´éœœåŒçˆ½è°æ°´ç¡ç¨Žå®çž¬é¡ºèˆœè¯´ç¡•æœ”çƒæ–¯æ’•嘶æ€ç§å¸ä¸æ»è‚†å¯ºå—£å››ä¼ºä¼¼é¥²å·³æ¾è€¸æ€‚颂é€å®‹è®¼è¯µæœè‰˜æ“žå—½è‹é…¥ä¿—ç´ é€Ÿç²Ÿåƒ³å¡‘æº¯å®¿è¯‰è‚ƒé…¸è’œç®—è™½éš‹éšç»¥é«“碎å²ç©—é‚éš§ç¥Ÿå™æŸç¬‹è“‘æ¢å”†ç¼©çç´¢é”æ‰€å¡Œä»–它她塔"], +["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"], +["cc80","è™",11,"虒虓處",4,"虛虜è™è™Ÿè™ 虡虣",7,"çæŒžè¹‹è¸èƒŽè‹”æŠ¬å°æ³°é…žå¤ªæ€æ±°åæ‘Šè´ªç˜«æ»©å›æª€ç—°æ½è°è°ˆå¦æ¯¯è¢’碳探å¹ç‚汤塘æªå ‚æ£ è†›å”ç³–å€˜èººæ·Œè¶Ÿçƒ«æŽæ¶›æ»”ç»¦è„æ¡ƒé€ƒæ·˜é™¶è®¨å¥—特藤腾疼誊梯剔踢锑æé¢˜è¹„å•¼ä½“æ›¿åšæƒ•涕剃屉天添填田甜æ¬èˆ”腆挑æ¡è¿¢çœºè·³è´´é“帖厅å¬çƒƒ"], +["cd40","è™è™¯è™°è™²",6,"蚃",6,"蚎",4,"蚔蚖",5,"èšž",4,"蚥蚦蚫èšèš®èš²èš³èš·èš¸èš¹èš»",4,"è›è›‚蛃蛅蛈蛌è›è›’蛓蛕蛖蛗蛚蛜"], +["cd80","è›è› 蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿èœèœ„蜅蜆蜋蜌蜎èœèœèœ‘蜔蜖汀廷åœäºåºæŒºè‰‡é€šæ¡é…®çž³åŒé“œå½¤ç«¥æ¡¶æ…ç’ç»Ÿç—›å·æŠ•å¤´é€å‡¸ç§ƒçªå›¾å¾’é€”æ¶‚å± åœŸåå…”æ¹å›¢æŽ¨é¢“腿蜕褪退åžå±¯è‡€æ‹–托脱鸵陀驮驼æ¤å¦¥æ‹“唾挖哇蛙洼娃瓦袜æªå¤–豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄å¨"], +["ce40","蜙蜛èœèœŸèœ 蜤蜦蜧蜨蜪蜫蜬èœèœ¯èœ°èœ²èœ³èœµèœ¶èœ¸èœ¹èœºèœ¼èœ½è€",6,"èŠè‹èèèè‘è’è”è•è–è˜èš",5,"è¡è¢è¦",7,"è¯è±è²è³èµ"], +["ce80","è·è¸è¹èºè¿èž€èžèž„螆螇螉螊螌螎",4,"螔螕螖螘",6,"èž ",4,"å·å¾®å±éŸ¦è¿æ¡…围唯惟为æ½ç»´è‹‡èŽå§”伟伪尾纬未蔚味ç•胃喂é使¸è°“尉慰å«ç˜Ÿæ¸©èšŠæ–‡é—»çº¹å»ç¨³ç´Šé—®å—¡ç¿ç“®æŒèœ—æ¶¡çªæˆ‘æ–¡å§æ¡æ²ƒå·«å‘œé’¨ä¹Œæ±¡è¯¬å±‹æ— 芜梧å¾å´æ¯‹æ¦äº”æ‚åˆèˆžä¼ä¾®åžæˆŠé›¾æ™¤ç‰©å‹¿åŠ¡æ‚Ÿè¯¯æ˜”ç†™æžè¥¿ç¡’矽晰嘻å¸é”¡ç‰º"], +["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿èŸ",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜èŸèŸžèŸŸèŸ¡èŸ¢èŸ£èŸ¤èŸ¦èŸ§èŸ¨èŸ©èŸ«èŸ¬èŸèŸ¯",9], +["cf80","èŸºèŸ»èŸ¼èŸ½èŸ¿è €è è ‚è „",5,"è ‹",7,"è ”è —è ˜è ™è šè œ",4,"è £ç¨€æ¯å¸Œæ‚‰è†å¤•惜熄烯溪æ±çŠ€æª„è¢å¸ä¹ 媳喜铣洗系隙æˆç»†çžŽè™¾åŒ£éœžè¾–æš‡å³¡ä¾ ç‹ä¸‹åަå¤å“掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷é™çº¿ç›¸åŽ¢é•¶é¦™ç®±è¥„æ¹˜ä¹¡ç¿”ç¥¥è¯¦æƒ³å“享项巷橡åƒå‘象è§ç¡éœ„削哮嚣销消宵淆晓"], +["d040","è ¤",13,"è ³",5,"è ºè »è ½è ¾è ¿è¡è¡‚衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪è¡è¡¯è¡±è¡³è¡´è¡µè¡¶è¡¸è¡¹è¡º"], +["d080","衻衼袀袃袆袇袉袊袌袎è¢è¢è¢‘袓袔袕袗",4,"è¢",4,"袣袥",5,"å°åæ ¡è‚–å•¸ç¬‘æ•ˆæ¥”äº›æ‡èŽéž‹å挟æºé‚ªæ–œèƒè°å†™æ¢°å¸èŸ¹æ‡ˆæ³„æ³»è°¢å±‘è–ªèŠ¯é”Œæ¬£è¾›æ–°å¿»å¿ƒä¿¡è¡…æ˜Ÿè…¥çŒ©æƒºå…´åˆ‘åž‹å½¢é‚¢è¡Œé†’å¹¸ææ€§å§“兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须å¾è®¸è“„酗噿—åºç•œæ¤çµ®å©¿ç»ªç»è½©å–§å®£æ‚¬æ—‹çŽ„"], +["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌è£è£è£è£‘裓裖裗裚",4,"è£ è£¡è£¦è£§è£©",6,"裲裵裶裷裺裻製裿褀è¤è¤ƒ",5], +["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬è¤è¤®è¤¯è¤±è¤²è¤³è¤µè¤·é€‰ç™£çœ©ç»šé´è–›å¦ç©´é›ªè¡€å‹‹ç†å¾ªæ—¬è¯¢å¯»é©¯å·¡æ®‰æ±›è®è®¯é€Šè¿…压押鸦é¸å‘€ä¸«èŠ½ç‰™èšœå´–è¡™æ¶¯é›…å“‘äºšè®¶ç„‰å’½é˜‰çƒŸæ·¹ç›ä¸¥ç ”èœ’å²©å»¶è¨€é¢œé˜Žç‚Žæ²¿å¥„æŽ©çœ¼è¡æ¼”è‰³å °ç‡•åŽŒç šé›å”å½¦ç„°å®´è°šéªŒæ®ƒå¤®é¸¯ç§§æ¨æ‰¬ä½¯ç–¡ç¾Šæ´‹é˜³æ°§ä»°ç—’å…»æ ·æ¼¾é‚€è…°å¦–ç‘¶"], +["d240","褸",8,"襂襃襅",24,"è¥ ",5,"襧",19,"襼"], +["d280","襽襾覀覂覄覅覇",26,"摇尧é¥çª‘谣姚咬舀è¯è¦è€€æ¤°å™Žè€¶çˆ·é‡Žå†¶ä¹Ÿé¡µæŽ–ä¸šå¶æ›³è…‹å¤œæ¶²ä¸€å£¹åŒ»æ–铱ä¾ä¼Šè¡£é¢å¤·é—ç§»ä»ªèƒ°ç–‘æ²‚å®œå§¨å½æ¤…èšå€šå·²ä¹™çŸ£ä»¥è‰ºæŠ‘æ˜“é‚‘å±¹äº¿å½¹è‡†é€¸è‚„ç–«äº¦è£”æ„æ¯…忆义益溢诣议谊译异翼翌绎茵è«å› 殷音阴姻åŸé“¶æ·«å¯…饮尹引éš"], +["d340","覢",30,"觃è§è§“觔觕觗觘觙觛è§è§Ÿè§ 觡觢觤觧觨觩觪觬è§è§®è§°è§±è§²è§´",6], +["d380","è§»",4,"è¨",5,"計",21,"å°è‹±æ¨±å©´é¹°åº”缨莹è¤è¥è§è‡è¿Žèµ¢ç›ˆå½±é¢–ç¡¬æ˜ å“Ÿæ‹¥ä½£è‡ƒç—ˆåº¸é›è¸Šè›¹å’泳涌永æ¿å‹‡ç”¨å¹½ä¼˜æ‚ 忧尤由邮铀犹油游酉有å‹å³ä½‘釉诱åˆå¹¼è¿‚æ·¤äºŽç›‚æ¦†è™žæ„šèˆ†ä½™ä¿žé€¾é±¼æ„‰æ¸æ¸”隅予娱雨与屿禹宇è¯ç¾½çŽ‰åŸŸèŠ‹éƒåé‡å–»å³ªå¾¡æ„ˆæ¬²ç‹±è‚²èª‰"], +["d440","訞",31,"訿",8,"詉",21], +["d480","詟",25,"詺",6,"浴寓裕预豫é©é¸³æ¸Šå†¤å…ƒåž£è¢åŽŸæ´è¾•å›å‘˜åœ†çŒ¿æºç¼˜è¿œè‹‘愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨å…è¿è•´é…晕韵å•åŒç ¸æ‚æ ½å“‰ç¾å®°è½½å†åœ¨å’±æ”’暂赞赃è„葬é糟凿藻枣早澡蚤èºå™ªé€ çš‚ç¶ç‡¥è´£æ‹©åˆ™æ³½è´¼æ€Žå¢žæ†Žæ›¾èµ 扎喳渣æœè½§"], +["d540","èª",7,"誋",7,"誔",46], +["d580","諃",32,"é“¡é—¸çœ¨æ …æ¦¨å’‹ä¹ç‚¸è¯ˆæ‘˜æ–‹å®…çª„å€ºå¯¨çž»æ¯¡è©¹ç²˜æ²¾ç›æ–©è¾—å´å±•è˜¸æ ˆå æˆ˜ç«™æ¹›ç»½æ¨Ÿç« å½°æ¼³å¼ æŽŒæ¶¨æ–丈å¸è´¦ä»—èƒ€ç˜´éšœæ‹›æ˜æ‰¾æ²¼èµµç…§ç½©å…†è‚‡å¬é®æŠ˜å“²è›°è¾™è€…é”—è”—è¿™æµ™çæ–ŸçœŸç”„ç §è‡»è´žé’ˆä¾¦æž•ç–¹è¯Šéœ‡æŒ¯é•‡é˜µè’¸æŒ£çå¾ç‹°äº‰æ€”æ•´æ‹¯æ£æ”¿"], +["d640","諤",34,"謈",27], +["d680","謤謥謧",30,"帧症郑è¯èŠæžæ”¯å±èœ˜çŸ¥è‚¢è„‚æ±ä¹‹ç»‡èŒç›´æ¤æ®–æ‰§å€¼ä¾„å€æŒ‡æ¢è¶¾åªæ—¨çº¸å¿—挚掷至致置帜峙制智秩稚质炙痔滞治窒ä¸ç›…å¿ é’Ÿè¡·ç»ˆç§è‚¿é‡ä»²ä¼—èˆŸå‘¨å·žæ´²è¯Œç²¥è½´è‚˜å¸šå’’çš±å®™æ˜¼éª¤ç æ ªè››æœ±çŒªè¯¸è¯›é€ç«¹çƒ›ç…®æ‹„瞩嘱主著柱助蛀贮铸ç‘"], +["d740","è†",31,"è§",4,"è",25], +["d780","讇",24,"讬讱讻诇è¯è¯ªè°‰è°žä½æ³¨ç¥é©»æŠ“çˆªæ‹½ä¸“ç –è½¬æ’°èµšç¯†æ¡©åº„è£…å¦†æ’žå£®çŠ¶æ¤Žé”¥è¿½èµ˜å ç¼€è°†å‡†æ‰æ‹™å“桌ç¢èŒé…Œå•„ç€ç¼æµŠå…¹å’¨èµ„姿滋淄åœç´«ä»”籽滓å自æ¸å—é¬ƒæ£•è¸ªå®—ç»¼æ€»çºµé‚¹èµ°å¥æç§Ÿè¶³å’æ—ç¥–è¯…é˜»ç»„é’»çº‚å˜´é†‰æœ€ç½ªå°Šéµæ˜¨å·¦ä½æŸžåšä½œå座"], +["d840","è°¸",8,"豂豃豄豅豈豊豋è±",7,"豖豗豘豙豛",5,"è±£",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"], +["d880","貈貋è²",6,"貕貖貗貙",20,"äºä¸Œå…€ä¸å»¿å…丕亘丞鬲å¬å™©ä¸¨ç¦ºä¸¿åŒ•乇å¤çˆ»å®æ°å›Ÿèƒ¤é¦—毓ç¾é¼—丶亟é¼ä¹œä¹©äº“芈å›å•¬å˜ä»„åŽåŽåŽ£åŽ¥åŽ®é¥èµåŒšåµåŒ¦åŒ®åŒ¾èµœå¦å£åˆ‚刈刎åˆåˆ³åˆ¿å‰€å‰Œå‰žå‰¡å‰œè’¯å‰½åŠ‚åŠåŠåŠ“å†‚ç½”äº»ä»ƒä»‰ä»‚ä»¨ä»¡ä»«ä»žä¼›ä»³ä¼¢ä½¤ä»µä¼¥ä¼§ä¼‰ä¼«ä½žä½§æ”¸ä½šä½"], +["d940","è²®",62], +["d980","è³",32,"佟佗伲伽佶佴侑侉侃ä¾ä½¾ä½»ä¾ªä½¼ä¾¬ä¾”俦俨俪俅俚俣俜俑俟俸倩åŒä¿³å€¬å€å€®å€ä¿¾å€œå€Œå€¥å€¨å¾åƒå•åˆåŽå¬å»å‚¥å‚§å‚©å‚ºåƒ–儆åƒåƒ¬åƒ¦åƒ®å„‡å„‹ä»æ°½ä½˜ä½¥ä¿Žé¾ 汆籴兮巽黉馘å†å¤”勹åŒè¨‡åŒå‡«å¤™å…•äº å…–äº³è¡®è¢¤äºµè„”è£’ç¦€å¬´è ƒç¾¸å†«å†±å†½å†¼"], +["da40","è´Ž",14,"è´ èµ‘èµ’èµ—èµŸèµ¥èµ¨èµ©èµªèµ¬èµ®èµ¯èµ±èµ²èµ¸",8,"趂趃趆趇趈趉趌",4,"è¶’è¶“è¶•",9,"è¶ è¶¡"], +["da80","趢趤",12,"趲趶趷趹趻趽跀è·è·‚跅跇跈跉跊è·è·è·’è·“è·”å‡‡å†–å†¢å†¥è® è®¦è®§è®ªè®´è®µè®·è¯‚è¯ƒè¯‹è¯è¯Žè¯’è¯“è¯”è¯–è¯˜è¯™è¯œè¯Ÿè¯ è¯¤è¯¨è¯©è¯®è¯°è¯³è¯¶è¯¹è¯¼è¯¿è°€è°‚è°„è°‡è°Œè°è°‘谒谔谕谖谙谛谘è°è°Ÿè° 谡谥谧谪谫谮谯谲谳谵谶å©åºé˜é˜¢é˜¡é˜±é˜ªé˜½é˜¼é™‚陉陔陟陧陬陲陴隈éšéš—éš°é‚—é‚›é‚邙邬邡邴邳邶邺"], +["db40","è·•è·˜è·™è·œè· è·¡è·¢è·¥è·¦è·§è·©è·è·®è·°è·±è·²è·´è·¶è·¼è·¾",6,"踆踇踈踋è¸è¸Žè¸è¸‘踒踓踕",7,"è¸ è¸¡è¸¤",4,"踫è¸è¸°è¸²è¸³è¸´è¸¶è¸·è¸¸è¸»è¸¼è¸¾"], +["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰éƒéƒ…邾éƒéƒ„郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆åˆå¥‚劢劬åŠåŠ¾å“¿å‹å‹–å‹°åŸç‡®çŸå»´å‡µå‡¼é¬¯å޶å¼ç•šå·¯åŒåž©åž¡å¡¾å¢¼å£…壑圩圬圪圳圹圮圯åœåœ»å‚å©åž…å«åž†å¼å»å¨åå¶å³åžåž¤åžŒåž²åŸåž§åž´åž“åž åŸ•åŸ˜åŸšåŸ™åŸ’åž¸åŸ´åŸ¯åŸ¸åŸ¤åŸ"], +["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"èºèºŸ",11,"èºèº®èº°èº±èº³",6,"躻",7], +["dc80","軃",10,"è»",21,"å ‹å 埽åŸå €å žå ™å¡„å 塥塬å¢å¢‰å¢šå¢€é¦¨é¼™æ‡¿è‰¹è‰½è‰¿èŠèŠŠèŠ¨èŠ„èŠŽèŠ‘èŠ—èŠ™èŠ«èŠ¸èŠ¾èŠ°è‹ˆè‹Šè‹£èŠ˜èŠ·èŠ®è‹‹è‹Œè‹èŠ©èŠ´èŠ¡èŠªèŠŸè‹„è‹ŽèŠ¤è‹¡èŒ‰è‹·è‹¤èŒèŒ‡è‹œè‹´è‹’è‹˜èŒŒè‹»è‹“èŒ‘èŒšèŒ†èŒ”èŒ•è‹ è‹•èŒœè‘è›èœèŒˆèŽ’èŒ¼èŒ´èŒ±èŽ›èžèŒ¯èè‡èƒèŸè€èŒ—è èŒèŒºèŒ³è¦è¥"], +["dd40","軥",62], +["dd80","輤",32,"è¨èŒ›è©è¬èªèè®èްè¸èŽ³èŽ´èŽ èŽªèŽ“èŽœèŽ…è¼èŽ¶èŽ©è½èޏè»èŽ˜èŽžèŽ¨èŽºèŽ¼èèè¥è˜å ‡è˜è‹èè½è–èœè¸è‘è†è”èŸèèƒè¸è¹èªè…è€è¦è°è¡è‘œè‘‘葚葙葳蒇蒈葺蒉葸è¼è‘†è‘©è‘¶è’Œè’Žè±è‘è“è“è“è“¦è’½è““è“Šè’¿è’ºè“ è’¡è’¹è’´è’—è“¥è“£è”Œç”蔸蓰蔹蔟蔺"], +["de40","è½…",32,"轪辀辌辒è¾è¾ 辡辢辤辥辦辧辪辬è¾è¾®è¾¯è¾²è¾³è¾´è¾µè¾·è¾¸è¾ºè¾»è¾¼è¾¿è¿€è¿ƒè¿†"], +["de80","迉",4,"è¿è¿’è¿–è¿—è¿šè¿ è¿¡è¿£è¿§è¿¬è¿¯è¿±è¿²è¿´è¿µè¿¶è¿ºè¿»è¿¼è¿¾è¿¿é€‡é€ˆé€Œé€Žé€“é€•é€˜è•–è”»è“¿è“¼è•™è•ˆè•¨è•¤è•žè•ºçž¢è•ƒè•²è•»è–¤è–¨è–‡è–蕹薮薜薅薹薷薰藓è—藜藿蘧蘅蘩蘖蘼廾弈夼å¥è€·å¥•奚奘åŒå°¢å°¥å°¬å°´æ‰Œæ‰ªæŠŸæŠ»æ‹Šæ‹šæ‹—æ‹®æŒ¢æ‹¶æŒ¹æ‹æƒæŽæ¶æ±æºæŽŽæŽ´ææŽ¬æŽŠæ©æŽ®æŽ¼æ²æ¸æ æ¿æ„æžæŽæ‘’æ†æŽ¾æ‘…æ‘æ‹æ›æ æŒæ¦æ¡æ‘žæ’„æ‘æ’–"], +["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿é€éƒé…é†éˆ",4,"éŽé”é•é–é™éšéœ",5,"é¤é¦é§é©éªé«é¬é¯",4,"é¶",6,"é¾é‚"], +["df80","還邅邆邇邉邊邌",4,"é‚’é‚”é‚–é‚˜é‚šé‚œé‚žé‚Ÿé‚ é‚¤é‚¥é‚§é‚¨é‚©é‚«é‚é‚²é‚·é‚¼é‚½é‚¿éƒ€æ‘ºæ’·æ’¸æ’™æ’ºæ“€æ“æ“—擤擢攉攥攮弋忒甙弑åŸå±å½å©å¨å»å’å–å†å‘‹å‘’呓呔呖呃å¡å‘—å‘™å£å²å’‚咔呷呱呤咚咛咄呶呦å’å“å’哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤å“å“å“žå”›å“§å” å“½å””å“³å”¢å”£å”唑唧唪啧å–喵啉å•å•啕唿å•唼"], +["e040","郂郃郆郈郉郋郌éƒéƒ’éƒ”éƒ•éƒ–éƒ˜éƒ™éƒšéƒžéƒŸéƒ éƒ£éƒ¤éƒ¥éƒ©éƒªéƒ¬éƒ®éƒ°éƒ±éƒ²éƒ³éƒµéƒ¶éƒ·éƒ¹éƒºéƒ»éƒ¼éƒ¿é„€é„鄃鄅",19,"鄚鄛鄜"], +["e080","é„é„Ÿé„ é„¡é„¤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈å–喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦å—嗄嗯嗥嗲嗳嗌å—嗨嗵嗤辔嘞嘈嘌å˜å˜¤å˜£å—¾å˜€å˜§å˜å™˜å˜¹å™—嘬å™å™¢å™™å™œå™Œå™”嚆噤噱噫噻噼嚅嚓嚯囔囗å›å›¡å›µå›«å›¹å›¿åœ„圊圉圜å¸å¸™å¸”帑帱帻帼"], +["e140","é……é…‡é…ˆé…‘é…“é…”é…•é…–é…˜é…™é…›é…œé…Ÿé… é…¦é…§é…¨é…«é…酳酺酻酼醀",4,"醆醈醊醎é†é†“",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"], +["e180","醼",10,"釈釋é‡é‡’",9,"é‡",8,"帷幄幔幛幞幡岌屺å²å²å²–岈岘岙岑岚岜岵岢岽岬岫岱岣å³å²·å³„峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯åµåµ«åµ‹åµŠåµ©åµ´å¶‚å¶™å¶è±³å¶·å·…彳彷徂徇徉後徕徙徜徨å¾å¾µå¾¼è¡¢å½¡çŠçŠ°çŠ´çŠ·çŠ¸ç‹ƒç‹ç‹Žç‹ç‹’狨狯狩狲狴狷çŒç‹³çŒƒç‹º"], +["e240","釦",62], +["e280","鈥",32,"狻猗猓猡猊猞çŒçŒ•猢猹猥猬猸猱ççç—ç ç¬ç¯ç¾èˆ›å¤¥é£§å¤¤å¤‚饣饧",5,"饴饷饽馀馄馇馊é¦é¦é¦‘é¦“é¦”é¦•åº€åº‘åº‹åº–åº¥åº åº¹åºµåº¾åº³èµ“å»’å»‘å»›å»¨å»ªè†ºå¿„å¿‰å¿–å¿æ€ƒå¿®æ€„忡忤忾怅怆忪å¿å¿¸æ€™æ€µæ€¦æ€›æ€æ€æ€©æ€«æ€Šæ€¿æ€¡æ¸æ¹æ»æºæ‚"], +["e340","鉆",45,"鉵",16], +["e380","銆",7,"éŠ",24,"æªæ½æ‚–æ‚šæ‚æ‚æ‚ƒæ‚’æ‚Œæ‚›æƒ¬æ‚»æ‚±æƒæƒ˜æƒ†æƒšæ‚´æ„ 愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵å¿éš³é—©é—«é—±é—³é—µé—¶é—¼é—¾é˜ƒé˜„阆阈阊阋阌é˜é˜é˜’é˜•é˜–é˜—é˜™é˜šä¸¬çˆ¿æˆ•æ°µæ±”æ±œæ±Šæ²£æ²…æ²æ²”æ²Œæ±¨æ±©æ±´æ±¶æ²†æ²©æ³æ³”æ²æ³·æ³¸æ³±æ³—æ²²æ³ æ³–æ³ºæ³«æ³®æ²±æ³“æ³¯æ³¾"], +["e440","銨",5,"銯",24,"鋉",31], +["e480","é‹©",32,"æ´¹æ´§æ´Œæµƒæµˆæ´‡æ´„æ´™æ´Žæ´«æµæ´®æ´µæ´šæµæµ’æµ”æ´³æ¶‘æµ¯æ¶žæ¶ æµžæ¶“æ¶”æµœæµ æµ¼æµ£æ¸šæ·‡æ·…æ·žæ¸Žæ¶¿æ· æ¸‘æ·¦æ·æ·™æ¸–æ¶«æ¸Œæ¶®æ¸«æ¹®æ¹Žæ¹«æº²æ¹Ÿæº†æ¹“æ¹”æ¸²æ¸¥æ¹„æ»Ÿæº±æº˜æ» æ¼æ»¢æº¥æº§æº½æº»æº·æ»—æº´æ»æºæ»‚æºŸæ½¢æ½†æ½‡æ¼¤æ¼•æ»¹æ¼¯æ¼¶æ½‹æ½´æ¼ªæ¼‰æ¼©æ¾‰æ¾æ¾Œæ½¸æ½²æ½¼æ½ºæ¿‘"], +["e540","錊",51,"錿",10], +["e580","éŠ",31,"髿¿‰æ¾§æ¾¹æ¾¶æ¿‚æ¿¡æ¿®æ¿žæ¿ æ¿¯ç€šç€£ç€›ç€¹ç€µççžå®€å®„宕宓宥宸甯骞æ´å¯¤å¯®è¤°å¯°è¹‡è¬‡è¾¶è¿“迕迥迮迤迩迦迳迨逅逄逋逦逑é€é€–逡逵逶é€é€¯é„é‘é’éé¨é˜é¢é›æš¹é´é½é‚‚邈邃邋å½å½—彖彘尻咫å±å±™å±å±£å±¦ç¾¼å¼ªå¼©å¼è‰´å¼¼é¬»å±®å¦å¦ƒå¦å¦©å¦ªå¦£"], +["e640","é¬",34,"éŽ",27], +["e680","鎬",29,"é‹éŒé妗姊妫妞妤姒妲妯姗妾娅娆å§å¨ˆå§£å§˜å§¹å¨Œå¨‰å¨²å¨´å¨‘å¨£å¨“å©€å©§å©Šå©•å¨¼å©¢å©µèƒ¬åªªåª›å©·å©ºåª¾å««åª²å«’å«”åª¸å« å«£å«±å«–å«¦å«˜å«œå¬‰å¬—å¬–å¬²å¬·å€å°•å°œåšå¥å³å‘å“å¢é©µé©·é©¸é©ºé©¿é©½éª€éªéª…骈骊éªéª’骓骖骘骛骜éªéªŸéª 骢骣骥骧纟纡纣纥纨纩"], +["e740","éŽ",7,"é—",54], +["e780","éŽ",32,"çºçº°çº¾ç»€ç»ç»‚绉绋绌ç»ç»”ç»—ç»›ç» ç»¡ç»¨ç»«ç»®ç»¯ç»±ç»²ç¼ç»¶ç»ºç»»ç»¾ç¼ç¼‚缃缇缈缋缌ç¼ç¼‘缒缗缙缜缛缟缡",6,"缪缫缬ç¼ç¼¯",4,"缵幺畿巛甾邕玎玑玮玢玟çç‚ç‘玷玳ç€ç‰çˆç¥ç™é¡¼çŠç©ç§çžçŽºç²ççªç‘›ç¦ç¥ç¨ç°ç®ç¬"], +["e840","é¯",14,"é¿",43,"鑬é‘鑮鑯"], +["e880","é‘°",20,"钑钖钘铇é“é““é“”é“šé“¦é“»é”œé” ç›çšç‘瑜瑗瑕瑙瑷ç‘瑾璜璎璀ç’璇璋璞璨璩ç’ç’§ç“’ç’ºéŸªéŸ«éŸ¬æŒæ“æžæˆæ©æž¥æž‡æªæ³æž˜æž§æµæž¨æžžæžæž‹æ·æ¼æŸ°æ ‰æŸ˜æ ŠæŸ©æž°æ ŒæŸ™æžµæŸšæž³æŸæ €æŸƒæž¸æŸ¢æ ŽæŸæŸ½æ ²æ ³æ¡ æ¡¡æ¡Žæ¡¢æ¡„æ¡¤æ¢ƒæ æ¡•æ¡¦æ¡æ¡§æ¡€æ ¾æ¡Šæ¡‰æ ©æ¢µæ¢æ¡´æ¡·æ¢“æ¡«æ£‚æ¥®æ£¼æ¤Ÿæ¤ æ£¹"], +["e940","é”§é”³é”½é•ƒé•ˆé•‹é••é•šé• é•®é•´é•µé•·",7,"é–€",42], +["e980","é–«",32,"æ¤¤æ£°æ¤‹æ¤æ¥—æ££æ¤æ¥±æ¤¹æ¥ æ¥‚æ¥æ¦„æ¥«æ¦€æ¦˜æ¥¸æ¤´æ§Œæ¦‡æ¦ˆæ§Žæ¦‰æ¥¦æ¥£æ¥¹æ¦›æ¦§æ¦»æ¦«æ¦æ§”æ¦±æ§æ§Šæ§Ÿæ¦•æ§ æ¦æ§¿æ¨¯æ§æ¨—æ¨˜æ©¥æ§²æ©„æ¨¾æª æ©æ©›æ¨µæªŽæ©¹æ¨½æ¨¨æ©˜æ©¼æª‘æªæª©æª—æª«çŒ·ç’æ®æ®‚æ®‡æ®„æ®’æ®“æ®æ®šæ®›æ®¡æ®ªè½«è½è½±è½²è½³è½µè½¶è½¸è½·è½¹è½ºè½¼è½¾è¾è¾‚辄辇辋"], +["ea40","é—Œ",27,"é—¬é—¿é˜‡é˜“é˜˜é˜›é˜žé˜ é˜£",6,"阫阬é˜é˜¯é˜°é˜·é˜¸é˜¹é˜ºé˜¾é™é™ƒé™Šé™Žé™é™‘陒陓陖陗"], +["ea80","陘陙陚陜é™é™žé™ 陣陥陦陫é™",4,"陳陸",12,"隇隉隊è¾è¾Žè¾è¾˜è¾šè»Žæˆ‹æˆ—戛戟戢戡戥戤戬臧瓯瓴瓿ç”ç”‘ç”“æ”´æ—®æ—¯æ—°æ˜Šæ˜™æ²æ˜ƒæ˜•æ˜€ç‚…æ›·æ˜æ˜´æ˜±æ˜¶æ˜µè€†æ™Ÿæ™”æ™æ™æ™–æ™¡æ™—æ™·æš„æšŒæš§æšæš¾æ››æ›œæ›¦æ›©è´²è´³è´¶è´»è´½èµ€èµ…赆赈赉赇èµèµ•赙觇觊觋觌觎è§è§è§‘牮犟ç‰ç‰¦ç‰¯ç‰¾ç‰¿çŠ„çŠ‹çŠçŠçŠ’æŒˆæŒ²æŽ°"], +["eb40","隌階隑隒隓隕隖隚際éš",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋é›é›‘雓雔雖",9,"雡",6,"雫"], +["eb80","雬é›é›®é›°é›±é›²é›´é›µé›¸é›ºé›»é›¼é›½é›¿éœ‚霃霅霊霋霌éœéœ‘霒霔霕霗",4,"éœéœŸéœ æ¿æ“˜è€„æ¯ªæ¯³æ¯½æ¯µæ¯¹æ°…æ°‡æ°†æ°æ°•氘氙氚氡氩氤氪氲攵敕敫ç‰ç‰’牖爰虢刖肟肜肓肼朊肽肱肫è‚肴肷胧胨胩胪胛胂胄胙èƒèƒ—æœèƒèƒ«èƒ±èƒ´èƒè„è„Žèƒ²èƒ¼æœ•è„’è±šè„¶è„žè„¬è„˜è„²è…ˆè…Œè…“è…´è…™è…šè…±è… è…©è…¼è…½è…è…§å¡åªµè†ˆè†‚膑滕膣膪臌朦臊膻"], +["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"é”é•é—é˜éšéœééŸé£é¤é¦é§é¨éª",7], +["ec80","é²éµé·",4,"é½",7,"鞆",4,"鞌鞎éžéžéž“鞕鞖鞗鞙",4,"è‡è†¦æ¬¤æ¬·æ¬¹æƒæ†æ™é£‘飒飓飕飙飚殳彀毂觳æ–齑斓於旆旄旃旌旎旒旖炀炜炖ç‚炻烀炷炫炱烨烊ç„ç„“ç„–ç„¯ç„±ç…³ç…œç…¨ç……ç…²ç…Šç…¸ç…ºç†˜ç†³ç†µç†¨ç† ç‡ ç‡”ç‡§ç‡¹çˆçˆ¨ç¬ç„˜ç…¦ç†¹æˆ¾æˆ½æ‰ƒæ‰ˆæ‰‰ç¤»ç¥€ç¥†ç¥‰ç¥›ç¥œç¥“ç¥šç¥¢ç¥—ç¥ ç¥¯ç¥§ç¥ºç¦…ç¦Šç¦šç¦§ç¦³å¿‘å¿"], +["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46], +["ed80","韤韥韨韮",4,"韴韷",23,"æ€¼ææšæ§ææ™æ£æ‚«æ„†æ„æ…æ†©æ†æ‡‹æ‡‘æˆ†è‚€è¿æ²“æ³¶æ·¼çŸ¶çŸ¸ç €ç ‰ç —ç ˜ç ‘æ–«ç ç œç ç ¹ç ºç »ç Ÿç ¼ç ¥ç ¬ç £ç ©ç¡Žç¡ç¡–ç¡—ç ¦ç¡ç¡‡ç¡Œç¡ªç¢›ç¢“碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄çœç›¹çœ‡çœˆçœšçœ¢çœ™çœçœ¦çœµçœ¸çç‘ç‡çƒçšç¨"], +["ee40","é ",62], +["ee80","顎",32,"ç¢ç¥ç¿çžç½çž€çžŒçž‘çžŸçž çž°çžµçž½ç”ºç•€ç•Žç•‹ç•ˆç•›ç•²ç•¹ç–ƒç½˜ç½¡ç½Ÿè©ˆç½¨ç½´ç½±ç½¹ç¾ç½¾ç›ç›¥è ²é’…钆钇钋钊钌é’é’é’钔钗钕钚钛钜钣钤钫钪é’钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"é“é“‘é“’é“•é“–é“—é“™é“˜é“›é“žé“Ÿé“ é“¢é“¤é“¥é“§é“¨é“ª"], +["ef40","顯",5,"颋颎颒颕颙颣風",37,"é£é£é£”飖飗飛飜é£é£ ",4], +["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊é”锎é”é”’",4,"锘锛é”锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎é•镒镓镔镖镗镘镙镛镞镟é•镡镢镤",8,"镯镱镲镳锺矧矬雉秕ç§ç§£ç§«ç¨†åµ‡ç¨ƒç¨‚稞稔"], +["f040","餈",4,"餎é¤é¤‘",28,"餯",26], +["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑é»é¦¥ç©°çšˆçšŽçš“çš™çš¤ç“žç“ ç”¬é¸ é¸¢é¸¨",4,"鸲鸱鸶鸸鸷鸹鸺鸾é¹é¹‚鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"é¹±é¹é¹³ç–’ç–”ç––ç– ç–疬疣疳疴疸痄疱疰痃痂痖ç—痣痨痦痤痫痧瘃痱痼痿ç˜ç˜€ç˜…瘌瘗瘊瘥瘘瘕瘙"], +["f140","馌馎馚",10,"馦馧馩",47], +["f180","é§™",32,"ç˜›ç˜¼ç˜¢ç˜ ç™€ç˜ç˜°ç˜¿ç˜µç™ƒç˜¾ç˜³ç™ç™žç™”ç™œç™–ç™«ç™¯ç¿Šç«¦ç©¸ç©¹çª€çª†çªˆçª•çª¦çª çª¬çª¨çªçª³è¡¤è¡©è¡²è¡½è¡¿è¢‚袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶è¥è¥¦è¥»ç–‹èƒ¥çš²çš´çŸœè€’è€”è€–è€œè€ è€¢è€¥è€¦è€§è€©è€¨è€±è€‹è€µèƒè†èè’è©è±è¦ƒé¡¸é¢€é¢ƒ"], +["f240","駺",62], +["f280","騹",32,"颉颌é¢é¢é¢”颚颛颞颟颡颢颥颦è™è™”虬虮虿虺虼虻蚨èšèš‹èš¬èšèš§èš£èšªèš“蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉è›èš´è›©è›±è›²è›è›³è›èœ“蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊èœèœ‰èœ£èœ»èœžèœ¥èœ®èœšèœ¾èˆèœ´èœ±èœ©èœ·èœ¿èž‚蜢è½è¾è»è è°èŒè®èž‹è“è£è¼è¤è™è¥èž“螯螨蟒"], +["f340","驚",17,"驲骃骉éªéªŽéª”骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"é«é«Žé«é«é«’體髕髖髗髙髚髛髜"], +["f380","é«é«žé« 髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅èžèž—èžƒèž«èŸ¥èž¬èžµèž³èŸ‹èŸ“èž½èŸ‘èŸ€èŸŠèŸ›èŸªèŸ èŸ®è –è “èŸ¾è Šè ›è ¡è ¹è ¼ç¼¶ç½‚ç½„ç½…èˆç«ºç«½ç¬ˆç¬ƒç¬„笕笊笫ç¬ç‡ç¬¸ç¬ªç¬™ç¬®ç¬±ç¬ 笥笤笳笾笞ç˜çšç…çµçŒçç ç®ç»ç¢ç²ç±ç®ç®¦ç®§ç®¸ç®¬ç®ç®¨ç®…箪箜箢箫箴篑ç¯ç¯Œç¯ç¯šç¯¥ç¯¦ç¯ªç°Œç¯¾ç¯¼ç°ç°–ç°‹"], +["f440","鬇鬉",5,"é¬é¬‘鬒鬔",10,"é¬ é¬¡é¬¢é¬¤",10,"鬰鬱鬳",7,"鬽鬾鬿é€é†éŠé‹éŒéŽéé’é“é•",5], +["f480","é›",32,"簟簪簦簸ç±ç±€è‡¾èˆèˆ‚舄臬衄舡舢舣èˆèˆ¯èˆ¨èˆ«èˆ¸èˆ»èˆ³èˆ´èˆ¾è‰„艉艋è‰è‰šè‰Ÿè‰¨è¡¾è¢…袈裘裟襞ç¾ç¾Ÿç¾§ç¾¯ç¾°ç¾²ç±¼æ•‰ç²‘ç²ç²œç²žç²¢ç²²ç²¼ç²½ç³ç³‡ç³Œç³ç³ˆç³…糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧èµè±‡è±‰é…Šé…é…Žé…é…¤"], +["f540","é¼",62], +["f580","é®»",32,"酢酡酰酩酯酽酾酲酴酹醌醅é†é†é†‘醢醣醪é†é†®é†¯é†µé†´é†ºè±•鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎è·è·›è·†è·¬è··è·¸è·£è·¹è·»è·¤è¸‰è·½è¸”è¸è¸Ÿè¸¬è¸®è¸£è¸¯è¸ºè¹€è¸¹è¸µè¸½è¸±è¹‰è¹è¹‚蹑蹒蹊蹰蹶蹼蹯蹴躅èºèº”èºèºœèºžè±¸è²‚貊貅貘貔斛觖觞觚觜"], +["f640","鯜",62], +["f680","é°›",32,"觥觫觯訾謦é“雩雳雯霆éœéœˆéœéœŽéœªéœéœ°éœ¾é¾€é¾ƒé¾…",5,"龌黾鼋é¼éš¹éš¼éš½é›Žé›’çž¿é› éŠŽéŠ®é‹ˆéŒ¾éªéŠéŽé¾é‘«é±¿é²‚鲅鲆鲇鲈稣鲋鲎é²é²‘鲒鲔鲕鲚鲛鲞",5,"é²¥",4,"鲫é²é²®é²°",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"], +["f740","é°¼",62], +["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌é²é²“鲖鲗鲘鲙é²é²ªé²¬é²¯é²¹é²¾",4,"é³ˆé³‰é³‘é³’é³šé³›é³ é³¡é³Œ",4,"鳓鳔鳕鳗鳘鳙鳜é³é³Ÿé³¢é¼éž…鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼é«é«€é«…髂髋髌髑é…éƒé‡é‰éˆéé‘飨é¤é¤®é¥•饔髟髡髦髯髫髻é«é«¹é¬ˆé¬é¬“鬟鬣麽麾縻麂麇麈麋麒é–éºéºŸé»›é»œé»é» 黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"], +["f840","é³£",62], +["f880","é´¢",32], +["f940","鵃",62], +["f980","é¶‚",32], +["fa40","é¶£",62], +["fa80","é·¢",32], +["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀é¹é¹é¹’鹓鹔鹖鹙é¹é¹Ÿé¹ 鹡鹢鹥鹮鹯鹲鹴",9,"麀"], +["fb80","éºéºƒéº„麅麆麉麊麌",5,"麔",8,"éºžéº ",5,"麧麨麩麪"], +["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌é»é»’黓黕黖黗黙黚點黡黣黤黦黨黫黬é»é»®é»°",8,"黺黽黿",6], +["fc80","鼆",4,"鼌é¼é¼‘鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"é¼é¼®é¼°é¼±"], +["fd40","é¼²",4,"鼸鼺鼼鼿",4,"é½…",10,"é½’",38], +["fd80","é½¹",5,"é¾é¾‚é¾",11,"龜é¾é¾žé¾¡",4,"郎凉秊裏隣"], +["fe40","兀ï¨ï¨Žï¨ï¨‘ï¨“ï¨”ï¨˜ï¨Ÿï¨ ï¨¡ï¨£ï¨¤ï¨§ï¨¨ï¨©"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp949.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp949.json new file mode 100755 index 0000000..2022a00 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp949.json @@ -0,0 +1,273 @@ +[ +["0","\u0000",127], +["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"], +["8161","갵갶갷갺갻갽갾갿ê±",9,"걌걎",5,"걕"], +["8181","걖걗걙걚걛ê±",18,"걲걳걵걶걹걻",4,"겂겇겈ê²ê²Žê²ê²‘겒겓겕",6,"겞겢",5,"겫ê²ê²®ê²±",6,"겺겾겿곀곂곃곅곆곇곉곊곋ê³",7,"곖곘",7,"곢곣곥곦곩곫ê³ê³®ê³²ê³´ê³·",4,"곾곿ê´ê´‚괃괅괇",4,"ê´Žê´ê´’ê´“"], +["8241","괔괕괖괗괙괚괛ê´ê´žê´Ÿê´¡",7,"괪괫괮",5], +["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"], +["8281","êµ™",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"ê¶Šê¶‹ê¶ê¶Žê¶ê¶‘",10,"ê¶ž",5,"ê¶¥",17,"궸",7,"귂귃귅귆귇귉",6,"ê·’ê·”",7,"ê·ê·žê·Ÿê·¡ê·¢ê·£ê·¥",18], +["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7], +["8361","ê¸",18,"긲긳긵긶긹긻긼"], +["8381","긽긾긿깂깄깇깈깉깋ê¹ê¹‘깒깓깕깗",4,"깞깢깣깤깦깧깪깫ê¹ê¹®ê¹¯ê¹±",6,"깺깾",5,"꺆",5,"êº",46,"꺿ê»ê»‚껃껅",6,"껎껒",5,"껚껛ê»",8], +["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8], +["8461","꼆꼉꼊꼋꼌꼎ê¼ê¼‘",18], +["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"ê¾ê¾‚꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"ê¾",26,"꾺꾻꾽꾾"], +["8541","꾿ê¿",5,"꿊꿌ê¿",4,"ê¿•",6,"ê¿",4], +["8561","ê¿¢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"], +["8581","뀅",6,"ë€ë€Žë€ë€‘뀒뀓뀕",6,"뀞",9,"뀩",26,"ë†ë‡ë‰ë‹ëëëë‘ë’ë–ë˜ëšë›ëœëž",29,"ë¾ë¿ë‚낂낃낅",6,"낎ë‚ë‚’",5,"ë‚›ë‚낞낣낤"], +["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"], +["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10], +["8681","냱",22,"넊ë„넎ë„넑넔넕넖넗넚넞",4,"넦넧넩넪넫ë„",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛ë…ë…žë…Ÿë…¡",22,"녺녻녽녾녿ë†ë†ƒ",4,"놊놌놎ë†ë†ë†‘놕놖놗놙놚놛ë†"], +["8741","놞",9,"놩",15], +["8761","놹",18,"ë‡ë‡Žë‡ë‡‘뇒뇓뇕"], +["8781","뇖",5,"ë‡žë‡ ",7,"뇪뇫ë‡ë‡®ë‡¯ë‡±",7,"뇺뇼뇾",5,"눆눇눉눊ëˆ",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛ë‰ë‰žë‰Ÿë‰¡",6,"뉪",4], +["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4], +["8861","ëŠëŠ’ëŠ“ëŠ•ëŠ–ëŠ—ëŠ›",4,"늢늤늧늨늩늫ëŠëŠ®ëŠ¯ëŠ±ëŠ²ëŠ³ëŠµëŠ¶ëŠ·"], +["8881","늸",15,"닊닋ë‹ë‹Žë‹ë‹‘ë‹“",4,"ë‹šë‹œë‹žë‹Ÿë‹ ë‹¡ë‹£ë‹§ë‹©ë‹ªë‹°ë‹±ë‹²ë‹¶ë‹¼ë‹½ë‹¾ëŒ‚ëŒƒëŒ…ëŒ†ëŒ‡ëŒ‰",6,"댒댖",5,"ëŒ",54,"ë—ë™ëšëë ë¡ë¢ë£"], +["8941","ë¦ë¨ëªë¬ëë¯ë²ë³ëµë¶ë·ë¹",6,"뎂뎆",5,"ëŽ"], +["8961","뎎ëŽëŽ‘ëŽ’ëŽ“ëŽ•",10,"뎢",5,"뎩뎪뎫ëŽ"], +["8981","뎮",21,"ë†ë‡ë‰ëŠëëë‘ë’ë“ë–ë˜ëšëœëžëŸë¡ë¢ë£ë¥ë¦ë§ë©",18,"ë½",18,"ë‘",6,"ë™ëšë›ëëžëŸë¡",6,"ëªë¬",7,"ëµ",15], +["8a41","ë‘…",10,"ë‘’ë‘“ë‘•ë‘–ë‘—ë‘™",6,"둢둤둦"], +["8a61","ë‘§",4,"ë‘",18,"ë’ë’‚"], +["8a81","ë’ƒ",4,"ë’‰",19,"ë’ž",5,"뒥뒦뒧뒩뒪뒫ë’",7,"뒶뒸뒺",5,"ë“듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚ë”"], +["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"], +["8b61","땇땈땉땊땎ë•ë•‘ë•’ë•“ë••",6,"땞땢",8], +["8b81","ë•«",52,"떢떣떥떦떧떩떬ë–떮떯떲떶",4,"떾떿ë—뗂뗃뗅",6,"ë—Žë—’",5,"ë—™",18,"ë—",18], +["8c41","똀",15,"똒똓똕똖똗똙",4], +["8c61","똞",6,"똦",5,"ë˜",6,"똵",5], +["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"ëšëš®ëš¯ëš°ëš²",16], +["8d41","뛃",16,"뛕",8], +["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"], +["8d81","ë›»",4,"뜂뜃뜄뜆",33,"뜪뜫ëœëœ®ëœ±",6,"뜺뜼",7,"ë…ë†ë‡ë‰ëŠë‹ë",6,"ë–",9,"ë¡ë¢ë£ë¥ë¦ë§ë©",6,"ë²ë´ë¶",5,"ë¾ë¿ëžëž‚랃랅",6,"랎랓랔랕랚랛ëžëžž"], +["8e41","랟랡",6,"랪랮",5,"ëž¶ëž·ëž¹",8], +["8e61","럂",4,"럈럊",19], +["8e81","럞",13,"럮럯럱럲럳럵",6,"ëŸ¾ë ‚",4,"ë Šë ‹ë ë Žë ë ‘",6,"ë šë œë ž",5,"ë ¦ë §ë ©ë ªë «ë ",6,"ë ¶ë º",5,"ë¡ë¡‚롃롅",11,"ë¡’ë¡”",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7], +["8f41","뢅",7,"뢎",17], +["8f61","ë¢ ",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4], +["8f81","뢾뢿룂룄룆",5,"ë£ë£Žë£ë£‘룒룓룕",7,"ë£žë£ ë£¢",5,"룪룫ë£ë£®ë£¯ë£±",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿ë¥ë¥‚륃륅",6,"ë¥ë¥Žë¥ë¥’",5], +["9041","륚륛ë¥ë¥žë¥Ÿë¥¡",6,"륪륬륮",5,"륶륷륹륺륻륽"], +["9061","륾",5,"릆릈릋릌ë¦",15], +["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"ë§Šë§‹ë§ë§“",4,"ë§šë§œë§Ÿë§ ë§¢ë§¦ë§§ë§©ë§ªë§«ë§",6,"ë§¶ë§»",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿ë©ë©ƒë©„멅멆"], +["9141","멇멊멌ë©ë©ë©‘멒멖멗멙멚멛ë©",6,"멦멪",5], +["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋ëª",5], +["9181","몓",20,"몪ëªëª®ëª¯ëª±ëª³",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿ë¬ë¬‚묃묅",7,"묎ë¬ë¬’",5,"묙묚묛ë¬ë¬žë¬Ÿë¬¡",6], +["9241","묨묪묬",7,"묷묹묺묿",4,"ë†ëˆëŠë‹ëŒëŽë‘ë’"], +["9261","ë“ë•ë–ë—ë™",7,"ë¢ë¤",7,"ë",4], +["9281","ë²",21,"뮉뮊뮋ë®ë®Žë®ë®‘",18,"뮥뮦뮧뮩뮪뮫ë®",6,"뮵뮶뮸",7,"ë¯ë¯‚믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾ë°"], +["9341","ë°ƒ",4,"ë°Šë°Žë°ë°’ë°“ë°™ë°šë° ë°¡ë°¢ë°£ë°¦ë°¨ë°ªë°«ë°¬ë°®ë°¯ë°²ë°³ë°µ"], +["9361","ë°¶ë°·ë°¹",6,"뱂뱆뱇뱈뱊뱋뱎ë±ë±‘",8], +["9381","뱚뱛뱜뱞",37,"벆벇벉벊ë²ë²",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿ë³ë³‚볃볅",7,"볎볒볓볔볖볗볙볚볛ë³",22,"볷볹볺볻볽"], +["9441","ë³¾",5,"봆봈봊",5,"ë´‘ë´’ë´“ë´•",8], +["9461","ë´ž",5,"ë´¥",6,"ë´",12], +["9481","ë´º",5,"ëµ",6,"뵊뵋ëµëµŽëµëµ‘",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛ë¶",6,"ë¶¥",10,"ë¶±",6,"ë¶¹",24], +["9541","뷒뷓뷖뷗뷙뷚뷛ë·",11,"ë·ª",5,"ë·±"], +["9561","뷲뷳뷵뷶뷷뷹",6,"ë¸ë¸‚븄븆",5,"븎ë¸ë¸‘븒븓"], +["9581","븕",6,"ë¸žë¸ ",35,"빆빇빉빊빋ë¹ë¹",4,"빖빘빜ë¹ë¹žë¹Ÿë¹¢ë¹£ë¹¥ë¹¦ë¹§ë¹©ë¹«",4,"빲빶",4,"빾빿ëºëº‚뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14], +["9641","뺸",23,"뻒뻓"], +["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"ë»",8], +["9681","ë»¶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44], +["9741","뾃",16,"뾕",8], +["9761","뾞",17,"ë¾±",7], +["9781","ë¾¹",11,"뿆",5,"뿎ë¿ë¿‘ë¿’ë¿“ë¿•",6,"ë¿ë¿žë¿ ë¿¢",89,"쀽쀾쀿"], +["9841","ì€",16,"ì’",5,"ì™ìšì›"], +["9861","ììžìŸì¡",6,"ìª",15], +["9881","ìº",21,"ì‚’ì‚“ì‚•ì‚–ì‚—ì‚™",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋ìƒìƒŽìƒìƒ‘",6,"샚샞",5,"샦샧샩샪샫ìƒ",6,"샶샸샺",5,"ì„섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"], +["9941","섲섳섴섵섷섺섻섽섾섿ì…",6,"ì…Šì…Ž",5,"ì…–ì…—"], +["9961","셙셚셛ì…",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"], +["9981","ì…¼",8,"솆",5,"ì†ì†‘솒솓솕솗",4,"ì†žì† ì†¢ì†£ì†¤ì†¦ì†§ì†ªì†«ì†ì†®ì†¯ì†±",11,"솾",5,"쇅쇆쇇쇉쇊쇋ì‡",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿ìˆìˆ‚숃숅",6,"숎ìˆìˆ’",5,"숚숛ìˆìˆžìˆ¡ìˆ¢ìˆ£"], +["9a41","숤숥숦숧숪숬숮숰숳숵",16], +["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"], +["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿ìŒ",6,"쌊쌋쌎ìŒ"], +["9b41","ìŒìŒ‘쌒쌖쌗쌙쌚쌛ìŒ",6,"쌦쌧쌪",8], +["9b61","쌳",17,"ì†",7], +["9b81","ìŽ",25,"ìªì«ìì®ì¯ì±ì³",4,"ìºì»ì¾",5,"쎅쎆쎇쎉쎊쎋ìŽ",50,"ì",22,"ìš"], +["9c41","ì›ììžì¡ì£",4,"ìªì«ì¬ì®",5,"ì¶ì·ì¹",5], +["9c61","ì¿",8,"ì‰",6,"ì‘",9], +["9c81","ì›",8,"ì¥",6,"ìì®ì¯ì±ì²ì³ìµ",6,"ì¾",9,"쑉",26,"쑦쑧쑩쑪쑫ì‘",6,"쑶쑷쑸쑺",5,"ì’",18,"ì’•",6,"ì’",12], +["9d41","ì’ª",13,"쒹쒺쒻쒽",8], +["9d61","쓆",25], +["9d81","ì“ ",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"ì”씎ì”씑씒씓씕",6,"ì”",10,"씪씫ì”씮씯씱",6,"씺씼씾",5,"앆앇앋ì•ì•앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿ì–얂얃얅얆얈얉얊얋얎ì–ì–’ì–“ì–”"], +["9e41","얖얙얚얛ì–ì–žì–Ÿì–¡",7,"ì–ª",9,"ì–¶"], +["9e61","얷얺얿",4,"ì—‹ì—ì—ì—’ì—“ì—•ì—–ì——ì—™",6,"엢엤엦엧"], +["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋ì˜ì˜Žì˜ì˜‘",6,"옚ì˜",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"ì™’ì™–",5,"왞왟왡",10,"ì™ì™®ì™°ì™²",5,"왺왻왽왾왿ìš",6,"욊욌욎",5,"욖욗욙욚욛ìš",6,"욦"], +["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"], +["9f61","ì›ì›‘웒웓웕",6,"웞웟웢",5,"웪웫ì›ì›®ì›¯ì›±ì›²"], +["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋ìœ",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿ìì‚ìƒì…",4,"ì‹ìŽìì™ìšì›ììžìŸì¡",6,"ì©ìªì¬",7,"ì¶ì·ì¹ìºì»ì¿ìž€ìžìž‚잆잋잌ìžìžìž’잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"], +["a041","잸잹잺잻잾쟂",5,"쟊쟋ìŸìŸìŸ‘",6,"쟙쟚쟛쟜"], +["a061","쟞",5,"쟥쟦쟧쟩쟪쟫ìŸ",13], +["a081","쟻",4,"ì ‚ì ƒì …ì †ì ‡ì ‰ì ‹",4,"ì ’ì ”ì —",4,"ì žì Ÿì ¡ì ¢ì £ì ¥",6,"ì ®ì °ì ²",5,"ì ¹ì ºì »ì ½ì ¾ì ¿ì¡",6,"졊졋졎",5,"ì¡•",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"ì¢žì¢ ì¢¢ì¢£ì¢¤"], +["a141","좥좦좧좩",18,"좾좿죀ì£"], +["a161","죂죃죅죆죇죉죊죋ì£",6,"죖죘죚",5,"죢죣죥"], +["a181","죦",14,"죶",5,"죾죿ì¤ì¤‚줃줇",4,"줎 ã€ã€‚·‥…¨〃Â―∥\∼‘’“â€ã€”〕〈",9,"Â±Ã—Ã·â‰ â‰¤â‰¥âˆžâˆ´Â°â€²â€³â„ƒâ„«ï¿ ï¿¡ï¿¥â™‚â™€âˆ âŠ¥âŒ’âˆ‚âˆ‡â‰¡â‰’Â§â€»â˜†â˜…â—‹â—◎◇◆□■△▲▽▼→â†â†‘↓↔〓≪≫√∽âˆâˆµâˆ«âˆ¬âˆˆâˆ‹âŠ†âŠ‡âŠ‚âŠƒâˆªâˆ©âˆ§âˆ¨ï¿¢"], +["a241","ì¤ì¤’",5,"줙",18], +["a261","ì¤",6,"줵",18], +["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"ì¥ì¥®ì¥¯â‡’⇔∀∃´~ˇ˘Ë˚˙¸˛¡¿Ë∮∑âˆÂ¤â„‰â€°â—◀▷▶♤♠♡♥♧♣⊙◈▣â—◑▒▤▥▨▧▦▩♨â˜â˜Žâ˜œâ˜žÂ¶â€ ‡↕↗↙↖↘â™â™©â™ªâ™¬ã‰¿ãˆœâ„–ã‡â„¢ã‚ã˜â„¡â‚¬Â®"], +["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋ì¦ì¦Žì¦"], +["a361","즑",6,"즚즜즞",16], +["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛ï¼",58,"₩]",32,"ï¿£"], +["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿ì¨ì¨‚쨃쨄"], +["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12], +["a481","쨦쨧쨨쨪",28,"ㄱ",93], +["a541","쩇",4,"쩎ì©ì©‘ì©’ì©“ì©•",6,"쩞쩢",5,"쩩쩪"], +["a561","ì©«",17,"쩾",5,"쪅쪆"], +["a581","쪇",16,"쪙",14,"â…°",9], +["a5b0","â… ",9], +["a5c1","Α",16,"Σ",6], +["a5e1","α",16,"σ",6], +["a641","쪨",19,"쪾쪿ì«ì«‚쫃쫅"], +["a661","쫆",5,"쫎ì«ì«’쫔쫕쫖쫗쫚",5,"ì«¡",6], +["a681","쫨쫩쫪쫫ì«",6,"쫵",18,"쬉쬊─│┌â”┘└├┬┤┴┼â”┃â”┓┛┗┣┳┫┻╋┠┯┨┷┿â”┰┥┸╂┒┑┚┙┖┕┎â”┞┟┡┢┦┧┩┪â”┮┱┲┵┶┹┺┽┾╀â•╃",7], +["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7], +["a761","쬪",22,"ì‚ìƒì„"], +["a781","ì…ì†ì‡ìŠì‹ììŽìì‘",6,"ìšì›ìœìž",5,"ì¥",7,"㎕㎖㎗ℓ㎘ã„㎣㎤㎥㎦㎙",9,"ãŠãŽãŽŽãŽã㎈㎉ãˆãŽ§ãŽ¨ãŽ°",9,"㎀",4,"㎺",5,"ãŽ",4,"Ωã€ã㎊㎋㎌ã–ã…ãŽãŽ®ãŽ¯ã›ãŽ©ãŽªãŽ«ãŽ¬ããã“ãƒã‰ãœã†"], +["a841","ì",10,"ìº",14], +["a861","쮉",18,"ì®",6], +["a881","쮤",19,"쮹",11,"ÆÃªĦ"], +["a8a6","IJ"], +["a8a8","Ä¿ÅØŒºÞŦŊ"], +["a8b1","㉠",27,"â“",25,"â‘ ",14,"½⅓⅔¼¾⅛⅜â…â…ž"], +["a941","쯅",14,"쯕",10], +["a961","ì¯ ì¯¡ì¯¢ì¯£ì¯¥ì¯¦ì¯¨ì¯ª",18], +["a981","쯽",14,"ì°Žì°ì°‘ì°’ì°“ì°•",6,"ì°žì°Ÿì° ì°£ì°¤Ã¦Ä‘Ã°Ä§Ä±Ä³Ä¸Å€Å‚Ã¸Å“ÃŸÃ¾Å§Å‹Å‰ãˆ€",27,"â’œ",25,"â‘´",14,"¹²³â´â¿â‚₂₃₄"], +["aa41","찥찦찪찫ì°ì°¯ì°±",6,"찺찿",4,"챆챇챉챊챋ì±ì±Ž"], +["aa61","ì±",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"], +["aa81","챳챴챶",29,"ã",82], +["ab41","첔첕첖첗첚첛ì²ì²žì²Ÿì²¡",6,"첪첮",5,"ì²¶ì²·ì²¹"], +["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5], +["ab81","ì³›",8,"ì³¥",6,"ì³ì³®ì³¯ì³±",12,"ã‚¡",85], +["ac41","쳾쳿촀촂",5,"ì´Šì´‹ì´ì´Žì´ì´‘",6,"ì´šì´œì´žì´Ÿì´ "], +["ac61","촡촢촣촥촦촧촩촪촫ì´",11,"ì´º",4], +["ac81","ì´¿",28,"ìµìµžìµŸÐ",5,"ÐЖ",25], +["acd1","а",5,"ёж",25], +["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"ìµ¹",7], +["ad61","ì¶",6,"춉",10,"춖춗춙춚춛ì¶ì¶žì¶Ÿ"], +["ad81","ì¶ ì¶¡ì¶¢ì¶£ì¶¦ì¶¨ì¶ª",5,"ì¶±",18,"ì·…"], +["ae41","ì·†",5,"ì·ì·Žì·ì·‘",16], +["ae61","ì·¢",5,"췩췪췫ì·ì·®ì·¯ì·±",6,"췺췼췾",4], +["ae81","츃츅츆츇츉츊츋ì¸",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"], +["af41","츬ì¸ì¸®ì¸¯ì¸²ì¸´ì¸¶",19], +["af61","칊",13,"칚칛ì¹ì¹žì¹¢",5,"칪칬"], +["af81","ì¹®",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"], +["b041","캚",5,"캢캦",5,"캮",12], +["b061","캻",5,"컂",19], +["b081","ì»–",13,"컦컧컩컪ì»",6,"컶컺",5,"ê°€ê°ê°„갇갈갉갊ê°",7,"ê°™",4,"ê° ê°¤ê°¬ê°ê°¯ê°°ê°±ê°¸ê°¹ê°¼ê±€ê±‹ê±ê±”걘걜거걱건걷걸걺검ê²ê²ƒê²„겅겆겉겊겋게ê²ê²”겜ê²ê²Ÿê² 겡겨격겪견겯결겸겹겻겼경ê³ê³„ê³ˆê³Œê³•ê³—ê³ ê³¡ê³¤ê³§ê³¨ê³ªê³¬ê³¯ê³°ê³±ê³³ê³µê³¶ê³¼ê³½ê´€ê´„ê´†"], +["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"ì¼ì¼žì¼Ÿì¼¡ì¼¢ì¼£"], +["b161","ì¼¥",6,"켮켲",5,"ì¼¹",11], +["b181","ì½…",14,"콖콗콙콚콛ì½",6,"콦콨콪콫콬괌ê´ê´ê´‘ê´˜ê´œê´ ê´©ê´¬ê´ê´´ê´µê´¸ê´¼êµ„굅굇굉êµêµ”굘굡굣구êµêµ°êµ³êµ´êµµêµ¶êµ»êµ¼êµ½êµ¿ê¶ê¶‚궈궉권ê¶ê¶œê¶ê¶¤ê¶·ê·€ê·ê·„ê·ˆê·ê·‘ê·“ê·œê· ê·¤ê·¸ê·¹ê·¼ê·¿ê¸€ê¸ê¸ˆê¸‰ê¸‹ê¸ê¸”기긱긴긷길긺김ê¹ê¹ƒê¹…깆깊까ê¹ê¹Žê¹ê¹”깖깜ê¹ê¹Ÿê¹ 깡깥깨깩깬깰깸"], +["b241","ì½ì½®ì½¯ì½²ì½³ì½µì½¶ì½·ì½¹",6,"ì¾ì¾‚쾃쾄쾆",5,"ì¾"], +["b261","쾎",18,"ì¾¢",5,"쾩"], +["b281","쾪",5,"ì¾±",18,"ì¿…",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌ê»ê»ê»ê»‘께껙껜껨껫ê»ê»´ê»¸ê»¼ê¼‡ê¼ˆê¼ê¼ê¼¬ê¼ê¼°ê¼²ê¼´ê¼¼ê¼½ê¼¿ê½ê½‚꽃꽈꽉ê½ê½œê½ê½¤ê½¥ê½¹ê¾€ê¾„꾈ê¾ê¾‘꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋ê¿ê¿Žê¿”꿜꿨꿩꿰꿱꿴꿸뀀ë€ë€„뀌ë€ë€”뀜ë€ë€¨ë„ë…ëˆëŠëŒëŽë“ë”ë•ë—ë™"], +["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"], +["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿í€í€‚퀃퀅",5], +["b381","퀋",5,"퀒",5,"퀙",19,"ëë¼ë½ë‚€ë‚„낌ë‚ë‚ë‚‘ë‚˜ë‚™ë‚šë‚œë‚Ÿë‚ ë‚¡ë‚¢ë‚¨ë‚©ë‚«",4,"낱낳내낵낸낼냄냅냇냈냉ëƒëƒ‘ëƒ”ëƒ˜ëƒ ëƒ¥ë„ˆë„‰ë„‹ë„Œë„넒넓넘넙넛넜ë„넣네넥넨넬넴넵넷넸넹녀ë…ë…„ë…ˆë…ë…‘ë…”ë…•ë…˜ë…œë… ë…¸ë…¹ë…¼ë†€ë†‚ë†ˆë†‰ë†‹ë†ë†’놓놔놘놜놨뇌ë‡ë‡”뇜ë‡"], +["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"í†íˆíŠ",5], +["b461","í‘í’í“í•í–í—í™",6,"í¡",10,"í®í¯"], +["b481","í±í²í³íµ",6,"í¾í¿í‚€í‚‚",18,"ë‡Ÿë‡¨ë‡©ë‡¬ë‡°ë‡¹ë‡»ë‡½ëˆ„ëˆ…ëˆˆëˆ‹ëˆŒëˆ”ëˆ•ëˆ—ëˆ™ëˆ ëˆ´ëˆ¼ë‰˜ë‰œë‰ ë‰¨ë‰©ë‰´ë‰µë‰¼ëŠ„ëŠ…ëŠ‰ëŠëŠ‘ëŠ”ëŠ˜ëŠ™ëŠšëŠ ëŠ¡ëŠ£ëŠ¥ëŠ¦ëŠªëŠ¬ëŠ°ëŠ´ë‹ˆë‹‰ë‹Œë‹ë‹’님닙닛ë‹ë‹¢ë‹¤ë‹¥ë‹¦ë‹¨ë‹«",4,"닳담답닷",4,"닿대ëŒëŒ„댈ëŒëŒ‘댓댔댕댜ë”ë•ë–ë˜ë›ëœëžëŸë¤ë¥"], +["b541","í‚•",14,"킦킧킩킪킫í‚",5], +["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4], +["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"ë§ë©ë«ë®ë°ë±ë´ë¸ëŽ€ëŽëŽƒëŽ„ëŽ…ëŽŒëŽëŽ”ëŽ ëŽ¡ëŽ¨ëŽ¬ë„ë…ëˆë‹ëŒëŽëë”ë•ë—ë™ë›ëë ë¤ë¨ë¼ëë˜ëœë ë¨ë©ë«ë´ë‘ë‘‘ë‘”ë‘˜ë‘ ë‘¡ë‘£ë‘¥ë‘¬ë’€ë’ˆë’뒤뒨뒬뒵뒷뒹듀듄듈ë“듕드ë“ë“ ë“£ë“¤ë“¦ë“¬ë“듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"], +["b641","í„…",7,"턎",17], +["b661","í„ ",15,"턲턳턵턶턷턹턻턼턽턾"], +["b681","í„¿í…‚í…†",5,"í…Ží…í…‘í…’í…“í…•",6,"í…ží… í…¢",5,"텩텪텫í…ë•€ë•땃땄땅땋때ë•ë•땔땜ë•ë•Ÿë• ë•¡ë– ë–¡ë–¤ë–¨ë–ªë–«ë–°ë–±ë–³ë–´ë–µë–»ë–¼ë–½ë—€ë—„ë—Œë—ë—ë—뗑뗘뗬ë˜ë˜‘똔똘똥똬똴뙈뙤뙨뚜ëšëš 뚤뚫뚬뚱뛔뛰뛴뛸뜀ëœëœ…뜨뜩뜬뜯뜰뜸뜹뜻ë„ëˆëŒë”ë•ë ë¤ë¨ë°ë±ë³ëµë¼ë½ëž€ëž„람ëžëžëžëž‘ëž’ëž–ëž—"], +["b741","í…®",13,"í…½",6,"톅톆톇톉톊"], +["b761","톋",20,"톢톣톥톦톧"], +["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿í‡",14,"ëž˜ëž™ëžœëž ëž¨ëž©ëž«ëž¬ëžëž´ëžµëž¸ëŸ‡ëŸ‰ëŸ¬ëŸëŸ°ëŸ´ëŸ¼ëŸ½ëŸ¿ë €ë ë ‡ë ˆë ‰ë Œë ë ˜ë ™ë ›ë ë ¤ë ¥ë ¨ë ¬ë ´ë µë ·ë ¸ë ¹ë¡€ë¡„ë¡‘ë¡“ë¡œë¡ë¡ 롤롬ë¡ë¡¯ë¡±ë¡¸ë¡¼ë¢ë¢¨ë¢°ë¢´ë¢¸ë£€ë£ë£ƒë£…료ë£ë£”ë£ë£Ÿë£¡ë£¨ë£©ë£¬ë£°ë£¸ë£¹ë£»ë£½ë¤„ë¤˜ë¤ ë¤¼ë¤½ë¥€ë¥„ë¥Œë¥ë¥‘ë¥˜ë¥™ë¥œë¥ ë¥¨ë¥©"], +["b841","í‡",7,"퇙",17], +["b861","퇫",8,"퇵퇶퇷퇹",13], +["b881","툈툊",5,"툑",24,"륫ë¥ë¥´ë¥µë¥¸ë¥¼ë¦„릅릇릉릊ë¦ë¦Žë¦¬ë¦ë¦°ë¦´ë¦¼ë¦½ë¦¿ë§ë§ˆë§‰ë§Œë§Ž",4,"맘맙맛ë§ë§žë§¡ë§£ë§¤ë§¥ë§¨ë§¬ë§´ë§µë§·ë§¸ë§¹ë§ºë¨€ë¨ë¨ˆë¨•머먹먼멀멂멈멉멋ë©ë©Žë©“메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"], +["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"], +["b961","í‰",14,"í‰",6,"퉥퉦퉧퉨"], +["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄ë¬ë¬ë¬‘ë¬˜ë¬œë¬ ë¬©ë¬«ë¬´ë¬µë¬¶ë¬¸ë¬»ë¬¼ë¬½ë¬¾ë„ë…ë‡ë‰ëëëë”ë˜ë¡ë£ë¬ë®ˆë®Œë®ë®¤ë®¨ë®¬ë®´ë®·ë¯€ë¯„믈ë¯ë¯“미믹민믿밀밂밈밉밋밌ë°ë°ë°‘ë°”",4,"ë°›",4,"밤밥밧방ë°ë°°ë°±ë°´ë°¸ë±€ë±ë±ƒë±„뱅뱉뱌ë±ë±ë±ë²„벅번벋벌벎범법벗"], +["ba41","íŠíŠŽíŠíŠ’íŠ“íŠ”íŠ–",5,"íŠíŠžíŠŸíŠ¡íŠ¢íŠ£íŠ¥",6,"íŠ"], +["ba61","튮튯튰튲",5,"튺튻튽튾í‹í‹ƒ",4,"틊틌",5], +["ba81","틒틓틕틖틗틙틚틛í‹",6,"틦",9,"í‹²í‹³í‹µí‹¶í‹·í‹¹í‹ºë²™ë²šë² ë²¡ë²¤ë²§ë²¨ë²°ë²±ë²³ë²´ë²µë²¼ë²½ë³€ë³„ë³ë³ë³ë³‘볕볘볜보복볶본볼봄봅봇봉ë´ë´”봤봬뵀뵈뵉뵌ëµëµ˜ëµ™ëµ¤ëµ¨ë¶€ë¶ë¶„붇불붉붊ë¶ë¶‘붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브ë¸ë¸ë¸”븜ë¸ë¸Ÿë¹„ë¹…ë¹ˆë¹Œë¹Žë¹”ë¹•ë¹—ë¹™ë¹šë¹›ë¹ ë¹¡ë¹¤"], +["bb41","í‹»",4,"팂팄팆",5,"íŒíŒ‘팒팓팕팗",4,"팞팢팣"], +["bb61","팤팦팧팪팫íŒíŒ®íŒ¯íŒ±",6,"팺팾",5,"í†í‡íˆí‰"], +["bb81","íŠ",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌ëºëºëºëº‘뺘뺙뺨ë»ë»‘ë»”ë»—ë»˜ë» ë»£ë»¤ë»¥ë»¬ë¼ë¼ˆë¼‰ë¼˜ë¼™ë¼›ë¼œë¼ë½€ë½ë½„뽈ë½ë½‘뽕뾔뾰뿅뿌ë¿ë¿ë¿”뿜뿟뿡쀼ì‘ì˜ìœì ì¨ì©ì‚ì‚‘ì‚”ì‚˜ì‚ ì‚¡ì‚£ì‚¥ì‚¬ì‚삯산삳살삵삶삼삽삿샀ìƒìƒ…새색샌ìƒìƒ˜ìƒ™ìƒ›ìƒœìƒìƒ¤"], +["bc41","íª",17,"í¾í¿íŽíŽ‚íŽƒíŽ…íŽ†íŽ‡"], +["bc61","펈펉펊펋펎펒",5,"펚펛íŽíŽžíŽŸíŽ¡",6,"펪펬펮"], +["bc81","펯",4,"펵펶펷펹펺펻펽",6,"í†í‡íŠ",5,"í‘",5,"샥샨샬샴샵샷샹섀섄섈ì„섕서",4,"섣설섦섧섬ì„섯섰성섶세섹센셀셈셉셋셌ì…셔셕션셜셤셥셧셨셩셰셴셸솅소ì†ì†Žì†ì†”솖솜ì†ì†Ÿì†¡ì†¥ì†¨ì†©ì†¬ì†°ì†½ì‡„ì‡ˆì‡Œì‡”ì‡—ì‡˜ì‡ ì‡¤ì‡¨ì‡°ì‡±ì‡³ì‡¼ì‡½ìˆ€ìˆ„ìˆŒìˆìˆìˆ‘ìˆ˜ìˆ™ìˆœìˆŸìˆ ìˆ¨ìˆ©ìˆ«ìˆ"], +["bd41","í—í™",7,"í¢í¤",7,"í®í¯í±í²í³íµí¶í·"], +["bd61","í¸í¹íºí»í¾í€í‚",5,"í‰",13], +["bd81","í—",5,"íž",25,"숯숱숲숴쉈ì‰ì‰‘ì‰”ì‰˜ì‰ ì‰¥ì‰¬ì‰ì‰°ì‰´ì‰¼ì‰½ì‰¿ìŠìŠˆìŠ‰ìŠìŠ˜ìŠ›ìŠìŠ¤ìŠ¥ìŠ¨ìŠ¬ìŠìŠ´ìŠµìŠ·ìŠ¹ì‹œì‹ì‹ 싣실싫심ì‹ì‹¯ì‹±ì‹¶ì‹¸ì‹¹ì‹»ì‹¼ìŒ€ìŒˆìŒ‰ìŒŒìŒìŒ“쌔쌕쌘쌜쌤쌥쌨쌩ì…ì¨ì©ì¬ì°ì²ì¸ì¹ì¼ì½ìŽ„ìŽˆìŽŒì€ì˜ì™ìœìŸì ì¢ì¨ì©ìì´ìµì¸ìˆìì¤ì¬ì°"], +["be41","í¸",7,"í‘푂푃푅",14], +["be61","í‘”",7,"í‘푞푟푡푢푣푥",7,"푮푰푱푲"], +["be81","푳",4,"푺푻푽푾í’í’ƒ",4,"풊풌풎",5,"í’•",8,"ì´ì¼ì½ì‘ˆì‘¤ì‘¥ì‘¨ì‘¬ì‘´ì‘µì‘¹ì’€ì’”쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀ì”씌ì”씔씜씨씩씬씰씸씹씻씽아악안앉않알ì•앎앓암압앗았앙ì•ì•žì• ì•¡ì•¤ì•¨ì•°ì•±ì•³ì•´ì•µì•¼ì•½ì–€ì–„ì–‡ì–Œì–ì–ì–‘ì–•ì–—ì–˜ì–œì– ì–©ì–´ì–µì–¸ì–¹ì–»ì–¼ì–½ì–¾ì—„",6,"엌엎"], +["bf41","í’ž",10,"í’ª",14], +["bf61","í’¹",18,"í“퓎í“í“‘í“’í““í“•"], +["bf81","í“–",5,"í“í“ží“ ",7,"퓩퓪퓫í“퓮퓯퓱",6,"퓹퓺퓼ì—ì—‘ì—”ì—˜ì— ì—¡ì—£ì—¥ì—¬ì—엮연열엶엷염",5,"옅옆옇예옌ì˜ì˜˜ì˜™ì˜›ì˜œì˜¤ì˜¥ì˜¨ì˜¬ì˜ì˜®ì˜°ì˜³ì˜´ì˜µì˜·ì˜¹ì˜»ì™€ì™ì™„왈ì™ì™‘왓왔왕왜ì™ì™ 왬왯왱외왹왼욀욈욉욋ìšìš”욕욘욜욤욥욧용우욱운울욹욺움ì›ì›ƒì›…워ì›ì›ì›”웜ì›ì› 웡웨"], +["c041","퓾",5,"픅픆픇픉픊픋í”",6,"픖픘",5], +["c061","픞",25], +["c081","픸픹픺픻픾픿í•핂핃핅",6,"핎í•í•’",5,"핚핛í•í•ží•Ÿí•¡í•¢í•£ì›©ì›¬ì›°ì›¸ì›¹ì›½ìœ„ìœ…ìœˆìœŒìœ”ìœ•ìœ—ìœ™ìœ ìœ¡ìœ¤ìœ¨ìœ°ìœ±ìœ³ìœµìœ·ìœ¼ìœ½ì€ì„ìŠìŒììì‘",7,"ìœì ì¨ì«ì´ìµì¸ì¼ì½ì¾ìžƒìž„입잇있잉잊잎ìžìž‘ìž”ìž–ìž—ìž˜ìžšìž ìž¡ìž£ìž¤ìž¥ìž¦ìž¬ìžìž°ìž´ìž¼ìž½ìž¿ìŸ€ìŸìŸˆìŸ‰ìŸŒìŸŽìŸìŸ˜ìŸìŸ¤ìŸ¨ìŸ¬ì €ì ì „ì ˆì Š"], +["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"], +["c161","í–Œí–í–Ží–í–‘",19,"햦햧"], +["c181","í–¨",31,"ì ì ‘ì “ì •ì –ì œì ì ì ¤ì ¬ì ì ¯ì ±ì ¸ì ¼ì¡€ì¡ˆì¡‰ì¡Œì¡ì¡”조족존졸졺좀ì¢ì¢ƒì¢…좆좇좋좌ì¢ì¢”ì¢ì¢Ÿì¢¡ì¢¨ì¢¼ì¢½ì£„ì£ˆì£Œì£”ì£•ì£—ì£™ì£ ì£¡ì£¤ì£µì£¼ì£½ì¤€ì¤„ì¤…ì¤†ì¤Œì¤ì¤ì¤‘줘줬줴ì¥ì¥‘ì¥”ì¥˜ì¥ ì¥¡ì¥£ì¥¬ì¥°ì¥´ì¥¼ì¦ˆì¦‰ì¦Œì¦ì¦˜ì¦™ì¦›ì¦ì§€ì§ì§„짇질짊ì§ì§‘ì§“"], +["c241","í—Ší—‹í—í—Ží—í—‘í—“",4,"헚헜헞",5,"헦헧헩헪헫í—í—®"], +["c261","í—¯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"], +["c281","혖",5,"í˜í˜ží˜Ÿí˜¡í˜¢í˜£í˜¥",7,"혮",9,"혺혻징짖짙짚짜ì§ì§ 짢짤짧짬ì§ì§¯ì§°ì§±ì§¸ì§¹ì§¼ì¨€ì¨ˆì¨‰ì¨‹ì¨Œì¨ì¨”쨘쨩쩌ì©ì©ì©”쩜ì©ì©Ÿì© 쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌ì«ì«ì«‘ì«“ì«˜ì«™ì« ì«¬ì«´ì¬ˆì¬ì¬”ì¬˜ì¬ ì¬¡ììˆì‰ìŒìì˜ì™ìì¤ì¸ì¹ì®œì®¸ì¯”쯤쯧쯩찌ì°ì°ì°”ì°œì°ì°¡ì°¢ì°§ì°¨ì°©ì°¬ì°®ì°°ì°¸ì°¹ì°»"], +["c341","혽혾혿í™í™‚홃홄홆홇홊홌홎í™í™í™’홓홖홗홙홚홛í™",4], +["c361","홢",4,"홨홪",5,"홲홳홵",11], +["c381","íšíš‚횄횆",5,"횎íšíš‘횒횓횕",7,"íšžíš íš¢",5,"íš©íšªì°¼ì°½ì°¾ì±„ì±…ì±ˆì±Œì±”ì±•ì±—ì±˜ì±™ì± ì±¤ì±¦ì±¨ì±°ì±µì²˜ì²™ì²œì² ì²¨ì²©ì²«ì²¬ì²ì²´ì²µì²¸ì²¼ì³„쳅쳇쳉ì³ì³”쳤쳬쳰ì´ì´ˆì´‰ì´Œì´ì´˜ì´™ì´›ì´ì´¤ì´¨ì´¬ì´¹ìµœìµ 쵤쵬ìµìµ¯ìµ±ìµ¸ì¶ˆì¶”축춘출춤춥춧충춰췄췌ì·ì·¨ì·¬ì·°ì·¸ì·¹ì·»ì·½ì¸„ì¸ˆì¸Œì¸”ì¸™ì¸ ì¸¡ì¸¤ì¸¨ì¸°ì¸±ì¸³ì¸µ"], +["c441","íš«íšíš®íš¯íš±",7,"횺횼",7,"훆훇훉훊훋"], +["c461","í›í›Ží›í›í›’훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4], +["c481","훮훯훱훲훳훴훶",5,"훾훿íœíœ‚휃휅",11,"íœ’íœ“íœ”ì¹˜ì¹™ì¹œì¹Ÿì¹ ì¹¡ì¹¨ì¹©ì¹«ì¹ì¹´ì¹µì¹¸ì¹¼ìº„캅캇캉ìºìº‘ìº”ìº˜ìº ìº¡ìº£ìº¤ìº¥ìº¬ìºì»ì»¤ì»¥ì»¨ì»«ì»¬ì»´ì»µì»·ì»¸ì»¹ì¼€ì¼ì¼„켈ì¼ì¼‘ì¼“ì¼•ì¼œì¼ ì¼¤ì¼¬ì¼ì¼¯ì¼°ì¼±ì¼¸ì½”ì½•ì½˜ì½œì½¤ì½¥ì½§ì½©ì½°ì½±ì½´ì½¸ì¾€ì¾…ì¾Œì¾¡ì¾¨ì¾°ì¿„ì¿ ì¿¡ì¿¤ì¿¨ì¿°ì¿±ì¿³ì¿µì¿¼í€€í€„í€‘í€˜í€í€´í€µí€¸í€¼"], +["c541","휕휖휗휚휛íœíœžíœŸíœ¡",6,"휪휬휮",5,"휶휷휹"], +["c561","휺휻휽",6,"í…í†íˆíŠ",5,"í’í“í•íš",4], +["c581","íŸí¢í¤í¦í§í¨íªí«íí®í¯í±í²í³íµ",6,"í¾í¿íž€íž‚",5,"힊힋í„í…í‡í‰íí”í˜í í¬íí°í´í¼í½í‚키킥킨킬킴킵킷킹타íƒíƒ„탈탉íƒíƒ‘탓탔탕태íƒíƒ 탤탬íƒíƒ¯íƒ°íƒ±íƒ¸í„터턱턴털턺텀í…텃텄텅테í…í…텔템í…í…Ÿí…¡í…¨í…¬í…¼í†„í†ˆí† í†¡í†¤í†¨í†°í†±í†³í†µí†ºí†¼í‡€í‡˜í‡´í‡¸íˆ‡íˆ‰íˆíˆ¬íˆíˆ°íˆ´íˆ¼íˆ½íˆ¿í‰í‰ˆí‰œ"], +["c641","ížížŽížíž‘",6,"힚힜힞",5], +["c6a1","퉤튀íŠíŠ„íŠˆíŠíŠ‘íŠ•íŠœíŠ íŠ¤íŠ¬íŠ±íŠ¸íŠ¹íŠ¼íŠ¿í‹€í‹‚í‹ˆí‹‰í‹‹í‹”í‹˜í‹œí‹¤í‹¥í‹°í‹±í‹´í‹¸íŒ€íŒíŒƒíŒ…파íŒíŒŽíŒíŒ”팖팜íŒíŒŸíŒ 팡팥패팩팬팰팸팹팻팼팽í„í…í¼í½íŽ€íŽ„íŽŒíŽíŽíŽíŽ‘íŽ˜íŽ™íŽœíŽ íŽ¨íŽ©íŽ«íŽíŽ´íŽ¸íŽ¼í„í…íˆí‰íí˜í¡í£í¬íí°í´í¼í½í¿í"], +["c7a1","íˆíí‘€í‘„í‘œí‘ í‘¤í‘푯푸푹푼푿풀풂품풉풋í’풔풩퓌í“퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌í•í•í•‘í•˜í•™í•œí• í•¥í•¨í•©í•«í•해핵핸핼햄햅햇했행í–향허헉헌í—헒험헙헛í—헤헥헨헬헴헵헷헹혀í˜í˜„혈í˜í˜‘í˜“í˜”í˜•í˜œí˜ "], +["c8a1","혤í˜í˜¸í˜¹í˜¼í™€í™…홈홉홋í™í™‘화확환활홧황홰홱홴횃횅회íšíšíš”íšíšŸíš¡íš¨íš¬íš°íš¹íš»í›„í›…í›ˆí›Œí›‘í›”í›—í›™í› í›¤í›¨í›°í›µí›¼í›½íœ€íœ„íœ‘íœ˜íœ™íœœíœ íœ¨íœ©íœ«íœíœ´íœµíœ¸íœ¼í„í‡í‰íí‘í”í–í—í˜í™í í¡í£í¥í©í¬í°í´í¼í½ížížˆíž‰ížŒížíž˜íž™íž›íž"], +["caa1","伽佳å‡åƒ¹åŠ å¯å‘µå“¥å˜‰å«å®¶æš‡æž¶æž·æŸ¯æŒç‚痂稼苛茄街袈訶賈è·è»»è¿¦é§•刻å´å„æªæ…¤æ®¼çè„šè¦ºè§’é–£ä¾ƒåˆŠå¢¾å¥¸å§¦å¹²å¹¹æ‡‡æ€æ†æŸ¬æ¡¿æ¾—癎看磵稈竿簡è‚è‰®è‰±è««é–“ä¹«å–æ›·æ¸´ç¢£ç«è‘›è¤èŽéž¨å‹˜åŽå ªåµŒæ„Ÿæ†¾æˆ¡æ•¢æŸ‘橄減甘疳監瞰紺邯鑑鑒龕"], +["cba1","åŒ£å²¬ç”²èƒ›é‰€é–˜å‰›å ˆå§œå²¡å´—åº·å¼ºå½Šæ…·æ±Ÿç•ºç–†ç³ çµ³ç¶±ç¾Œè…”èˆ¡è–‘è¥è¬›é‹¼é™é±‡ä»‹ä»·å€‹å‡±å¡æ„·æ„¾æ…¨æ”¹æ§ªæ¼‘疥皆盖箇芥蓋豈鎧開喀客å‘ï¤ç²³ç¾¹é†µå€¨åŽ»å±…å·¨æ‹’æ®æ“šæ“§æ¸ ç‚¬ç¥›è·è¸žï¤‚é½é‰…鋸乾件å¥å·¾å»ºæ„†æ¥—腱虔蹇éµé¨«ä¹žå‚‘æ°æ¡€å„‰åŠåŠ’æª¢"], +["cca1","çž¼éˆé»”åŠ«æ€¯è¿²åˆæ†©ææ“Šæ ¼æª„æ¿€è†ˆè¦¡éš”å …ç‰½çŠ¬ç”„çµ¹ç¹è‚©è¦‹è´é£éµ‘抉決潔çµç¼ºè¨£å…¼æ…Šç®è¬™é‰—鎌京俓倞傾儆å‹å‹å¿å°å¢ƒåºšå¾‘慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖è¦è¼•逕é¡é ƒé ¸é©šé¯¨ä¿‚å•“å ºå¥‘å£å±†æ‚¸æˆ’桂械"], +["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄å¤å©å‘Šå‘±å›ºå§‘å¤å°»åº«æ‹·æ”·æ•…æ•²æš æž¯æ§æ²½ç—¼çšç¾ç¨¿ç¾”考股è†è‹¦è‹½è°è—è ±è¢´èª¥ï¤ƒè¾œéŒ®é›‡é¡§é«˜é¼“å“æ–›æ›²æ¢ç©€è°·éµ å›°å¤å´‘æ˜†æ¢±æ£æ»¾ç¨è¢žé¯¤æ±¨ï¤„骨供公共功å”å·¥æææ‹±æŽ§æ”»ç™ç©ºèš£è²¢éžä¸²å¯¡æˆˆæžœç“œ"], +["cea1","ç§‘è“誇課跨éŽé‹é¡†å»“槨藿éƒï¤…å† å®˜å¯¬æ…£æ£ºæ¬¾çŒç¯ç“˜ç®¡ç½è…è§€è²«é—œé¤¨åˆ®ææ‹¬é€‚ä¾Šå…‰åŒ¡å£™å»£æ› æ´¸ç‚šç‹‚ç–çèƒ±é‘›å¦æŽ›ç½«ä¹–å‚€å¡Šå£žæ€ªæ„§æ‹æ§éå®ç´˜è‚±è½Ÿäº¤åƒ‘å’¬å–¬å¬Œå¶ å·§æ”ªæ•Žæ ¡æ©‹ç‹¡çšŽçŸ¯çµžç¿¹è† è•Žè›Ÿè¼ƒè½ŽéƒŠé¤ƒé©•é®«ä¸˜ä¹…ä¹ä»‡ä¿±å…·å‹¾"], +["cfa1","å€å£å¥å’Žå˜”åµåž¢å¯‡å¶‡å»æ‡¼æ‹˜æ•‘æž¸æŸ©æ§‹ææ¯†æ¯¬æ±‚æºç¸ç‹—玖çƒçž¿çŸ©ç©¶çµ¿è€‰è‡¼èˆ…舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局èŠéž 鞫麴å›çª˜ç¾¤è£™è»éƒ¡å €å±ˆæŽ˜çªŸå®®å¼“穹窮芎躬倦券勸å·åœˆæ‹³æ²æ¬Šæ·ƒçœ·åŽ¥ç—蕨蹶闕机櫃潰è©è»Œé¥‹ï¤†æ™·æ¸è²´"], +["d0a1","鬼龜å«åœå¥Žæ†æ§»çªç¡…窺竅糾葵è¦èµ³é€µé–¨å‹»å‡ç•‡ç èŒéˆžï¤ˆæ©˜å…‹å‰‹åŠ‡æˆŸæ£˜æ¥µéš™åƒ…åŠ¤å‹¤æ‡ƒæ–¤æ ¹æ§¿ç‘¾ç‹èйè«è¦²è¬¹è¿‘饉契今妗擒昑檎ç´ç¦ç¦½èŠ©è¡¾è¡¿è¥Ÿï¤ŠéŒ¦ä¼‹åŠæ€¥æ‰±æ±²ç´šçµ¦äº˜å…¢çŸœè‚¯ä¼ä¼Žå…¶å†€å—œå™¨åœ»åŸºåŸ¼å¤”奇妓寄å²å´Žå·±å¹¾å¿ŒæŠ€æ——æ—£"], +["d1a1","æœžæœŸæžæ£‹æ£„機欺氣汽沂淇玘ç¦çªç’‚璣畸畿ç¢ç£¯ç¥ç¥‡ç¥ˆç¥ºç®•紀綺羈耆è€è‚Œè¨˜è豈起錡錤飢饑騎é¨é©¥éº’ç·Šä½¶å‰æ‹®æ¡”é‡‘å–«å„ºï¤‹ï¤Œå¨œæ‡¦ï¤æ‹æ‹¿ï¤Ž",5,"那樂",4,"諾酪駱亂卵暖ï¤ç…–ï¤žï¤Ÿé›£ï¤ ææºå—ï¤¡æžæ¥ 湳濫男藍襤拉"], +["d2a1","ç´ï¤¦ï¤§è¡²å›Šå¨˜ï¤¨",4,"乃ï¤å…§å¥ˆæŸ°è€ï¤®å¥³å¹´æ’šç§Šå¿µæ¬æ‹ˆæ»å¯§å¯—努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥æ»ç´ï¥’",5,"能菱陵尼泥匿溺多茶"], +["d3a1","丹亶但單團壇彖斷旦檀段æ¹çŸç«¯ç°žç·žè›‹è¢’鄲雿’»æ¾¾çºç–¸é”啖忆ºæ“”æ›‡æ·¡æ¹›æ½æ¾¹ç—°èƒè†½è•覃談èšéŒŸæ²“ç•“ç”è¸éå”å ‚å¡˜å¹¢æˆ‡æ’žæ£ ç•¶ç³–èž³é»¨ä»£åžˆå®å¤§å°å²±å¸¶å¾…æˆ´æ“¡çŽ³è‡ºè¢‹è²¸éšŠé»›å®…å¾·æ‚³å€’åˆ€åˆ°åœ–å µå¡—å°Žå± å³¶å¶‹åº¦å¾’æ‚¼æŒ‘æŽ‰æ—æ¡ƒ"], +["d4a1","棹櫂淘渡滔濤燾盜ç¹ç¦±ç¨»è„覩è³è·³è¹ˆé€ƒé€”é“都é陶韜毒瀆牘犢ç¨ç£ç¦¿ç¯¤çº›è®€å¢©æƒ‡æ•¦æ—½æš¾æ²Œç„žç‡‰è±šé “ä¹çªä»å†¬å‡å‹•åŒæ†§æ±æ¡æ£Ÿæ´žæ½¼ç–¼çž³ç«¥èƒ´è‘£éŠ…å…œæ–—æœæž“痘竇è³ï¥šè±†é€—é 屯臀芚éé¯éˆå¾—å¶æ©™ç‡ˆç™»ç‰è—¤è¬„鄧騰喇懶拏癩羅"], +["d5a1","蘿螺裸é‚樂洛烙çžçµ¡è½ï¥é…ªé§±ï¥žäº‚嵿¬„欒瀾爛è˜é¸žå‰Œè¾£åµæ“¥æ”¬æ¬–濫籃纜è—è¥¤è¦½æ‹‰è‡˜è Ÿå»Šæœ—æµªç‹¼ç…瑯螂郞來å´å¾ èŠå†·æŽ ç•¥äº®å€†å…©å‡‰æ¢æ¨‘粮粱糧良諒輛é‡ä¾¶å„·å‹µå‘‚å»¬æ…®æˆ¾æ—…æ«šæ¿¾ç¤ªè—œè £é–驢驪麗黎力曆æ·ç€ç¤«è½¢é‚æ†æˆ€æ”£æ¼£"], +["d6a1","煉璉練è¯è“®è¼¦é€£éŠå†½åˆ—劣洌烈裂廉斂殮濂簾çµä»¤ä¼¶å›¹ï¥Ÿå²ºå¶ºæ€œç޲ç¬ç¾šç¿Žè†é€žéˆ´é›¶éˆé ˜é½¡ä¾‹æ¾§ç¦®é†´éš·å‹žï¥ 撈擄櫓潞瀘çˆç›§è€è˜†è™œè·¯è¼…露é¯é·ºé¹µç¢Œç¥¿ç¶ è‰éŒ„鹿麓論壟弄朧瀧ç“ç± è¾å„¡ç€¨ç‰¢ç£Šè³‚賚賴雷了僚寮廖料燎療çžèŠè“¼"], +["d7a1","é¼é¬§é¾å£˜å©å±¢æ¨“æ·šæ¼ç˜»ç´¯ç¸·è”žè¤¸é¤é™‹åŠ‰æ—’æŸ³æ¦´æµæºœç€ç‰ç‘ ç•™ç˜¤ç¡«è¬¬é¡žå…æˆ®é™¸ä¾–å€«å´™æ·ªç¶¸è¼ªå¾‹æ…„æ —ï¥¡éš†å‹’è‚‹å‡œå‡Œæ¥žç¨œç¶¾è±é™µä¿šåˆ©åŽ˜åå”Žå±¥æ‚§æŽæ¢¨æµ¬çŠç‹¸ç†ç’ƒï¥¢ç—¢ç±¬ç½¹ç¾¸èމè£è£¡é‡Œé‡é›¢é¯‰åæ½¾ç‡ç’˜è—ºèºªéš£é±—麟林淋ç³è‡¨éœ–ç ¬"], +["d8a1","ç«‹ç¬ ç²’æ‘©ç‘ªç—²ç¢¼ç£¨é¦¬é”éº»å¯žå¹•æ¼ è†œèŽ«é‚ˆä¸‡å娩巒彎慢挽晩曼滿漫ç£çžžè¬è”“è »è¼“é¥…é°»å”œæŠ¹æœ«æ²«èŒ‰è¥ªéºäº¡å¦„å¿˜å¿™æœ›ç¶²ç½”èŠ’èŒ«èŽ½è¼žé‚™åŸ‹å¦¹åª’å¯æ˜§æžšæ¢…æ¯ç…¤ç½µè²·è³£é‚é…è„ˆè²Šé™Œé©€éº¥åŸæ°“猛盲盟èŒå†ªè¦“å…å†•å‹‰æ£‰æ²”çœ„çœ ç¶¿ç·¬é¢éºµæ»…"], +["d9a1","蔑冥åå‘½æ˜Žæšæ¤§æºŸçš¿çž‘èŒ—è“‚èžŸé…©éŠ˜é³´è¢‚ä¾®å†’å‹Ÿå§†å¸½æ…•æ‘¸æ‘¹æš®æŸæ¨¡æ¯æ¯›ç‰Ÿç‰¡ç‘眸矛耗芼茅謀謨貌木æ²ç‰§ç›®ç¦ç©†é¶©æ¿æ²’夢朦蒙å¯å¢“å¦™å»Ÿææ˜´æ³æ¸ºçŒ«ç«—è‹—éŒ¨å‹™å·«æ†®æ‡‹æˆŠæ‹‡æ’«æ— æ¥™æ¦æ¯‹ç„¡ç·ç•繆舞茂蕪誣貿霧鵡墨默們刎å»å•æ–‡"], +["daa1","æ±¶ç´Šç´‹èžèšŠé–€é›¯å‹¿æ²•物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷é¡é»´å²·æ‚¶æ„æ†«æ•æ—»æ—¼æ°‘泯玟ç‰ç·¡é–”密蜜è¬å‰åšæ‹ææ’²æœ´æ¨¸æ³Šç€ç’žç®”粕縛膊舶薄迫雹é§ä¼´åŠå囿‹Œæ¬æ”€æ–‘槃泮潘ç畔瘢盤盼ç£ç£»ç¤¬çµ†èˆ¬èŸ è¿”é ’é£¯å‹ƒæ‹”æ’¥æ¸¤æ½‘"], +["dba1","發跋醱鉢髮éƒå€£å‚åŠå¦¨å°¨å¹‡å½·æˆ¿æ”¾æ–¹æ—昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防é¾å€ä¿³ï¥£åŸ¹å¾˜æ‹œæŽ’æ¯æ¹ƒç„™ç›ƒèƒŒèƒšè£´è£µè¤™è³ 輩é…é™ªä¼¯ä½°å¸›æŸæ ¢ç™½ç™¾é„幡樊煩燔番磻ç¹è•ƒè—©é£œä¼ç罰閥凡帆梵氾汎泛犯範范法çºåƒ»åŠˆå£æ“˜æª—ç’§ç™–"], +["dca1","碧蘗闢霹便åžå¼è®Šè¾¨è¾¯é‚Šåˆ¥çž¥é±‰é¼ˆä¸™å€‚兵屛幷昞昺柄棅炳ç”病秉ç«è¼§é¤ 騈ä¿å ¡å ±å¯¶æ™®æ¥æ´‘湺潽ç¤ç”«è©è£œè¤“èœè¼”ä¼åƒ•åŒåœå®“復æœç¦è…¹èŒ¯è””複覆輹輻馥鰒本乶俸奉å°å³¯å³°æ§æ£’烽熢ç«ç¸«è“¬èœ‚逢鋒鳳ä¸ä»˜ä¿¯å‚…剖副å¦å’åŸ å¤«å©¦"], +["dda1","åšåµå¯Œåºœï¥¦æ‰¶æ•·æ–§æµ®æº¥çˆ¶ç¬¦ç°¿ç¼¶è…è…‘è†šè‰€èŠ™èŽ©è¨ƒè² è³¦è³»èµ´è¶ºéƒ¨é‡œé˜œé™„é§™é³§åŒ—åˆ†å©å™´å¢³å¥”å¥®å¿¿æ†¤æ‰®æ˜æ±¾ç„šç›†ç²‰ç³žç´›èЬè³é›°ï¥§ä½›å¼—彿拂崩朋棚硼繃鵬丕備匕匪å‘å¦ƒå©¢åº‡æ‚²æ†Šæ‰‰æ‰¹æ–æž‡æ¦§æ¯”毖毗毘沸泌çµç—ºç ’碑秕秘粃緋翡肥"], +["dea1","脾臂è²èœšè£¨èª¹è¬è²»é„™éžé£›é¼»åš¬å¬ªå½¬æ–Œæª³æ®¯æµœæ¿±ç€•ç‰çŽè²§è³“é »æ†‘æ°·è˜é¨ä¹äº‹äº›ä»•伺似使俟僿å²å¸å”†å—£å››å£«å¥¢å¨‘å¯«å¯ºå°„å·³å¸«å¾™æ€æ¨æ–œæ–¯æŸ¶æŸ»æ¢æ»æ²™æ³—渣瀉ç…ç ‚ç¤¾ç¥€ç¥ ç§ç¯©ç´—絲肆èˆèŽŽè“‘è›‡è£Ÿè©è©žè¬è³œèµ¦è¾é‚ªé£¼é§Ÿéºå‰Šï¥©æœ”索"], +["dfa1","傘刪山散汕çŠç”£ç–ç®—è’œé…¸éœ°ä¹·æ’’æ®ºç…žè–©ä¸‰ï¥«æ‰æ£®æ¸—èŠŸè”˜è¡«æ·æ¾éˆ’颯上傷åƒå„Ÿå•†å–ªå˜—å€å°™å³ å¸¸åºŠåº å»‚æƒ³æ¡‘æ©¡æ¹˜çˆ½ç‰€ç‹€ç›¸ç¥¥ç®±ç¿”è£³è§´è©³è±¡è³žéœœå¡žç’½è³½å—‡ï¥¬ç©¡ç´¢è‰²ç‰²ç”Ÿç”¥ï¥ç¬™å¢…壻嶼åºåº¶å¾æ•æŠ’æ¿æ•æš‘æ›™æ›¸æ –æ£²çŠ€ç‘žç®çµ®ç·–ç½²"], +["e0a1","胥舒薯西誓é€é‹¤é»é¼ 夕å¥å¸æƒœæ˜”æ™³æžæ±æ·…潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽ç瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣é¸éŠ‘é¥é¥é®®å¨å±‘楔泄洩渫舌薛褻è¨èªªé›ªé½§å‰¡æš¹æ®²çº–蟾è´é–ƒé™æ”æ¶‰ç‡®ï¥®åŸŽå§“å®¬æ€§æƒºæˆæ˜Ÿæ™ŸçŒ©ç¹ç››çœç¬"], +["e1a1","è–è²è…¥èª é†’ä¸–å‹¢æ²æ´—稅笹細說貰å¬å˜¯å¡‘宵å°å°‘å·¢æ‰€æŽƒæ”æ˜æ¢³æ²¼æ¶ˆæº¯ç€Ÿç‚¤ç‡’甦ç–ç–Žç˜™ç¬‘ç¯ ç°«ç´ ç´¹è”¬è•蘇訴é€é¡é‚µéŠ·éŸ¶é¨·ä¿—å±¬æŸæ¶‘粟續謖贖速å«å·½æè“€éœé£¡çŽ‡å®‹æ‚šæ¾æ·žè¨Ÿèª¦é€é Œåˆ·ï¥°ç‘碎鎖衰釗修å—嗽囚垂壽嫂守岫峀帥æ„"], +["e2a1","æˆæ‰‹æŽˆæœæ”¶æ•¸æ¨¹æ®Šæ°´æ´™æ¼±ç‡§ç‹©ç¸ç‡ç’²ç˜¦ç¡ç§€ç©—竪粹ç¶ç¶¬ç¹¡ç¾žè„©èŒ±è’蓚藪袖誰è®è¼¸é‚é‚ƒé…¬éŠ–éŠ¹éš‹éš§éš¨é›–éœ€é ˆé¦–é«“é¬šå”塾夙å°å®¿æ·‘潚熟ç¡ç’¹è‚…è½å·¡å¾‡å¾ªæ‚æ—¬æ ’æ¥¯æ©“æ®‰æ´µæ·³ç£ç›¾çž¬ç純脣舜è€è“´è•£è©¢è«„é†‡éŒžé †é¦´æˆŒè¡“è¿°é‰¥å´‡å´§"], +["e3a1","嵩瑟è†è¨æ¿•拾習褶襲丞乘僧å‹å‡æ‰¿æ˜‡ç¹©è …陞ä¾åŒ™å˜¶å§‹åª¤å°¸å±Žå±å¸‚å¼‘æƒæ–½æ˜¯æ™‚枾柴猜矢示翅蒔è“è¦–è©¦è©©è«¡è±•è±ºåŸ´å¯”å¼æ¯æ‹æ¤æ®–湜熄篒è•è˜è»¾é£Ÿé£¾ä¼¸ä¾ä¿¡å‘»å¨ 宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心æ²"], +["e4a1","沈深瀋甚芯諶什å拾雙æ°äºžä¿„兒啞娥峨我牙芽莪蛾衙è¨é˜¿é›…餓鴉éµå Šå²³å¶½å¹„æƒ¡æ„•æ¡æ¨‚渥鄂é”顎é°é½·å®‰å²¸æŒ‰æ™æ¡ˆçœ¼é›éžé¡”鮟斡è¬è»‹é–¼å”µå²©å·–庵暗癌è´é—‡å£“æŠ¼ç‹Žé´¨ä»°å¤®æ€æ˜»æ®ƒç§§é´¦åŽ“å“€åŸƒå´–æ„›æ›–æ¶¯ç¢è‰¾éš˜é„厄扼掖液縊腋é¡"], +["e5a1","æ«»ç½Œé¶¯é¸šä¹Ÿå€»å†¶å¤œæƒ¹æ¶æ¤°çˆºè€¶ï¥´é‡Žå¼±ï¥µï¥¶ç´„若葯蒻藥èºï¥·ä½¯ï¥¸ï¥¹å£¤åƒæ™æšæ”˜æ•暘梁楊樣洋ç€ç…¬ç—’ç˜ç¦³ç©°ï¥»ç¾Šï¥¼è¥„諒讓釀陽量養圄御於æ¼ç˜€ç¦¦èªžé¦éšé½¬å„„憶抑æªè‡†åƒå °å½¦ç„‰è¨€è«ºå¼è˜–俺儼嚴奄掩淹嶪æ¥å††äºˆä½™ï¥¿ï¦€ï¦å¦‚廬"], +["e6a1","ï¦ƒæŸæ±ï¦„璵礖礪與艅茹輿è½ï¦†é¤˜ï¦‡ï¦ˆï¦‰äº¦ï¦ŠåŸŸå½¹æ˜“曆歷疫繹è¯ï¦é€†é©›åš¥å §å§¸å¨Ÿå®´ï¦Žå»¶ï¦ï¦ææŒ»ï¦‘椽沇沿涎涓淵演漣烟然煙煉燃燕璉ç¡ç¡¯ï¦•çµç·£ï¦–縯聯è¡è»Ÿï¦˜ï¦™ï¦šé‰›ï¦›é³¶ï¦œï¦ï¦žæ‚…æ¶…ï¦Ÿç†±ï¦ ï¦¡é–±åŽï¦¢ï¦£ï¦¤æŸ“殮炎焰ç°è‰¶è‹’"], +["e7a1","簾閻髥鹽曄獵ç‡è‘‰ï¦¨ï¦©å¡‹ï¦ªï¦«å¶¸å½±ï¦¬æ˜ æšŽæ¥¹æ¦®æ°¸æ³³æ¸¶æ½æ¿šç€›ç€¯ç…營ç°ï¦ç‘›ï¦®ç“”ç›ˆç©Žçº“ï¦¯ï¦°è‹±è© è¿Žï¦±éˆï¦²éœ™ï¦³ï¦´ä¹‚å€ªï¦µåˆˆå¡æ›³æ±æ¿ŠçŒŠç¿ç©¢èŠ®è—蘂禮裔詣è½è±«ï¦·éŠ³ï¦¸éœ“é 五ä¼ä¿‰å‚²åˆå¾å³å—šå¡¢å¢ºå¥§å¨›å¯¤æ‚Ÿï¦¹æ‡Šæ•–旿晤梧汚澳"], +["e8a1","çƒç†¬ç’ç½èœˆèª¤é°²é¼‡å±‹æ²ƒç„玉鈺溫瑥瘟穩縕蘊兀壅æ“瓮甕癰ç¿é‚•é›é¥”渦瓦窩窪臥蛙è¸è¨›å©‰å®Œå®›æ¢¡æ¤€æµ£çŽ©ç“ç¬ç¢—ç·©ç¿«è„˜è…•èŽžè±Œé˜®é ‘æ›°å¾€æ—ºæž‰æ±ªçŽ‹å€å¨ƒæªçŸ®å¤–嵬å·çŒ¥ç•ï¦ºï¦»åƒ¥å‡¹å ¯å¤å¦–å§šå¯¥ï¦¼ï¦½å¶¢æ‹—æ–æ’“擾料曜樂橈燎燿瑤ï§"], +["e9a1","窈窯繇繞耀腰蓼蟯è¦è¬ é™ï§ƒé‚€é¥’慾欲浴縟褥辱俑å‚冗勇埇墉容庸慂榕涌湧溶熔瑢用甬è³èŒ¸è“‰è¸ŠéŽ”éžï§„于佑å¶å„ªåˆå‹å³å®‡å¯“尤愚憂旴牛玗瑀盂ç¥ç¦‘禹紆羽芋藕虞迂é‡éƒµé‡ªéš…é›¨é›©å‹–å½§æ—æ˜±æ ¯ç…œç¨¶éƒé Šäº‘暈橒殞æ¾ç†‰è€˜èŠ¸è•“"], +["eaa1","é‹éš•雲韻蔚鬱äºç†Šé›„å…ƒåŽŸå“¡åœ“åœ’åž£åª›å«„å¯ƒæ€¨æ„¿æ´æ²…洹湲æºçˆ°çŒ¿ç‘—è‹‘è¢è½…é 阮院願鴛月越鉞ä½å‰åƒžå±åœå§”å¨å°‰æ…°æšæ¸çˆ²ç‘‹ç·¯èƒƒèŽè‘¦è”¿èŸè¡›è¤˜è¬‚é•韋é乳侑儒兪劉唯喩åºå®¥å¹¼å¹½åº¾æ‚ æƒŸæ„ˆæ„‰æ„æ”¸æœ‰ï§ˆæŸ”柚柳楡楢油洧流游溜"], +["eba1","濡猶猷琉瑜由ï§ç™’ï§Žï§ç¶è‡¾è¸è£•誘諛è«è¸°è¹‚éŠé€¾éºé…‰é‡‰é®ï§ï§‘å ‰ï§’æ¯“è‚‰è‚²ï§“ï§”å…奫尹崙淪潤玧胤贇輪鈗é–ï§˜ï§™ï§šï§›è¿æˆŽç€œçµ¨èžï§œåž æ©æ…‡æ®·èª¾éŠ€éš±ä¹™åŸæ·«è”é™°éŸ³é£®æ–æ³£é‚‘凿‡‰è†ºé·¹ä¾å€šå„€å®œæ„懿擬椅毅疑矣義艤è–蟻衣誼"], +["eca1","è°é†«äºŒä»¥ä¼Šï§ï§žå¤·å§¨ï§Ÿå·²å¼›å½›æ€¡ï§ 李梨泥爾ç¥ï§¤ç•°ç—痢移罹而耳肄苡è‘裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人ä»åˆƒå°ï§å’½å› å§»å¯…å¼•å¿æ¹®ï§®ï§¯çµªèŒµï§°èš“èªï§±éé·ï§²ï§³ä¸€ä½šä½¾å£¹æ—¥æº¢é€¸éŽ°é¦¹ä»»å£¬å¦Šå§™æï§´ï§µç¨”ï§¶è賃入å„"], +["eda1","立笠粒ä»å‰©å•芿仔刺咨姉姿åå—åœæ£æ…ˆæ»‹ç‚™ç…®çŽ†ç“·ç–µç£ç´«è€…自茨蔗藉諮資雌作勺嚼斫昨ç¼ç‚¸çˆµç¶½èŠé…Œé›€éµ²å±æ£§æ®˜æ½ºç›žå²‘æš«æ½›ç®´ç°ªè ¶é›œä¸ˆä»—åŒ å ´å¢»å£¯å¥¬å°‡å¸³åº„å¼µæŽŒæš²æ–æ¨Ÿæª£æ¬Œæ¼¿ç‰†ï§ºçç’‹ç« ç²§è…¸è‡Ÿè‡§èŽŠè‘¬è”£è–”è—è£è´“醬長"], +["eea1","éšœå†å“‰åœ¨å®°æ‰ææ ½æ¢“渽滓ç½ç¸¡è£è²¡è¼‰é½‹é½Žçˆç®è«éŒšä½‡ä½Žå„²å’€å§åº•æŠµæµæ¥®æ¨—沮渚狙猪疽箸紵苧è¹è‘—藷詛貯躇這邸雎齟勣åŠå«¡å¯‚摘敵滴狄炙的ç©ç¬›ç±ç¸¾ç¿Ÿè»è¬«è³Šèµ¤è·¡è¹Ÿè¿ªè¿¹é©é‘佃佺傳全典å‰å‰ªå¡¡å¡¼å¥ å°ˆå±•å»›æ‚›æˆ°æ “æ®¿æ°ˆæ¾±"], +["efa1","ç…Žç 田甸畑癲çŒç®‹ç®ç¯†çºè©®è¼¾è½‰éˆ¿éŠ“éŒ¢é«é›»é¡šé¡«é¤žåˆ‡æˆªæŠ˜æµ™ç™¤ç«Šç¯€çµ¶å 岾店漸点粘霑鮎點接摺è¶ä¸äº•äºåœåµå‘ˆå§ƒå®šå¹€åºå»·å¾æƒ…æŒºæ”¿æ•´æ—Œæ™¶æ™¸æŸ¾æ¥¨æª‰æ£æ±€æ·€æ·¨æ¸Ÿæ¹žç€žç‚¡çŽŽç½ç”ºç›ç¢‡ç¦Žç¨‹ç©½ç²¾ç¶Žè‰‡è¨‚諪貞é„é…Šé‡˜é‰¦é‹ŒéŒ éœ†é–"], +["f0a1","éœé ‚é¼Žåˆ¶åŠ‘å•¼å ¤å¸å¼Ÿæ‚Œææ¢¯æ¿Ÿç¥ç¬¬è‡è–ºè£½è«¸è¹„é†é™¤éš›éœ½é¡Œé½Šä¿Žå…†å‡‹åŠ©å˜²å¼”å½«æŽªæ“æ—©æ™æ›ºæ›¹æœæ¢æ£—æ§½æ¼•æ½®ç…§ç‡¥çˆªç’ªçœºç¥–ç¥šç§Ÿç¨ çª•ç²—ç³Ÿçµ„ç¹°è‚‡è—»èš¤è©”èª¿è¶™èºé€ é釣阻雕鳥æ—簇足éƒå˜å°Šå’æ‹™çŒå€§å®—從悰慫棕淙ç®ç¨®çµ‚綜縱腫"], +["f1a1","踪踵é¾é˜ä½å左座挫罪主ä½ä¾åšå§èƒ„呪周嗾å¥å®™å·žå»šæ™æœ±æŸ±æ ªæ³¨æ´²æ¹Šæ¾ç‚·ç 疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄é§ç«¹ç²¥ä¿Šå„å‡†åŸˆå¯¯å³»æ™™æ¨½æµšæº–æ¿¬ç„Œç•¯ç«£è ¢é€¡éµé›‹é§¿èŒä¸ä»²è¡†é‡å½æ«›æ¥«æ±è‘ºå¢žæ†Žæ›¾æ‹¯çƒç”‘症繒蒸è‰è´ˆä¹‹åª"], +["f2a1","咫地å€å¿—æŒæŒ‡æ‘¯æ”¯æ—¨æ™ºæžæž³æ¢æ± æ²šæ¼¬çŸ¥ç ¥ç¥‰ç¥—ç´™è‚¢è„‚è‡³èŠèŠ·èœ˜èªŒï§¼è´„è¶¾é²ç›´ç¨™ç¨·ç¹”è·å”‡å—”å¡µæŒ¯æ¢æ™‰æ™‹æ¡æ¦›æ®„津溱ç瑨璡畛疹盡眞瞋秦縉ç¸è‡»è”¯è¢—診賑軫辰進éŽé™£é™³éœ‡ä¾„å±å§ªå«‰å¸™æ¡Žç“†ç–¾ç§©çª’膣è›è³ªè·Œè¿æ–Ÿæœ•什執潗ç·è¼¯"], +["f3a1","é¶é›†å¾µæ‡²æ¾„且侘借å‰å—Ÿåµ¯å·®æ¬¡æ¤ç£‹ç®šï§¾è¹‰è»Šé®æ‰æ¾ç€çª„錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽é¤é¥Œåˆ¹å¯Ÿæ“¦æœç´®åƒåƒå¡¹æ…˜æ…™æ‡ºæ–¬ç«™è®’è®–å€‰å€¡å‰µå”±å¨¼å» å½°æ„´æ•žæ˜Œæ˜¶æš¢æ§æ»„漲猖瘡窓脹艙è–è’¼å‚µåŸ°å¯€å¯¨å½©æŽ¡ç ¦ç¶µèœè”¡é‡‡é‡µå†ŠæŸµç–"], +["f4a1","è²¬å‡„å¦»æ‚½è™•å€œï§¿å‰”å°ºæ…½æˆšæ‹“æ“²æ–¥æ»Œç˜ è„Šè¹ é™Ÿéš»ä»Ÿåƒå–˜å¤©å·æ“…泉淺玔穿舛薦賤è¸é·é‡§é—¡é˜¡éŸ†å‡¸å“²å–†å¾¹æ’¤æ¾ˆç¶´è¼Ÿè½éµåƒ‰å°–æ²¾æ·»ç”›çž»ç°½ç±¤è©¹è«‚å žå¦¾å¸–æ·ç‰’ç–Šç«è«œè²¼è¼’廳晴淸è½èè«‹é‘é¯–ï¨€å‰ƒæ›¿æ¶•æ»¯ç· è«¦é€®éžé«”åˆå‰¿å“¨æ†”抄招梢"], +["f5a1","椒楚樵炒焦ç¡ç¤ç¤Žç§’ç¨è‚–艸苕è‰è•‰è²‚超酢醋醮促囑ç‡çŸ—蜀觸寸忖æ‘邨å¢å¡šå¯µæ‚¤æ†æ‘ 總è°è”¥éŠƒæ’®å‚¬å´”æœ€å¢œæŠ½æŽ¨æ¤Žæ¥¸æ¨žæ¹«çšºç§‹èŠ»è©è«è¶¨è¿½é„’酋醜éŒéŒ˜éŽšé››é¨¶é°ä¸‘畜ç¥ç«ºç‘ç¯‰ç¸®è“„è¹™è¹´è»¸é€æ˜¥æ¤¿ç‘ƒå‡ºæœ®é»œå……å¿ æ²–èŸ²è¡è¡·æ‚´è†µèƒ"], +["f6a1","è´…å–å¹å˜´å¨¶å°±ç‚Šç¿ èšè„†è‡è¶£é†‰é©Ÿé·²å´ä»„åŽ æƒ»æ¸¬å±¤ä¾ˆå€¤å—¤å³™å¹Ÿæ¥æ¢”治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅é£è¦ªä¸ƒæŸ’漆侵寢枕沈浸ç›ç §é‡é¼èŸ„秤稱快他咤唾墮妥惰打拖朶楕舵陀馱é§å€¬å“å•„å¼ï¨æ‰˜ï¨‚æ“¢æ™«æŸæ¿æ¿¯ç¢ç¸è¨—"], +["f7a1","é¸å‘‘嘆å¦å½ˆæ†šæŽç˜ç‚ç¶»èª•å¥ªè„«æŽ¢çœˆè€½è²ªå¡”ææ¦»å®•帑湯糖蕩兌å°å¤ªæ€ 態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎å土討慟桶洞痛ç’çµ±é€šå †æ§Œè…¿è¤ªé€€é ¹å¸å¥—妬投é€é¬ªæ…特闖å¡å©†å·´æŠŠæ’æ“ºæ·æ³¢æ´¾çˆ¬ç¶ç ´ç½·èŠè·›é —åˆ¤å‚æ¿ç‰ˆç“£è²©è¾¦éˆ‘"], +["f8a1","é˜ªå…«åæŒä½©å”„æ‚–æ•—æ²›æµ¿ç‰Œç‹½ç¨—è¦‡è²å½æ¾Žçƒ¹è†¨æ„Žä¾¿åæ‰ç‰‡ç¯‡ç·¨ç¿©ééžé¨™è²¶åªå¹³æž°èè©•å 嬖幣廢弊斃肺蔽閉陛佈包åŒåŒå’†å“ºåœƒå¸ƒæ€–抛抱æ•ï¨†æ³¡æµ¦ç–±ç ²èƒžè„¯è‹žè‘¡è’²è¢è¤’逋鋪飽鮑幅暴æ›ç€‘çˆ†ï¨‡ä¿µå‰½å½ªæ…“æ“æ¨™æ¼‚瓢票表豹飇飄驃"], +["f9a1","å“稟楓諷豊風馮彼披疲皮被é¿é™‚匹弼必泌çŒç•¢ç–‹ç†è‹¾é¦ä¹é€¼ä¸‹ä½•厦å¤å»ˆæ˜°æ²³ç‘•è·è¦è³€é霞鰕壑å¸è™è¬”é¶´å¯’æ¨æ‚旱汗漢澣瀚罕翰閑閒é™éŸ“割轄函å«å’¸å•£å–Šæª»æ¶µç·˜è‰¦éŠœé™·é¹¹åˆå“ˆç›’è›¤é–¤é—”é™œäº¢ä¼‰å§®å«¦å··æ’æŠ—ææ¡æ²†æ¸¯ç¼¸è‚›èˆª"], +["faa1","ï¨ˆï¨‰é …äº¥å•咳垓奚å©å®³æ‡ˆæ¥·æµ·ç€£èŸ¹è§£è©²è«§é‚‚é§éª¸åŠ¾æ ¸å€–å¹¸æè‡è¡Œäº«å‘åš®ç¦é„•響餉饗香噓墟虛許憲櫶ç»è»’æ‡éšªé©—奕爀赫é©ä¿”峴弦懸晛泫炫玄玹ç¾çœ©ç絃絢縣舷衒見賢鉉顯å‘ç©´è¡€é å«Œä¿ å”夾峽挾浹狹脅脇莢é‹é °äº¨å…„刑型"], +["fba1","形泂滎瀅ç炯熒ç©ç‘©èŠèž¢è¡¡é€ˆé‚¢éŽ£é¦¨å…®å½—æƒ æ…§æš³è•™è¹Šé†¯éž‹ä¹Žäº’å‘¼å£•å£ºå¥½å²µå¼§æˆ¶æ‰ˆæ˜Šæ™§æ¯«æµ©æ·æ¹–æ»¸æ¾”æ¿ æ¿©çç‹ç¥ç‘šç“ 皓祜糊縞胡芦葫蒿虎號è´è·è±ªéŽ¬é €é¡¥æƒ‘æˆ–é…·å©šæ˜æ··æ¸¾ç¿é‚忽惚ç¬å“„弘汞泓洪烘紅虹訌鴻化和嬅樺ç«ç•µ"], +["fca1","ç¦ç¦¾èбè¯è©±è貨é´ï¨‹æ“´æ”«ç¢ºç¢»ç©«ä¸¸å–šå¥å®¦å¹»æ‚£æ›æ¡æ™¥æ¡“渙煥環紈還驩鰥活滑猾è±é—Šå‡°å¹Œå¾¨ææƒ¶æ„°æ…Œæ™ƒæ™„æ¦¥æ³æ¹Ÿæ»‰æ½¢ç…Œç’œçš‡ç¯ç°§è’è—é‘éšé»ƒåŒ¯å›žå»»å¾Šæ¢æ‚”懷晦會檜淮澮ç°çªç¹ªè†¾èŒ´è›”誨賄劃ç²å®–æ©«é„å“®åš†åæ•ˆæ–…æ›‰æ¢Ÿæ¶æ·†"], +["fda1","爻肴酵é©ä¾¯å€™åŽšåŽå¼å–‰å—…帿後朽煦ç逅勛勳塤壎焄ç†ç‡»è–°è¨“暈薨喧暄煊è±å‰å–™æ¯å½™å¾½æ®æš‰ç…‡è«±è¼éº¾ä¼‘æºçƒ‹ç•¦è™§æ¤èŽé·¸å…‡å‡¶åŒˆæ´¶èƒ¸é»‘昕欣炘痕åƒå±¹ç´‡è¨–æ¬ æ¬½æ†å¸æ°æ´½ç¿•興僖凞喜噫å›å§¬å¬‰å¸Œæ†™æ†˜æˆ±æ™žæ›¦ç†™ç†¹ç†ºçŠ§ç¦§ç¨€ç¾²è©°"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp950.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp950.json new file mode 100755 index 0000000..d8bc871 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/cp950.json @@ -0,0 +1,177 @@ +[ +["0","\u0000",127], +["a140"," ,ã€ã€‚.‧;:?ï¼ï¸°â€¦â€¥ï¹ï¹‘﹒·﹔﹕﹖﹗|–︱—︳╴︴ï¹ï¼ˆï¼‰ï¸µï¸¶ï½›ï½ï¸·ï¸¸ã€”〕︹︺ã€ã€‘︻︼《》︽︾〈〉︿﹀「ã€ï¹ï¹‚『ã€ï¹ƒï¹„﹙﹚"], +["a1a1","﹛﹜ï¹ï¹žâ€˜â€™â€œâ€ã€ã€žâ€µâ€²ï¼ƒï¼†ï¼Šâ€»Â§ã€ƒâ—‹â—△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_Ë﹉﹊ï¹ï¹Žï¹‹ï¹Œï¹Ÿï¹ ﹡+ï¼Ã—÷±√<>ï¼â‰¦â‰§â‰ ∞≒≡﹢",4,"~∩∪⊥∠∟⊿ã’ã‘∫∮∵∴♀♂⊕⊙↑↓â†â†’↖↗↙↘∥∣ï¼"], +["a240","ï¼¼âˆ•ï¹¨ï¼„ï¿¥ã€’ï¿ ï¿¡ï¼…ï¼ â„ƒâ„‰ï¹©ï¹ªï¹«ã•㎜ãŽãŽžãŽãŽ¡ãŽŽãŽã„°兙兛兞å…兡兣嗧瓩糎â–",7,"â–â–Žâ–▌▋▊▉┼┴┬┤├▔─│▕┌â”└┘â•"], +["a2a1","╮╰╯â•╞╪╡◢◣◥◤╱╲╳ï¼",9,"â… ",9,"〡",8,"åå„å…A",25,"ï½",21], +["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ã„…",10], +["a3a1","ã„",25,"˙ˉˊˇˋ"], +["a3e1","€"], +["a440","一乙ä¸ä¸ƒä¹ƒä¹äº†äºŒäººå„¿å…¥å…«å‡ 刀åˆåŠ›åŒ•ååœåˆä¸‰ä¸‹ä¸ˆä¸Šä¸«ä¸¸å‡¡ä¹…么也乞于亡兀刃勺åƒå‰å£åœŸå£«å¤•大女åå‘å“寸å°å°¢å°¸å±±å·å·¥å·±å·²å·³å·¾å¹²å»¾å¼‹å¼“æ‰"], +["a4a1","丑ä¸ä¸ä¸ä¸°ä¸¹ä¹‹å°¹äºˆäº‘井互五亢ä»ä»€ä»ƒä»†ä»‡ä»ä»Šä»‹ä»„å…ƒå…å…§å…兮公冗凶分切刈勻勾勿化匹åˆå‡å…åžåŽ„å‹åŠå壬天夫太å¤å”å°‘å°¤å°ºå±¯å·´å¹»å»¿å¼”å¼•å¿ƒæˆˆæˆ¶æ‰‹æ‰Žæ”¯æ–‡æ–—æ–¤æ–¹æ—¥æ›°æœˆæœ¨æ¬ æ¢æ¹æ¯‹æ¯”æ¯›æ°æ°´ç«çˆªçˆ¶çˆ»ç‰‡ç‰™ç‰›çŠ¬çŽ‹ä¸™"], +["a540","世丕且丘主ä¹ä¹ä¹Žä»¥ä»˜ä»”ä»•ä»–ä»—ä»£ä»¤ä»™ä»žå……å…„å†‰å†Šå†¬å‡¹å‡ºå‡¸åˆŠåŠ åŠŸåŒ…åŒ†åŒ—åŒä»ŸåŠå‰å¡å å¯å®åŽ»å¯å¤å³å¬å®å©å¨å¼å¸åµå«å¦åªå²å±å°å¥åå»å››å›šå¤–"], +["a5a1","央失奴奶å•它尼巨巧左市布平幼å¼å¼˜å¼—å¿…æˆŠæ‰“æ‰”æ‰’æ‰‘æ–¥æ—¦æœ®æœ¬æœªæœ«æœæ£æ¯æ°‘æ°æ°¸æ±æ±€æ°¾çŠ¯çŽ„çŽ‰ç“œç“¦ç”˜ç”Ÿç”¨ç”©ç”°ç”±ç”²ç”³ç–‹ç™½çš®çš¿ç›®çŸ›çŸ¢çŸ³ç¤ºç¦¾ç©´ç«‹ä¸žä¸Ÿä¹’ä¹“ä¹©äº™äº¤äº¦äº¥ä»¿ä¼‰ä¼™ä¼Šä¼•ä¼ä¼ä¼‘ä¼ä»²ä»¶ä»»ä»°ä»³ä»½ä¼ä¼‹å…‰å…‡å…†å…ˆå…¨"], +["a640","å…±å†å†°åˆ—åˆ‘åˆ’åˆŽåˆ–åŠ£åŒˆåŒ¡åŒ å°å±å‰ååŒåŠååå‹å„å‘ååˆåƒåŽå†å’å› å›žå›åœ³åœ°åœ¨åœåœ¬åœ¯åœ©å¤™å¤šå¤·å¤¸å¦„奸妃好她如å¦å—å˜å®‡å®ˆå®…安寺尖屹州帆并年"], +["a6a1","å¼å¼›å¿™å¿–æˆŽæˆŒæˆæˆæ‰£æ‰›æ‰˜æ”¶æ—©æ—¨æ—¬æ—æ›²æ›³æœ‰æœ½æœ´æœ±æœµæ¬¡æ¤æ»æ°–æ±æ±—æ±™æ±Ÿæ± æ±æ±•æ±¡æ±›æ±æ±Žç°ç‰Ÿç‰ç™¾ç«¹ç±³ç³¸ç¼¶ç¾Šç¾½è€è€ƒè€Œè€’耳è¿è‚‰è‚‹è‚Œè‡£è‡ªè‡³è‡¼èˆŒèˆ›èˆŸè‰®è‰²è‰¾è™«è¡€è¡Œè¡£è¥¿é˜¡ä¸²äº¨ä½ä½ä½‡ä½—佞伴佛何估ä½ä½‘伽伺伸佃佔似但佣"], +["a740","ä½œä½ ä¼¯ä½Žä¼¶ä½™ä½ä½ˆä½šå…Œå…‹å…兵冶冷別判利刪刨劫助努劬匣å³åµåååžå¾å¦å‘Žå§å‘†å‘ƒå³å‘ˆå‘‚å›å©å‘Šå¹å»å¸å®åµå¶å å¼å‘€å±å«åŸå¬å›ªå›°å›¤å›«åŠå‘å€å"], +["a7a1","å‡åŽåœ¾åå圻壯夾å¦å¦’妨妞妣妙妖å¦å¦¤å¦“妊妥ååœåšå›å®Œå®‹å®å°¬å±€å±å°¿å°¾å²å²‘岔岌巫希åºåº‡åºŠå»·å¼„弟彤形彷役忘忌志å¿å¿±å¿«å¿¸å¿ªæˆ’æˆ‘æŠ„æŠ—æŠ–æŠ€æ‰¶æŠ‰æ‰æŠŠæ‰¼æ‰¾æ‰¹æ‰³æŠ’æ‰¯æŠ˜æ‰®æŠ•æŠ“æŠ‘æŠ†æ”¹æ”»æ”¸æ—±æ›´æŸæŽæææ‘æœæ–æžæ‰æ†æ "], +["a840","æ“æ—æ¥æ¯æ±‚æ±žæ²™æ²æ²ˆæ²‰æ²…æ²›æ±ªæ±ºæ²æ±°æ²Œæ±¨æ²–æ²’æ±½æ²ƒæ±²æ±¾æ±´æ²†æ±¶æ²æ²”沘沂ç¶ç¼ç½ç¸ç‰¢ç‰¡ç‰ 狄狂玖甬甫男甸皂盯矣ç§ç§€ç¦¿ç©¶ç³»ç½•è‚–è‚“è‚肘肛肚育良芒"], +["a8a1","芋èŠè¦‹è§’言谷豆豕è²èµ¤èµ°è¶³èº«è»Šè¾›è¾°è¿‚迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯ä¾ä¾ä½³ä½¿ä½¬ä¾›ä¾‹ä¾†ä¾ƒä½°ä½µä¾ˆä½©ä½»ä¾–ä½¾ä¾ä¾‘佺兔兒兕兩具其典冽函刻券刷刺到刮制å‰åŠ¾åŠ»å’å”å“å‘å¦å·å¸å¹å–å”å—味呵"], +["a940","咖呸咕咀呻呷咄咒咆呼å’呱呶和咚呢周咋命咎固垃å·åªå©å¡å¦å¤å¼å¤œå¥‰å¥‡å¥ˆå¥„奔妾妻委妹妮姑姆å§å§å§‹å§“姊妯妳姒姅åŸå¤å£å®—定官宜宙宛尚屈居"], +["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往å¾å½¿å½¼å¿å¿ å¿½å¿µå¿¿æ€æ€”æ€¯æ€µæ€–æ€ªæ€•æ€¡æ€§æ€©æ€«æ€›æˆ–æˆ•æˆ¿æˆ¾æ‰€æ‰¿æ‹‰æ‹Œæ‹„æŠ¿æ‹‚æŠ¹æ‹’æ‹›æŠ«æ‹“æ‹”æ‹‹æ‹ˆæŠ¨æŠ½æŠ¼æ‹æ‹™æ‹‡æ‹æŠµæ‹šæŠ±æ‹˜æ‹–æ‹—æ‹†æŠ¬æ‹Žæ”¾æ–§æ–¼æ—ºæ˜”æ˜“æ˜Œæ˜†æ˜‚æ˜Žæ˜€æ˜æ˜•昊"], +["aa40","æ˜‡æœæœ‹ææž‹æž•æ±æžœæ³æ·æž‡æžæž—æ¯æ°æ¿æž‰æ¾æžæµæžšæž“æ¼æªæ²æ¬£æ¦æ§æ¿æ°“æ°›æ³£æ³¨æ³³æ²±æ³Œæ³¥æ²³æ²½æ²¾æ²¼æ³¢æ²«æ³•æ³“æ²¸æ³„æ²¹æ³æ²®æ³—æ³…æ³±æ²¿æ²»æ³¡æ³›æ³Šæ²¬æ³¯æ³œæ³–æ³ "], +["aaa1","炕炎炒炊炙爬çˆçˆ¸ç‰ˆç‰§ç‰©ç‹€ç‹Žç‹™ç‹—ç‹çŽ©çŽ¨çŽŸçŽ«çŽ¥ç”½ç–疙疚的盂盲直知矽社祀ç¥ç§‰ç§ˆç©ºç©¹ç«ºç³¾ç½”羌羋者肺肥肢肱股肫肩肴肪肯臥臾èˆèгèŠèŠ™èŠèŠ½èŠŸèŠ¹èŠ±èŠ¬èŠ¥èŠ¯èŠ¸èŠ£èŠ°èŠ¾èŠ·è™Žè™±åˆè¡¨è»‹è¿Žè¿”近邵邸邱邶采金長門阜陀阿阻附"], +["ab40","陂隹雨é’éžäºŸäºäº®ä¿¡ä¾µä¾¯ä¾¿ä¿ ä¿‘ä¿ä¿ä¿ƒä¾¶ä¿˜ä¿Ÿä¿Šä¿—ä¾®ä¿ä¿„ä¿‚ä¿šä¿Žä¿žä¾·å…—å†’å†‘å† å‰Žå‰ƒå‰Šå‰å‰Œå‰‹å‰‡å‹‡å‹‰å‹ƒå‹åŒå—å»åŽšå›å’¬å“€å’¨å“Žå“‰å’¸å’¦å’³å“‡å“‚咽咪å“"], +["aba1","å“„å“ˆå’¯å’«å’±å’»å’©å’§å’¿å›¿åž‚åž‹åž åž£åž¢åŸŽåž®åž“å¥•å¥‘å¥å¥Žå¥å§œå§˜å§¿å§£å§¨å¨ƒå§¥å§ªå§šå§¦å¨å§»å©å®£å®¦å®¤å®¢å®¥å°å±Žå±å±å±‹å³™å³’å··å¸å¸¥å¸Ÿå¹½åº 度建弈å¼å½¥å¾ˆå¾…å¾Šå¾‹å¾‡å¾Œå¾‰æ€’æ€æ€ æ€¥æ€Žæ€¨ææ°æ¨æ¢æ†æƒæ¬æ«æªæ¤æ‰æ‹œæŒ–æŒ‰æ‹¼æ‹æŒæ‹®æ‹½æŒ‡æ‹±æ‹·"], +["ac40","æ‹¯æ‹¬æ‹¾æ‹´æŒ‘æŒ‚æ”¿æ•…æ–«æ–½æ—¢æ˜¥æ˜æ˜ æ˜§æ˜¯æ˜Ÿæ˜¨æ˜±æ˜¤æ›·æŸ¿æŸ“æŸ±æŸ”æŸæŸ¬æž¶æž¯æŸµæŸ©æŸ¯æŸ„æŸ‘æž´æŸšæŸ¥æž¸æŸæŸžæŸ³æž°æŸ™æŸ¢æŸæŸ’æªæ®ƒæ®†æ®µæ¯’æ¯—æ°Ÿæ³‰æ´‹æ´²æ´ªæµæ´¥æ´Œæ´±æ´žæ´—"], +["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯ç‚ç‚¸ç‚®ç‚¤çˆ°ç‰²ç‰¯ç‰´ç‹©ç‹ ç‹¡çŽ·çŠçŽ»çŽ²çç€çŽ³ç”šç”ç•界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅çœç›¹ç›¸çœ‰çœ‹ç›¾ç›¼çœ‡çŸœç ‚ç ”ç Œç 祆祉祈祇禹禺科秒秋穿çªç«¿ç«½ç±½ç´‚紅紀紉紇約紆缸美羿耄"], +["ad40","è€è€è€‘耶胖胥胚胃胄背胡胛胎胞胤èƒè‡´èˆ¢è‹§èŒƒèŒ…苣苛苦茄若茂茉苒苗英èŒè‹œè‹”苑苞苓苟苯茆è™è™¹è™»è™ºè¡è¡«è¦è§”è¨ˆè¨‚è¨ƒè²žè² èµ´èµ³è¶´è»è»Œè¿°è¿¦è¿¢è¿ªè¿¥"], +["ada1","è¿è¿«è¿¤è¿¨éƒŠéƒŽéƒéƒƒé…‹é…Šé‡é–‚é™é™‹é™Œé™é¢é©éŸ‹éŸéŸ³é 風飛食首香乘亳倌å€å€£ä¿¯å€¦å€¥ä¿¸å€©å€–倆值借倚倒們俺倀倔倨俱倡個候倘俳修å€å€ªä¿¾å€«å€‰å…¼å†¤å†¥å†¢å‡å‡Œå‡†å‡‹å‰–剜剔剛å‰åŒªå¿åŽŸåŽåŸå“¨å”å”唷哼哥哲唆哺唔哩å“員唉哮哪"], +["ae40","哦唧唇哽å”åœƒåœ„åŸ‚åŸ”åŸ‹åŸƒå ‰å¤å¥—å¥˜å¥šå¨‘å¨˜å¨œå¨Ÿå¨›å¨“å§¬å¨ å¨£å¨©å¨¥å¨Œå¨‰å«å±˜å®°å®³å®¶å®´å®®å®µå®¹å®¸å°„屑展å±å³å³½å³»å³ªå³¨å³°å³¶å´å³´å·®å¸å¸«åº«åºåº§å¼±å¾’徑徿™"], +["aea1","æ£æ¥ææ•ææ©æ¯æ‚„æ‚Ÿæ‚šæ‚æ‚”æ‚Œæ‚…æ‚–æ‰‡æ‹³æŒˆæ‹¿æŽæŒ¾æŒ¯æ•æ‚æ†ææ‰æŒºææŒ½æŒªæŒ«æŒ¨ææŒæ•ˆæ•‰æ–™æ—æ—…æ™‚æ™‰æ™æ™ƒæ™’æ™Œæ™…æ™æ›¸æœ”æœ•æœ—æ ¡æ ¸æ¡ˆæ¡†æ¡“æ ¹æ¡‚æ¡”æ ©æ¢³æ —æ¡Œæ¡‘æ ½æŸ´æ¡æ¡€æ ¼æ¡ƒæ ªæ¡…æ “æ ˜æ¡æ®Šæ®‰æ®·æ°£æ°§æ°¨æ°¦æ°¤æ³°æµªæ¶•消涇浦浸海浙涓"], +["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈çƒçˆ¹ç‰¹ç‹¼ç‹¹ç‹½ç‹¸ç‹·çކçç‰ç®ç çªçžç•”ç•畜畚留疾病症疲疳疽疼疹痂疸皋皰益ç›ç›Žçœ©çœŸçœ çœ¨çŸ©ç °ç §ç ¸ç ç ´ç ·"], +["afa1","ç ¥ç ç ç Ÿç ²ç¥•ç¥ç¥ 祟祖神ç¥ç¥—ç¥šç§¤ç§£ç§§ç§Ÿç§¦ç§©ç§˜çª„çªˆç«™ç¬†ç¬‘ç²‰ç´¡ç´—ç´‹ç´Šç´ ç´¢ç´”ç´ç´•ç´šç´œç´ç´™ç´›ç¼ºç½Ÿç¾”ç¿…ç¿è€†è€˜è€•耙耗耽耿胱脂胰脅èƒèƒ´è„†èƒ¸èƒ³è„ˆèƒ½è„Šèƒ¼èƒ¯è‡è‡¬èˆ€èˆèˆªèˆ«èˆ¨èˆ¬èŠ»èŒ«è’è”èŠèŒ¸èè‰èŒµèŒ´è茲茹茶茗è€èŒ±èŒ¨èƒ"], +["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷è¢è¢‚衽衹記è¨è¨Žè¨Œè¨•訊託訓訖è¨è¨‘豈豺豹財貢起躬軒軔è»è¾±é€é€†è¿·é€€è¿ºè¿´é€ƒè¿½é€…迸邕郡éƒéƒ¢é…’é…酌釘é‡é‡—釜釙閃院陣陡"], +["b0a1","é™›é™é™¤é™˜é™žéš»é£¢é¦¬éª¨é«˜é¬¥é¬²é¬¼ä¹¾åºå½åœå‡åƒåŒåšå‰å¥å¶åŽå•åµå´å·åå€å¯å兜冕凰剪副勒務勘動åŒåŒåŒ™åŒ¿å€åŒ¾åƒæ›¼å•†å•ªå•¦å•„啞啡啃啊唱啖å•啕唯啤唸售啜唬啣唳å•å•—åœˆåœ‹åœ‰åŸŸå …å Šå †åŸ åŸ¤åŸºå ‚å µåŸ·åŸ¹å¤ å¥¢å¨¶å©å©‰å©¦å©ªå©€"], +["b140","娼婢婚婆婊å°å¯‡å¯…å¯„å¯‚å®¿å¯†å°‰å°ˆå°‡å± å±œå±å´‡å´†å´Žå´›å´–å´¢å´‘å´©å´”å´™å´¤å´§å´—å·¢å¸¸å¸¶å¸³å¸·åº·åº¸åº¶åºµåº¾å¼µå¼·å½—å½¬å½©å½«å¾—å¾™å¾žå¾˜å¾¡å¾ å¾œæ¿æ‚£æ‚‰æ‚ 您惋悴惦悽"], +["b1a1","æƒ…æ‚»æ‚µæƒœæ‚¼æƒ˜æƒ•æƒ†æƒŸæ‚¸æƒšæƒ‡æˆšæˆ›æ‰ˆæŽ æŽ§æ²æŽ–æŽ¢æŽ¥æ·æ§æŽ˜æŽªæ±æŽ©æŽ‰æŽƒæŽ›æ«æŽ¨æŽ„æŽˆæŽ™æŽ¡æŽ¬æŽ’æŽæŽ€æ»æ©æ¨æºæ•æ•–æ•‘æ•™æ•—å•Ÿæ•æ•˜æ••æ•”æ–œæ–›æ–¬æ—æ—‹æ—Œæ—Žæ™æ™šæ™¤æ™¨æ™¦æ™žæ›¹å‹—æœ›æ¢æ¢¯æ¢¢æ¢“æ¢µæ¡¿æ¡¶æ¢±æ¢§æ¢—æ¢°æ¢ƒæ£„æ¢æ¢†æ¢…æ¢”æ¢æ¢¨æ¢Ÿæ¢¡æ¢‚欲殺"], +["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽çŠçŒœçŒ›çŒ–猓猙率ç…çŠçƒç†ç¾çç“ ç“¶"], +["b2a1","瓷甜產略畦畢異ç–痔痕疵痊ç—皎盔盒盛眷眾眼眶眸眺硫硃硎祥票ç¥ç§»çª’çª•ç¬ ç¬¨ç¬›ç¬¬ç¬¦ç¬™ç¬žç¬®ç²’ç²—ç²•çµ†çµƒçµ±ç´®ç´¹ç´¼çµ€ç´°ç´³çµ„ç´¯çµ‚ç´²ç´±ç¼½ç¾žç¾šç¿Œç¿Žç¿’è€œèŠè†è„¯è„–脣脫脩脰脤舂舵舷舶船莎莞莘è¸èŽ¢èŽ–èŽ½èŽ«èŽ’èŽŠèŽ“èŽ‰èŽ è·è»è¼"], +["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖è¢è¢‹è¦“è¦è¨ªè¨è¨£è¨¥è¨±è¨è¨Ÿè¨›è¨¢è±‰è±šè²©è²¬è²«è²¨è²ªè²§èµ§èµ¦è¶¾è¶ºè»›è»Ÿé€™é€é€šé€—連速é€é€é€•é€žé€ é€é€¢é€–逛途"], +["b3a1","部éƒéƒ½é…—野釵釦釣釧é‡é‡©é–‰é™ªé™µé™³é™¸é™°é™´é™¶é™·é™¬é›€é›ªé›©ç« ç«Ÿé ‚é ƒéšé³¥é¹µé¹¿éº¥éº»å‚¢å‚傅備傑傀傖傘傚最凱割剴創剩勞å‹å‹›åšåŽ¥å•»å–€å–§å•¼å–Šå–喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙åœå ¯å ªå ´å ¤å °å ±å ¡å å å£¹å£ºå¥ "], +["b440","婷媚婿媒媛媧å³å±å¯’富寓å¯å°Šå°‹å°±åµŒåµå´´åµ‡å·½å¹…帽幀幃幾廊å»å»‚廄弼å½å¾©å¾ªå¾¨æƒ‘æƒ¡æ‚²æ‚¶æƒ æ„œæ„£æƒºæ„•æƒ°æƒ»æƒ´æ…¨æƒ±æ„Žæƒ¶æ„‰æ„€æ„’æˆŸæ‰‰æŽ£æŽŒææ€æ©æ‰æ†æ"], +["b4a1","æ’æ£ææ¡æ–ææ®æ¶æ´æªæ›æ‘’æšæ¹æ•žæ•¦æ•¢æ•£æ–‘æ–æ–¯æ™®æ™°æ™´æ™¶æ™¯æš‘æ™ºæ™¾æ™·æ›¾æ›¿æœŸæœæ£ºæ£•æ£ æ£˜æ£—æ¤…æ£Ÿæ£µæ£®æ£§æ£¹æ£’æ£²æ££æ£‹æ£æ¤æ¤’æ¤Žæ£‰æ£šæ¥®æ£»æ¬¾æ¬ºæ¬½æ®˜æ®–æ®¼æ¯¯æ°®æ°¯æ°¬æ¸¯æ¸¸æ¹”æ¸¡æ¸²æ¹§æ¹Šæ¸ æ¸¥æ¸£æ¸›æ¹›æ¹˜æ¸¤æ¹–æ¹®æ¸æ¸¦æ¹¯æ¸´æ¹æ¸ºæ¸¬æ¹ƒæ¸æ¸¾æ»‹"], +["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩çºçªç³ç¢ç¥çµç¶ç´ç¯ç›ç¦ç¨ç”¥ç”¦ç•«ç•ªç—¢ç—›ç—£ç—™ç—˜ç—žç— 登發皖皓皴盜ççŸç¡ç¡¬ç¡¯ç¨ç¨ˆç¨‹ç¨…稀窘"], +["b5a1","窗窖童竣ç‰ç–ç†çç’ç”çç‹çç‘粟粥絞çµçµ¨çµ•紫絮絲絡給絢絰絳善翔翕耋è’肅腕腔腋腑腎脹腆脾腌腓腴舒舜è©èƒè¸èè è…è‹èè¯è±è´è‘—èŠè°èŒèŒè½è²èŠè¸èŽè„èœè‡è”èŸè™›è›Ÿè›™è›è›”蛛蛤è›è›žè¡—è£è£‚è¢±è¦ƒè¦–è¨»è© è©•è©žè¨¼è©"], +["b640","詔詛è©è©†è¨´è¨ºè¨¶è©–象貂貯貼貳貽è³è²»è³€è²´è²·è²¶è²¿è²¸è¶Šè¶…è¶è·Žè·è·‹è·šè·‘跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥é‡éˆ”鈕鈣鈉鈞éˆéˆéˆ‡éˆ‘é–”é–é–‹é–‘"], +["b6a1","間閒閎隊階隋陽隅隆éšé™²éš„é›é›…é›„é›†é›‡é›¯é›²éŸŒé …é †é ˆé£§é£ªé£¯é£©é£²é£é¦®é¦é»ƒé»é»‘亂å‚債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌å¡å¡Šå¡¢å¡’塋奧å«å«‰å«Œåª¾åª½åª¼"], +["b740","åª³å«‚åª²åµ©åµ¯å¹Œå¹¹å»‰å»ˆå¼’å½™å¾¬å¾®æ„šæ„æ…ˆæ„Ÿæƒ³æ„›æƒ¹æ„æ„ˆæ…Žæ…Œæ…„æ…æ„¾æ„´æ„§æ„æ„†æ„·æˆ¡æˆ¢æ“æ¾æžæªææ½æ¬ææœæ”ææ¶æ–æ—æ†æ•¬æ–Ÿæ–°æš—æš‰æš‡æšˆæš–æš„æš˜æšæœƒæ¦”æ¥"], +["b7a1","æ¥šæ¥·æ¥ æ¥”æ¥µæ¤°æ¦‚æ¥Šæ¥¨æ¥«æ¥žæ¥“æ¥¹æ¦†æ¥æ¥£æ¥›æ‡æ²æ¯€æ®¿æ¯“æ¯½æº¢æº¯æ»“æº¶æ»‚æºæºæ»‡æ»…溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷ç…猿猾瑯瑚瑕瑟瑞ç‘ç¿ç‘™ç‘›ç‘œç•¶ç•¸ç˜€ç—°ç˜ç—²ç—±ç—ºç—¿ç—´ç—³ç›žç›Ÿç›ç«ç¦çžç£"], +["b840","ç¹çªç¬çœç¥ç¨ç¢çŸ®ç¢Žç¢°ç¢—碘碌碉硼碑碓硿祺祿ç¦è¬ç¦½ç¨œç¨šç¨ ç¨”ç¨Ÿç¨žçªŸçª ç·ç¯€ç ç®ç§ç²±ç²³ç²µç¶“絹綑ç¶ç¶çµ›ç½®ç½©ç½ªç½²ç¾©ç¾¨ç¾¤è–è˜è‚†è‚„腱腰腸腥腮腳腫"], +["b8a1","腹腺腦舅艇蒂葷è½è±è‘µè‘¦è‘«è‘‰è‘¬è‘›è¼èµè‘¡è‘£è‘©è‘葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘è£è£¡è£Šè£•è£’è¦œè§£è©«è©²è©³è©¦è©©è©°èª‡è©¼è©£èª è©±èª…è©è©¢è©®è©¬è©¹è©»è¨¾è©¨è±¢è²Šè²‰è³Šè³‡è³ˆè³„貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"], +["b940","辟農é‹éŠé“é‚é”逼é•éé‡ééŽéé‘逾é鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉é‰é‰…鈹鈿鉚閘隘隔隕é›é›‹é›‰é›Šé›·é›»é›¹é›¶é–é´é¶é é ‘é “é Šé ’é Œé£¼é£´"], +["b9a1","é£½é£¾é¦³é¦±é¦´é«¡é³©éº‚é¼Žé¼“é¼ åƒ§åƒ®åƒ¥åƒ–åƒåƒšåƒ•åƒåƒ‘僱僎僩兢凳劃劂匱åŽå—¾å˜€å˜›å˜—嗽嘔嘆嘉å˜å˜Žå—·å˜–嘟嘈å˜å—¶åœ˜åœ–塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣åµå¯žå¯§å¯¡å¯¥å¯¦å¯¨å¯¢å¯¤å¯Ÿå°å±¢å¶„嶇幛幣幕幗幔廓廖弊彆彰徹慇"], +["ba40","æ„¿æ…‹æ…·æ…¢æ…£æ…Ÿæ…šæ…˜æ…µæˆªæ’‡æ‘˜æ‘”æ’¤æ‘¸æ‘Ÿæ‘ºæ‘‘æ‘§æ´æ‘æ‘»æ•²æ–¡æ——æ—–æš¢æš¨æšæ¦œæ¦¨æ¦•æ§æ¦®æ§“æ§‹æ¦›æ¦·æ¦»æ¦«æ¦´æ§æ§æ¦æ§Œæ¦¦æ§ƒæ¦£æ‰æŒæ°³æ¼³æ¼”æ»¾æ¼“æ»´æ¼©æ¼¾æ¼ æ¼¬æ¼æ¼‚æ¼¢"], +["baa1","æ»¿æ»¯æ¼†æ¼±æ¼¸æ¼²æ¼£æ¼•æ¼«æ¼¯æ¾ˆæ¼ªæ»¬æ¼æ»²æ»Œæ»·ç†”熙煽熊熄熒爾犒犖ç„ç瑤瑣瑪瑰ç‘甄疑瘧ç˜ç˜‹ç˜‰ç˜“盡監瞄ç½ç¿ç¡ç£ç¢Ÿç¢§ç¢³ç¢©ç¢£ç¦Žç¦ç¦ç¨®ç¨±çªªçª©ç«ç«¯ç®¡ç®•箋çµç®—ç®ç®”ç®ç®¸ç®‡ç®„ç²¹ç²½ç²¾ç¶»ç¶°ç¶œç¶½ç¶¾ç¶ ç·Šç¶´ç¶²ç¶±ç¶ºç¶¢ç¶¿ç¶µç¶¸ç¶ç·’緇綬"], +["bb40","ç½°ç¿ ç¿¡ç¿Ÿèžèšè‚‡è…膀è†è†ˆè†Šè…¿è†‚臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓è’蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘è•蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣èªèª¡èª“誤"], +["bba1","說誥誨誘誑誚誧豪è²è²Œè³“賑賒赫趙趕跼輔輒輕輓辣é é˜éœé£é™éžé¢éé›é„™é„˜é„žé…µé…¸é…·é…´é‰¸éŠ€éŠ…éŠ˜éŠ–é‰»éŠ“éŠœéŠ¨é‰¼éŠ‘é–¡é–¨é–©é–£é–¥é–¤éš™éšœéš›é›Œé›’éœ€é¼éž…éŸ¶é —é ˜é¢¯é¢±é¤ƒé¤…é¤Œé¤‰é§éª¯éª°é«¦éé‚鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"], +["bc40","劇劈劉åŠåŠŠå‹°åŽ²å˜®å˜»å˜¹å˜²å˜¿å˜´å˜©å™“å™Žå™—å™´å˜¶å˜¯å˜°å¢€å¢Ÿå¢žå¢³å¢œå¢®å¢©å¢¦å¥å¬‰å«»å¬‹å«µå¬Œå¬ˆå¯®å¯¬å¯©å¯«å±¤å±¥å¶å¶”幢幟幡廢廚廟å»å»£å» å½ˆå½±å¾·å¾µæ…¶æ…§æ…®æ…æ…•憂"], +["bca1","æ…¼æ…°æ…«æ…¾æ†§æ†æ†«æ†Žæ†¬æ†šæ†¤æ†”æ†®æˆ®æ‘©æ‘¯æ‘¹æ’žæ’²æ’ˆæ’æ’°æ’¥æ’“æ’•æ’©æ’’æ’®æ’æ’«æ’šæ’¬æ’™æ’¢æ’³æ•µæ•·æ•¸æš®æš«æš´æš±æ¨£æ¨Ÿæ§¨æ¨æ¨žæ¨™æ§½æ¨¡æ¨“æ¨Šæ§³æ¨‚æ¨…æ§æ¨‘ææŽæ®¤æ¯…æ¯†æ¼¿æ½¼æ¾„æ½‘æ½¦æ½”æ¾†æ½æ½›æ½¸æ½®æ¾Žæ½ºæ½°æ½¤æ¾—æ½˜æ»•æ½¯æ½ æ½Ÿç†Ÿç†¬ç†±ç†¨ç‰–çŠ›çŽç—ç‘©ç’‹ç’ƒ"], +["bd40","ç‘¾ç’€ç•¿ç˜ ç˜©ç˜Ÿç˜¤ç˜¦ç˜¡ç˜¢çššçšºç›¤çžŽçž‡çžŒçž‘çž‹ç£‹ç£…ç¢ºç£Šç¢¾ç£•ç¢¼ç£ç¨¿ç¨¼ç©€ç¨½ç¨·ç¨»çª¯çª®ç®ç®±ç¯„箴篆篇ç¯ç® ç¯Œç³Šç· ç·´ç·¯ç·»ç·˜ç·¬ç·ç·¨ç·£ç·šç·žç·©ç¶žç·™ç·²ç·¹ç½µç½·ç¾¯"], +["bda1","翩耦膛膜è†è† 膚膘蔗蔽蔚蓮蔬è”蔓蔑蔣蔡蔔蓬蔥蓿蔆螂è´è¶è è¦è¸è¨è™è—èŒè“è¡›è¡è¤è¤‡è¤’褓褕褊誼諒談諄誕請諸課諉諂調誰論è«èª¶èª¹è«›è±Œè±Žè±¬è³ 賞賦賤賬è³è³¢è³£è³œè³ªè³¡èµè¶Ÿè¶£è¸«è¸è¸è¸¢è¸è¸©è¸Ÿè¸¡è¸žèººè¼è¼›è¼Ÿè¼©è¼¦è¼ªè¼œè¼ž"], +["be40","è¼¥é©é®é¨éé·é„°é„鄧鄱醇醉醋醃鋅銻銷鋪銬鋤é‹éŠ³éŠ¼é‹’é‹‡é‹°éŠ²é–閱霄霆震霉é éžéž‹éžé ¡é «é œé¢³é¤Šé¤“餒餘é§é§é§Ÿé§›é§‘駕駒駙骷髮髯鬧é…é„é·é¯é´†é´‰"], +["bea1","鴃麩麾黎墨齒儒儘儔å„儕冀冪å‡åŠ‘åŠ“å‹³å™™å™«å™¹å™©å™¤å™¸å™ªå™¨å™¥å™±å™¯å™¬å™¢å™¶å£å¢¾å£‡å£…奮å¬å¬´å¸å¯°å°Žå½Šæ†²æ†‘æ†©æ†Šæ‡æ†¶æ†¾æ‡Šæ‡ˆæˆ°æ“…æ“æ“‹æ’»æ’¼æ“šæ“„æ“‡æ“‚æ“æ’¿æ“’æ“”æ’¾æ•´æ›†æ›‰æš¹æ›„æ›‡æš¸æ¨½æ¨¸æ¨ºæ©™æ©«æ©˜æ¨¹æ©„æ©¢æ©¡æ©‹æ©‡æ¨µæ©Ÿæ©ˆæ™æ·æ°…濂澱澡"], +["bf40","æ¿ƒæ¾¤æ¿æ¾§æ¾³æ¿€æ¾¹æ¾¶æ¾¦æ¾ 澴熾燉ç‡ç‡’燈燕熹燎燙燜燃燄ç¨ç’œç’£ç’˜ç’Ÿç’žç“¢ç”Œç”ç˜´ç˜¸ç˜ºç›§ç›¥çž çžžçžŸçž¥ç£¨ç£šç£¬ç£§ç¦¦ç©ç©Žç©†ç©Œç©‹çªºç¯™ç°‘築篤篛篡篩篦糕糖縊"], +["bfa1","縑縈縛縣縞ç¸ç¸‰ç¸ç½¹ç¾²ç¿°ç¿±ç¿®è€¨è†³è†©è†¨è‡»èˆˆè‰˜è‰™è•Šè•™è•ˆè•¨è•©è•ƒè•‰è•蕪蕞螃螟螞螢èžè¡¡è¤ªè¤²è¤¥è¤«è¤¡è¦ªè¦¦è«¦è«ºè««è«±è¬€è«œè«§è«®è«¾è¬è¬‚è«·è«è«³è«¶è«¼è±«è±è²“賴蹄踱踴蹂踹踵輻輯輸輳辨辦éµé´é¸é²é¼éºé„´é†’éŒ éŒ¶é‹¸éŒ³éŒ¯éŒ¢é‹¼éŒ«éŒ„éŒš"], +["c040","éŒéŒ¦éŒ¡éŒ•錮錙閻隧隨險雕霎霑霖éœéœ“éœé›éœé¦éž˜é °é ¸é »é ·é é ¹é ¤é¤é¤¨é¤žé¤›é¤¡é¤šé§é§¢é§±éª¸éª¼é«»é«é¬¨é®‘鴕鴣鴦鴨鴒鴛默黔é¾é¾œå„ªå„Ÿå„¡å„²å‹µåšŽåš€åšåš…嚇"], +["c0a1","åšå£•壓壑壎嬰嬪嬤åºå°·å±¨å¶¼å¶ºå¶½å¶¸å¹«å½Œå¾½æ‡‰æ‡‚æ‡‡æ‡¦æ‡‹æˆ²æˆ´æ“Žæ“Šæ“˜æ“ æ“°æ“¦æ“¬æ“±æ“¢æ“æ–‚æ–ƒæ›™æ›–æª€æª”æª„æª¢æªœæ«›æª£æ©¾æª—æªæª æœæ®®æ¯šæ°ˆæ¿˜æ¿±æ¿Ÿæ¿ 濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥ç‡ç‡¬ç‡´ç‡ 爵牆ç°ç²ç’©ç’°ç’¦ç’¨ç™†ç™‚癌盪瞳瞪瞰瞬"], +["c140","çž§çžçŸ¯ç£·ç£ºç£´ç£¯ç¤ç¦§ç¦ªç©—窿簇ç°ç¯¾ç¯·ç°Œç¯ ç³ ç³œç³žç³¢ç³Ÿç³™ç³ç¸®ç¸¾ç¹†ç¸·ç¸²ç¹ƒç¸«ç¸½ç¸±ç¹…ç¹ç¸´ç¸¹ç¹ˆç¸µç¸¿ç¸¯ç½„翳翼è±è²è°è¯è³è‡†è‡ƒè†ºè‡‚臀膿膽臉膾臨舉艱薪"], +["c1a1","è–„è•¾è–œè–‘è–”è–¯è–›è–‡è–¨è–Šè™§èŸ€èŸ‘èž³èŸ’èŸ†èž«èž»èžºèŸˆèŸ‹è¤»è¤¶è¥„è¤¸è¤½è¦¬è¬Žè¬—è¬™è¬›è¬Šè¬ è¬è¬„è¬è±è°¿è±³è³ºè³½è³¼è³¸è³»è¶¨è¹‰è¹‹è¹ˆè¹Šè½„輾轂轅輿é¿é½é‚„é‚邂邀鄹醣醞醜é鎂錨éµéŠé¥é‹éŒ˜é¾é¬é›é°éšé”é—Šé—‹é—Œé—ˆé—†éš±éš¸é›–éœœéœžéž éŸ“é¡†é¢¶é¤µé¨"], +["c240","駿鮮鮫鮪é®é´»é´¿éº‹é»é»žé»œé»é»›é¼¾é½‹å¢åš•åš®å£™å£˜å¬¸å½æ‡£æˆ³æ“´æ“²æ“¾æ”†æ“ºæ“»æ“·æ–·æ›œæœ¦æª³æª¬æ«ƒæª»æª¸æ«‚æª®æª¯æŸæ¸æ®¯ç€‰ç€‹æ¿¾ç€†æ¿ºç€‘ç€ç‡»ç‡¼ç‡¾ç‡¸ç·çµç’§ç’¿ç”•癖癘"], +["c2a1","ç™’çž½çž¿çž»çž¼ç¤Žç¦®ç©¡ç©¢ç© ç«„ç«…ç°«ç°§ç°ªç°žç°£ç°¡ç³§ç¹”ç¹•ç¹žç¹šç¹¡ç¹’ç¹™ç½ˆç¿¹ç¿»è·è¶è‡è‡èˆŠè—è–©è—è—è—‰è–°è–ºè–¹è–¦èŸ¯èŸ¬èŸ²èŸ è¦†è¦²è§´è¬¨è¬¹è¬¬è¬«è±è´…蹙蹣蹦蹤蹟蹕軀轉è½é‚‡é‚ƒé‚ˆé†«é†¬é‡éŽ”éŽŠéŽ–éŽ¢éŽ³éŽ®éŽ¬éŽ°éŽ˜éŽšéŽ—é—”é—–é—闕離雜雙雛雞霤鞣鞦"], +["c340","éžéŸ¹é¡é¡é¡Œé¡Žé¡“颺餾餿餽餮馥騎é«é¬ƒé¬†ééŽé鯊鯉鯽鯈鯀鵑éµéµ é» é¼•é¼¬å„³åš¥å£žå£Ÿå£¢å¯µé¾å»¬æ‡²æ‡·æ‡¶æ‡µæ”€æ”æ› æ›æ«¥æ«æ«šæ«“瀛瀟瀨瀚ç€ç€•瀘爆çˆç‰˜çŠ¢ç¸"], +["c3a1","çºç’½ç“Šç“£ç–‡ç–†ç™Ÿç™¡çŸ‡ç¤™ç¦±ç©«ç©©ç°¾ç°¿ç°¸ç°½ç°·ç±€ç¹«ç¹ç¹¹ç¹©ç¹ªç¾…繳羶羹羸臘藩è—è—ªè—•è—¤è—¥è—·èŸ»è …è èŸ¹èŸ¾è¥ è¥Ÿè¥–è¥žèèœè˜è‰èšèŽèè†è™è´ˆè´Šè¹¼è¹²èº‡è¹¶è¹¬è¹ºè¹´è½”轎è¾é‚Šé‚‹é†±é†®é¡é‘éŸéƒéˆéœéé–é¢éé˜é¤é—é¨é—œéš´é›£éœªéœ§é¡éŸœéŸ»é¡ž"], +["c440","願顛颼饅饉騖騙é¬é¯¨é¯§é¯–鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤å€åƒå½å¯¶å·‰æ‡¸æ‡ºæ”˜æ””攙曦朧櫬瀾瀰瀲çˆç»ç“癢癥礦礪礬礫竇競籌籃ç±ç³¯ç³°è¾®ç¹½ç¹¼"], +["c4a1","çº‚ç½Œè€€è‡šè‰¦è—»è—¹è˜‘è—ºè˜†è˜‹è˜‡è˜Šè ”è •è¥¤è¦ºè§¸è°è¬è¦è¯èŸè«è´è´èº‰èºèº…躂醴釋é˜éƒé½é—¡éœ°é£„饒饑馨騫騰騷騵鰓é°é¹¹éºµé»¨é¼¯é½Ÿé½£é½¡å„·å„¸å›å›€å›‚夔屬巿‡¼æ‡¾æ”攜斕曩櫻欄櫺殲çŒçˆ›çŠ§ç“–ç“”ç™©çŸ“ç±çºçºŒç¾¼è˜—è˜è˜šè £è ¢è ¡è Ÿè¥ªè¥¬è¦½è´"], +["c540","è·è½è´“躊èºèº‹è½Ÿè¾¯é†ºé®é³éµéºé¸é²é«é—¢éœ¸éœ¹éœ²éŸ¿é¡§é¡¥é¥—驅驃驀騾é«é”é‘é°é°¥é¶¯é¶´é·‚鶸éºé»¯é¼™é½œé½¦é½§å„¼å„»å›ˆå›Šå›‰å¿å·”巒彎懿攤權æ¡ç‘ç˜çŽ€ç“¤ç–Šç™®ç™¬"], +["c5a1","ç¦³ç± ç±Ÿè¾è½è‡Ÿè¥²è¥¯è§¼è®€è´–贗躑躓轡酈鑄鑑鑒霽霾韃éŸé¡«é¥•é©•é©é«’鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬æ¬ç“šç«Šç±¤ç±£ç±¥çº“çº–çº”è‡¢è˜¸è˜¿è ±è®Šé‚é‚é‘£é‘ é‘¤é¨é¡¯é¥œé©šé©›é©—髓體髑鱔鱗鱖鷥麟黴囑壩攬çžç™±ç™²çŸ—ç½ç¾ˆè ¶è ¹è¡¢è®“è®’"], +["c640","讖艷贛釀鑪é‚éˆé„韆顰驟鬢é˜é±Ÿé·¹é·ºé¹¼é¹½é¼‡é½·é½²å»³æ¬–ç£ç±¬ç±®è »è§€èº¡é‡é‘²é‘°é¡±é¥žé«–鬣黌ç¤çŸšè®šé‘·éŸ‰é©¢é©¥çºœè®œèºªé‡…鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"], +["c940","乂乜凵匚厂万丌乇äºå›—兀屮彳ä¸å†‡ä¸Žä¸®äº“仂仉仈冘勼å¬åŽ¹åœ å¤ƒå¤¬å°å·¿æ—¡æ®³æ¯Œæ°”爿丱丼仨仜仩仡ä»ä»šåˆŒåŒœåŒåœ¢åœ£å¤—夯å®å®„å°’å°»å±´å±³å¸„åº€åº‚å¿‰æˆ‰æ‰æ°•"], +["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈ä¼ä¼‚伅伢伓伄仴伒冱刓刉åˆåŠ¦åŒ¢åŒŸå厊å‡å›¡å›Ÿåœ®åœªåœ´å¤¼å¦€å¥¼å¦…奻奾奷奿å–å°•å°¥å±¼å±ºå±»å±¾å·Ÿå¹µåº„å¼‚å¼šå½´å¿•å¿”å¿æ‰œæ‰žæ‰¤æ‰¡æ‰¦æ‰¢æ‰™æ‰ æ‰šæ‰¥æ—¯æ—®æœ¾æœ¹æœ¸æœ»æœºæœ¿æœ¼æœ³æ°˜æ±†æ±’æ±œæ±æ±Šæ±”汋"], +["ca40","汌ç±ç‰žçŠ´çŠµçŽŽç”ªç™¿ç©µç½‘è‰¸è‰¼èŠ€è‰½è‰¿è™è¥¾é‚™é‚—é‚˜é‚›é‚”é˜¢é˜¤é˜ é˜£ä½–ä¼»ä½¢ä½‰ä½“ä½¤ä¼¾ä½§ä½’ä½Ÿä½ä½˜ä¼ä¼³ä¼¿ä½¡å†å†¹åˆœåˆžåˆ¡åŠåŠ®åŒ‰å£å²åŽŽåŽå°å·åªå‘”å‘…å™åœå¥å˜"], +["caa1","å½å‘å‘å¨å¤å‘‡å›®å›§å›¥åå…åŒå‰å‹å’å¤†å¥€å¦¦å¦˜å¦ å¦—å¦Žå¦¢å¦å¦å¦§å¦¡å®Žå®’尨尪å²å²å²ˆå²‹å²‰å²’å²Šå²†å²“å²•å· å¸Šå¸Žåº‹åº‰åºŒåºˆåºå¼…å¼å½¸å½¶å¿’å¿‘å¿å¿å¿¨å¿®å¿³å¿¡å¿¤å¿£å¿ºå¿¯å¿·å¿»æ€€å¿´æˆºæŠƒæŠŒæŠŽæŠæŠ”æŠ‡æ‰±æ‰»æ‰ºæ‰°æŠæŠˆæ‰·æ‰½æ‰²æ‰´æ”·æ—°æ—´æ—³æ—²æ—µæ…æ‡"], +["cb40","æ™æ•æŒæˆæææšæ‹æ¯æ°™æ°šæ±¸æ±§æ±«æ²„æ²‹æ²æ±±æ±¯æ±©æ²šæ±æ²‡æ²•沜汦汳汥汻沎ç´çºç‰£çŠ¿çŠ½ç‹ƒç‹†ç‹çŠºç‹…çŽ•çŽ—çŽ“çŽ”çŽ’ç”ºç”¹ç–”ç–•çšç¤½è€´è‚•è‚™è‚肒肜èŠèŠèŠ…èŠŽèŠ‘èŠ“"], +["cba1","èŠŠèŠƒèŠ„è±¸è¿‰è¾¿é‚Ÿé‚¡é‚¥é‚žé‚§é‚ é˜°é˜¨é˜¯é˜ä¸³ä¾˜ä½¼ä¾…佽侀侇佶佴侉侄佷佌侗佪侚佹ä¾ä½¸ä¾ä¾œä¾”侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿å’咑咂咈呫呺呾呥呬呴呦å’å‘¯å‘¡å‘ å’˜å‘£å‘§å‘¤å›·å›¹å¯å²åå«å±å°å¶åž€åµå»å³å´å¢"], +["cc40","å¨å½å¤Œå¥…妵妺å§å§Žå¦²å§Œå§å¦¶å¦¼å§ƒå§–妱妽姀姈妴姇å¢å¥å®“å®•å±„å±‡å²®å²¤å² å²µå²¯å²¨å²¬å²Ÿå²£å²å²¢å²ªå²§å²å²¥å²¶å²°å²¦å¸—å¸”å¸™å¼¨å¼¢å¼£å¼¤å½”å¾‚å½¾å½½å¿žå¿¥æ€æ€¦æ€™æ€²æ€‹"], +["cca1","æ€´æ€Šæ€—æ€³æ€šæ€žæ€¬æ€¢æ€æ€æ€®æ€“æ€‘æ€Œæ€‰æ€œæˆ”æˆ½æŠæŠ´æ‹‘æŠ¾æŠªæŠ¶æ‹ŠæŠ®æŠ³æŠ¯æŠ»æŠ©æŠ°æŠ¸æ”½æ–¨æ–»æ˜‰æ—¼æ˜„æ˜’æ˜ˆæ—»æ˜ƒæ˜‹æ˜æ˜…æ—½æ˜‘æ˜æ›¶æœŠæž…æ¬æžŽæž’æ¶æ»æž˜æž†æž„æ´æžæžŒæºæžŸæž‘æž™æžƒæ½æžæ¸æ¹æž”æ¬¥æ®€æ¾æ¯žæ°æ²“æ³¬æ³«æ³®æ³™æ²¶æ³”æ²æ³§æ²·æ³æ³‚æ²ºæ³ƒæ³†æ³æ³²"], +["cd40","æ³’æ³æ²´æ²Šæ²æ²€æ³žæ³€æ´°æ³æ³‡æ²°æ³¹æ³æ³©æ³‘炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡çŽçŽ¦çŽ¢çŽ çŽ¬çŽç“瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"], +["cda1","矷祂礿秅穸穻竻籵糽耵è‚肮肣肸肵è‚èˆ èŠ è‹€èŠ«èŠšèŠ˜èŠ›èŠµèŠ§èŠ®èŠ¼èŠžèŠºèŠ´èŠ¨èŠ¡èŠ©è‹‚èŠ¤è‹ƒèŠ¶èŠ¢è™°è™¯è™è™®è±–è¿’è¿‹è¿“è¿è¿–迕迗邲邴邯邳邰阹阽阼阺陃ä¿ä¿…俓侲俉俋ä¿ä¿”俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽å¼åŽ—åŽ–åŽ™åŽ˜å’ºå’¡å’å’¥å“"], +["ce40","哃èŒå’·å’®å“–å’¶å“…å“†å’ å‘°å’¼å’¢å’¾å‘²å“žå’°åžµåžžåžŸåž¤åžŒåž—åžåž›åž”垘åžåž™åž¥åžšåž•壴å¤å¥“姡姞姮娀姱å§å§ºå§½å§¼å§¶å§¤å§²å§·å§›å§©å§³å§µå§ 姾姴å§å®¨å±Œå³å³˜å³Œå³—峋峛"], +["cea1","峞峚峉峇峊峖峓峔å³å³ˆå³†å³Žå³Ÿå³¸å·¹å¸¡å¸¢å¸£å¸ å¸¤åº°åº¤åº¢åº›åº£åº¥å¼‡å¼®å½–å¾†æ€·æ€¹æ”æ²æžæ…æ“æ‡æ‰æ›æŒæ€æ‚æŸæ€¤æ„æ˜æ¦æ®æ‰‚æ‰ƒæ‹æŒæŒ‹æ‹µæŒŽæŒƒæ‹«æ‹¹æŒæŒŒæ‹¸æ‹¶æŒ€æŒ“æŒ”æ‹ºæŒ•æ‹»æ‹°æ•æ•ƒæ–ªæ–¿æ˜¶æ˜¡æ˜²æ˜µæ˜œæ˜¦æ˜¢æ˜³æ˜«æ˜ºæ˜æ˜´æ˜¹æ˜®æœæœæŸæŸ²æŸˆæžº"], +["cf40","æŸœæž»æŸ¸æŸ˜æŸ€æž·æŸ…æŸ«æŸ¤æŸŸæžµæŸæž³æŸ·æŸ¶æŸ®æŸ£æŸ‚æž¹æŸŽæŸ§æŸ°æž²æŸ¼æŸ†æŸæŸŒæž®æŸ¦æŸ›æŸºæŸ‰æŸŠæŸƒæŸªæŸ‹æ¬¨æ®‚æ®„æ®¶æ¯–æ¯˜æ¯ æ° æ°¡æ´¨æ´´æ´æ´Ÿæ´¼æ´¿æ´’æ´Šæ³šæ´³æ´„æ´™æ´ºæ´šæ´‘æ´€æ´æµ‚"], +["cfa1","æ´æ´˜æ´·æ´ƒæ´æµ€æ´‡æ´ 洬洈洢洉æ´ç‚·ç‚Ÿç‚¾ç‚±ç‚°ç‚¡ç‚´ç‚µç‚©ç‰ç‰‰ç‰Šç‰¬ç‰°ç‰³ç‰®ç‹Šç‹¤ç‹¨ç‹«ç‹Ÿç‹ªç‹¦ç‹£çŽ…çŒç‚çˆç…玹玶玵玴ç«çŽ¿ç‡ç޾çƒç†çޏç‹ç“¬ç“®ç”®ç•‡ç•ˆç–§ç–ªç™¹ç›„çœˆçœƒçœ„çœ…çœŠç›·ç›»ç›ºçŸ§çŸ¨ç †ç ‘ç ’ç …ç ç ç Žç ‰ç ƒç “ç¥Šç¥Œç¥‹ç¥…ç¥„ç§•ç§ç§ç§–秎窀"], +["d040","穾竑笀ç¬ç±ºç±¸ç±¹ç±¿ç²€ç²ç´ƒç´ˆç´ç½˜ç¾‘ç¾ç¾¾è€‡è€Žè€è€”è€·èƒ˜èƒ‡èƒ èƒ‘èƒˆèƒ‚èƒèƒ…胣胙胜胊胕胉èƒèƒ—胦èƒè‡¿èˆ¡èŠ”è‹™è‹¾è‹¹èŒ‡è‹¨èŒ€è‹•èŒºè‹«è‹–è‹´è‹¬è‹¡è‹²è‹µèŒŒè‹»è‹¶è‹°è‹ª"], +["d0a1","è‹¤è‹ è‹ºè‹³è‹è™·è™´è™¼è™³è¡è¡Žè¡§è¡ªè¡©è§“è¨„è¨‡èµ²è¿£è¿¡è¿®è¿ éƒ±é‚½é‚¿éƒ•éƒ…é‚¾éƒ‡éƒ‹éƒˆé‡”é‡“é™”é™é™‘é™“é™Šé™Žå€žå€…å€‡å€“å€¢å€°å€›ä¿µä¿´å€³å€·å€¬ä¿¶ä¿·å€—å€œå€ å€§å€µå€¯å€±å€Žå…šå†”å†“å‡Šå‡„å‡…å‡ˆå‡Žå‰¡å‰šå‰’å‰žå‰Ÿå‰•å‰¢å‹åŒŽåŽžå”¦å“¢å”—å”’å“§å“³å“¤å”šå“¿å”„å”ˆå“«å”‘å”…å“±"], +["d140","å”Šå“»å“·å“¸å“ å”Žå”ƒå”‹åœåœ‚åŸŒå ²åŸ•åŸ’åžºåŸ†åž½åž¼åž¸åž¶åž¿åŸ‡åŸåž¹åŸå¤Žå¥Šå¨™å¨–å¨å¨®å¨•å¨å¨—娊娞娳å¬å®§å®å®¬å°ƒå±–å±”å³¬å³¿å³®å³±å³·å´€å³¹å¸©å¸¨åº¨åº®åºªåº¬å¼³å¼°å½§ææšæ§"], +["d1a1","ææ‚¢æ‚ˆæ‚€æ‚’æ‚æ‚æ‚ƒæ‚•æ‚›æ‚—æ‚‡æ‚œæ‚Žæˆ™æ‰†æ‹²æŒæ–æŒ¬æ„æ…æŒ¶æƒæ¤æŒ¹æ‹æŠæŒ¼æŒ©ææŒ´æ˜æ”æ™æŒæ‡æŒ³æšæ‘æŒ¸æ—æ€æˆæ•Šæ•†æ—†æ—ƒæ—„æ—‚æ™Šæ™Ÿæ™‡æ™‘æœ’æœ“æ Ÿæ šæ¡‰æ ²æ ³æ »æ¡‹æ¡æ –æ ±æ œæ µæ «æ æ ¯æ¡Žæ¡„æ ´æ æ ’æ ”æ ¦æ ¨æ ®æ¡æ ºæ ¥æ æ¬¬æ¬¯æ¬æ¬±æ¬´æè‚‚殈毦毤"], +["d240","æ¯¨æ¯£æ¯¢æ¯§æ°¥æµºæµ£æµ¤æµ¶æ´æµ¡æ¶’æµ˜æµ¢æµæµ¯æ¶‘æ¶æ·¯æµ¿æ¶†æµžæµ§æµ 涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵æ¶çƒœçƒ“烑çƒçƒ‹ç¼¹çƒ¢çƒ—çƒ’çƒžçƒ çƒ”çƒçƒ…烆烇烚烎烡牂牸"], +["d2a1","牷牶猀狺狴狾狶狳狻çŒç“ç™ç¥ç–玼ç§ç£ç©çœç’ç›ç”ççšç—ç˜ç¨ç“žç“Ÿç“´ç“µç”¡ç•›ç•Ÿç–°ç—疻痄痀疿疶疺皊盉çœçœ›çœçœ“çœ’çœ£çœ‘çœ•çœ™çœšçœ¢çœ§ç £ç ¬ç ¢ç µç ¯ç ¨ç ®ç «ç ¡ç ©ç ³ç ªç ±ç¥”ç¥›ç¥ç¥œç¥“ç¥’ç¥‘ç§«ç§¬ç§ ç§®ç§ç§ªç§œç§žç§çª†çª‰çª…窋窌窊窇竘ç¬"], +["d340","笄笓笅ç¬ç¬ˆç¬Šç¬Žç¬‰ç¬’粄粑粊粌粈ç²ç²…ç´žç´ç´‘紎紘紖紓紟紒ç´ç´Œç½œç½¡ç½žç½ ç½ç½›ç¾–羒翃翂翀耖耾耹胺胲胹胵è„胻脀èˆèˆ¯èˆ¥èŒ³èŒè„茙è‘茥è–茿è茦茜茢"], +["d3a1","è‚èŽèŒ›èŒªèŒˆèŒ¼èèŒ–èŒ¤èŒ èŒ·èŒ¯èŒ©è‡è…èŒè“茞茬è‹èŒ§èˆè™“虒蚢蚨蚖èšèš‘蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎èšèšèš”衃衄è¡è¡µè¡¶è¡²è¢€è¡±è¡¿è¡¯è¢ƒè¡¾è¡´è¡¼è¨’è±‡è±—è±»è²¤è²£èµ¶èµ¸è¶µè¶·è¶¶è»‘è»“è¿¾è¿µé€‚è¿¿è¿»é€„è¿¼è¿¶éƒ–éƒ éƒ™éƒšéƒ£éƒŸéƒ¥éƒ˜éƒ›éƒ—éƒœéƒ¤é…"], +["d440","é…Žé…釕釢釚陜陟隼飣髟鬯乿å°åªå¡åžå å“å‹åå²åˆååå›åŠå¢å€•å…åŸå©å«å£å¤å†å€å®å³å—å‘å‡å‰«å‰å‰¬å‰®å‹–å‹“åŒåŽœå•µå•¶å”¼å•å•唴唪啑啢唶唵唰啒啅"], +["d4a1","唌唲啥啎唹啈å”å”»å•€å•‹åœŠåœ‡åŸ»å ”åŸ¢åŸ¶åŸœåŸ´å €åŸåŸ½å ˆåŸ¸å ‹åŸ³åŸå ‡åŸ®åŸ£åŸ²åŸ¥åŸ¬åŸ¡å ŽåŸ¼å 埧å å ŒåŸ±åŸ©åŸ°å å „å¥œå© å©˜å©•å©§å©žå¨¸å¨µå©å©å©Ÿå©¥å©¬å©“婤婗婃å©å©’婄婛婈媎娾å©å¨¹å©Œå©°å©©å©‡å©‘婖婂婜å²å®å¯å¯€å±™å´žå´‹å´å´šå´ 崌崨å´å´¦å´¥å´"], +["d540","å´°å´’å´£å´Ÿå´®å¸¾å¸´åº±åº´åº¹åº²åº³å¼¶å¼¸å¾›å¾–å¾Ÿæ‚Šæ‚æ‚†æ‚¾æ‚°æ‚ºæƒ“æƒ”æƒæƒ¤æƒ™æƒæƒˆæ‚±æƒ›æ‚·æƒŠæ‚¿æƒƒæƒæƒ€æŒ²æ¥æŽŠæŽ‚æ½æŽ½æŽžæŽæŽæŽ—æŽ«æŽŽæ¯æŽ‡æŽæ®æŽ¯æµæŽœææŽ®æ¼æŽ¤æŒ»æŽŸ"], +["d5a1","æ¸æŽ…æŽæŽ‘æŽæ°æ•“æ—æ™¥æ™¡æ™›æ™™æ™œæ™¢æœ˜æ¡¹æ¢‡æ¢æ¢œæ¡æ¡®æ¢®æ¢«æ¥–æ¡¯æ¢£æ¢¬æ¢©æ¡µæ¡´æ¢²æ¢æ¡·æ¢’æ¡¼æ¡«æ¡²æ¢ªæ¢€æ¡±æ¡¾æ¢›æ¢–æ¢‹æ¢ æ¢‰æ¢¤æ¡¸æ¡»æ¢‘æ¢Œæ¢Šæ¡½æ¬¶æ¬³æ¬·æ¬¸æ®‘æ®æ®æ®Žæ®Œæ°ªæ·€æ¶«æ¶´æ¶³æ¹´æ¶¬æ·©æ·¢æ¶·æ·¶æ·”æ¸€æ·ˆæ· æ·Ÿæ·–æ¶¾æ·¥æ·œæ·æ·›æ·´æ·Šæ¶½æ·æ·°æ¶ºæ·•æ·‚æ·æ·‰"], +["d640","æ·æ·²æ·“æ·½æ·—æ·æ·£æ¶»çƒºç„烷焗烴焌烰焄烳ç„烼烿焆焓焀烸烶焋焂焎牾牻牼牿çŒçŒ—猇猑猘猊猈狿çŒçŒžçŽˆç¶ç¸çµç„çç½ç‡ç€çºç¼ç¿çŒç‹ç´çˆç•¤ç•£ç—Žç—’ç—"], +["d6a1","痋痌痑ç—çšçš‰ç›“眹眯çœçœ±çœ²çœ´çœ³çœ½çœ¥çœ»çœµç¡ˆç¡’硉ç¡ç¡Šç¡Œç ¦ç¡…ç¡ç¥¤ç¥§ç¥©ç¥ªç¥£ç¥«ç¥¡ç¦»ç§ºç§¸ç§¶ç§·çªçª”çªç¬µç‡ç¬´ç¬¥ç¬°ç¬¢ç¬¤ç¬³ç¬˜ç¬ªç¬ç¬±ç¬«ç¬ç¬¯ç¬²ç¬¸ç¬šç¬£ç²”粘粖粣紵紽紸紶紺絅紬紩çµçµ‡ç´¾ç´¿çµŠç´»ç´¨ç½£ç¾•羜ç¾ç¾›ç¿Šç¿‹ç¿ç¿ç¿‘翇ç¿ç¿‰è€Ÿ"], +["d740","耞耛è‡èƒèˆè„˜è„¥è„™è„›è„脟脬脞脡脕脧è„脢舑舸舳舺舴舲艴èŽèŽ£èŽ¨èŽèºè³èޤè´èŽèŽèŽ•èŽ™èµèŽ”èŽ©è½èŽƒèŽŒèŽèŽ›èŽªèŽ‹è¾èŽ¥èŽ¯èŽˆèŽ—èŽ°è¿èŽ¦èŽ‡èŽ®è¶èŽšè™™è™–èš¿èš·"], +["d7a1","蛂è›è›…蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜è±è±½è²¥èµ½èµ»èµ¹è¶¼è·‚趹趿è·è»˜è»žè»è»œè»—è» è»¡é€¤é€‹é€‘é€œé€Œé€¡éƒ¯éƒªéƒ°éƒ´éƒ²éƒ³éƒ”éƒ«éƒ¬éƒ©é…–é…˜é…šé…“é…•é‡¬é‡´é‡±é‡³é‡¸é‡¤é‡¹é‡ª"], +["d840","釫釷釨釮镺閆閈陼é™é™«é™±é™¯éš¿éªé „飥馗傛傕傔傞傋傣傃傌傎å‚å¨å‚œå‚’傂傇兟凔匒匑厤厧喑喨喥å–啷噅喢喓喈å–å–µå–å–£å–’å–¤å•½å–Œå–¦å•¿å–•å–¡å–ŽåœŒå ©å ·"], +["d8a1","å ™å žå §å £å ¨åŸµå¡ˆå ¥å œå ›å ³å ¿å ¶å ®å ¹å ¸å å ¬å »å¥¡åª¯åª”åªŸå©ºåª¢åªžå©¸åª¦å©¼åª¥åª¬åª•åª®å¨·åª„åªŠåª—åªƒåª‹åª©å©»å©½åªŒåªœåªåª“åªå¯ªå¯å¯‹å¯”寑寊寎尌尰崷嵃嵫åµåµ‹å´¿å´µåµ‘嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄å¹å½˜å¾¦å¾¥å¾«æƒ‰æ‚¹æƒŒæƒ¢æƒŽæƒ„æ„”"], +["d940","æƒ²æ„Šæ„–æ„…æƒµæ„“æƒ¸æƒ¼æƒ¾æƒæ„ƒæ„˜æ„æ„æƒ¿æ„„æ„‹æ‰ŠæŽ”æŽ±æŽ°æŽæ¥æ¨æ¯æƒæ’æ³æŠæ æ¶æ•æ²æµæ‘¡æŸæŽ¾ææœæ„æ˜æ“æ‚æ‡æŒæ‹æˆæ°æ—æ™æ”²æ•§æ•ªæ•¤æ•œæ•¨æ•¥æ–Œæ–æ–žæ–®æ—æ—’"], +["d9a1","æ™¼æ™¬æ™»æš€æ™±æ™¹æ™ªæ™²æœæ¤Œæ£“æ¤„æ£œæ¤ªæ£¬æ£ªæ£±æ¤æ£–æ£·æ£«æ£¤æ£¶æ¤“æ¤æ£³æ£¡æ¤‡æ£Œæ¤ˆæ¥°æ¢´æ¤‘æ£¯æ£†æ¤”æ£¸æ£æ£½æ£¼æ£¨æ¤‹æ¤Šæ¤—æ£Žæ£ˆæ£æ£žæ£¦æ£´æ£‘æ¤†æ£”æ£©æ¤•æ¤¥æ£‡æ¬¹æ¬»æ¬¿æ¬¼æ®”æ®—æ®™æ®•æ®½æ¯°æ¯²æ¯³æ°°æ·¼æ¹†æ¹‡æ¸Ÿæ¹‰æºˆæ¸¼æ¸½æ¹…æ¹¢æ¸«æ¸¿æ¹æ¹æ¹³æ¸œæ¸³æ¹‹æ¹€æ¹‘渻渃渮湞"], +["da40","æ¹¨æ¹œæ¹¡æ¸±æ¸¨æ¹ æ¹±æ¹«æ¸¹æ¸¢æ¸°æ¹“æ¹¥æ¸§æ¹¸æ¹¤æ¹·æ¹•æ¹¹æ¹’æ¹¦æ¸µæ¸¶æ¹šç„ ç„žç„¯çƒ»ç„®ç„±ç„£ç„¥ç„¢ç„²ç„Ÿç„¨ç„ºç„›ç‰‹ç‰šçŠˆçŠ‰çŠ†çŠ…çŠ‹çŒ’çŒ‹çŒ°çŒ¢çŒ±çŒ³çŒ§çŒ²çŒçŒ¦çŒ£çŒµçŒŒç®ç¬ç°ç«ç–"], +["daa1","çšç¡çç±ç¤ç£çç©ç ç²ç“»ç”¯ç•¯ç•¬ç—§ç—šç—¡ç—¦ç—痟痤痗皕皒盚ç†ç‡ç„çç…çŠçŽç‹çŒçŸžçŸ¬ç¡ 硤硥硜ç¡ç¡±ç¡ªç¡®ç¡°ç¡©ç¡¨ç¡žç¡¢ç¥´ç¥³ç¥²ç¥°ç¨‚稊稃稌稄窙竦竤çŠç¬»ç„çˆçŒçŽç€ç˜ç…粢粞粨粡絘絯絣絓絖絧絪çµçµçµœçµ«çµ’絔絩絑絟絎缾缿罥"], +["db40","ç½¦ç¾¢ç¾ ç¾¡ç¿—è‘èè胾胔腃腊腒è…腇脽è…脺臦臮臷臸臹舄舼舽舿艵茻èè¹è£è€è¨è’è§è¤è¼è¶èè†èˆè«è£èŽ¿èèè¥è˜è¿è¡è‹èŽè–èµè‰è‰èèžè‘è†è‚è³"], +["dba1","è•èºè‡è‘èªè“èƒè¬è®è„è»è—è¢è›è›è¾è›˜è›¢è›¦è›“蛣蛚蛪è›è›«è›œè›¬è›©è›—蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲è¤è£‰è¦•覘覗è§è§šè§›è©Žè©è¨¹è©™è©€è©—詘詄詅詒詈詑詊詌è©è±Ÿè²è²€è²ºè²¾è²°è²¹è²µè¶„趀趉跘跓è·è·‡è·–è·œè·è·•跙跈跗跅軯軷軺"], +["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩é€é€´é€¯é„†é„¬é„„郿郼鄈郹郻é„é„€é„‡é„…é„ƒé…¡é…¤é…Ÿé…¢é… éˆéˆŠéˆ¥éˆƒéˆšéˆ¦éˆéˆŒéˆ€éˆ’釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻é–é–Œé–隇陾隈"], +["dca1","隉隃隀雂雈雃雱雰é¬é°é®é ‡é¢©é£«é³¦é»¹äºƒäº„亶傽傿僆傮僄僊傴僈僂傰åƒå‚ºå‚±åƒ‹åƒ‰å‚¶å‚¸å‡—剺剸剻剼嗃嗛嗌å—å—‹å—Šå—嗀嗔嗄嗩喿嗒å–å—嗕嗢嗖嗈嗲å—嗙嗂圔塓塨塤å¡å¡å¡‰å¡¯å¡•塎å¡å¡™å¡¥å¡›å ½å¡£å¡±å£¼å«‡å«„嫋媺媸媱媵媰媿嫈媻嫆"], +["dd40","媷嫀嫊媴媶å«åª¹åªå¯–寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰å¹å¹Žå¹Šå¹å¹‹å»…å»Œå»†å»‹å»‡å½€å¾¯å¾æƒ·æ…‰æ…Šæ„«æ……æ„¶æ„²æ„®æ…†æ„¯æ…æ„©æ…€æˆ é…¨æˆ£æˆ¥æˆ¤æ…æ±æ«ææ’æ‰æ æ¤"], +["dda1","æ³æ‘ƒæŸæ•æ˜æ¹æ·æ¢æ£æŒæ¦æ°æ¨æ‘æµæ¯æŠæšæ‘€æ¥æ§æ‹æ§æ›æ®æ¡æŽæ•¯æ–’æ—“æš†æšŒæš•æšæš‹æšŠæš™æš”æ™¸æœ æ¥¦æ¥Ÿæ¤¸æ¥Žæ¥¢æ¥±æ¤¿æ¥…æ¥ªæ¤¹æ¥‚æ¥—æ¥™æ¥ºæ¥ˆæ¥‰æ¤µæ¥¬æ¤³æ¤½æ¥¥æ£°æ¥¸æ¤´æ¥©æ¥€æ¥¯æ¥„æ¥¶æ¥˜æ¥æ¥´æ¥Œæ¤»æ¥‹æ¤·æ¥œæ¥æ¥‘æ¤²æ¥’æ¤¯æ¥»æ¤¼æ†æ…æƒæ‚æˆææ®›ï¨æ¯»æ¯¼"], +["de40","æ¯¹æ¯·æ¯¸æº›æ»–æ»ˆæºæ»€æºŸæº“æº”æº æº±æº¹æ»†æ»’æº½æ»æºžæ»‰æº·æº°æ»æº¦æ»æº²æº¾æ»ƒæ»œæ»˜æº™æº’æºŽæºæº¤æº¡æº¿æº³æ»æ»Šæº—æº®æº£ç…‡ç…”ç…’ç…£ç… ç…ç…煢煲煸煪煡煂煘煃煋煰煟ç…ç…“"], +["dea1","ç…„ç…ç…šç‰çŠçŠŒçŠ‘çŠçŠŽçŒ¼ç‚猻猺ç€çŠç‰ç‘„瑊瑋瑒瑑瑗瑀ç‘ç‘瑎瑂瑆ç‘瑔瓡瓿瓾瓽ç”畹畷榃痯ç˜ç˜ƒç—·ç—¾ç—¼ç—¹ç—¸ç˜ç—»ç—¶ç—痵痽皙皵ç›ç•çŸç ç’ç–çšç©ç§ç”ç™ççŸ ç¢‡ç¢šç¢”ç¢ç¢„碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"], +["df40","稛ç¨çª£çª¢çªžç««ç¦ç¤çç´ç©ç²ç¥ç³ç±ç°ç¡ç¸ç¶ç£ç²²ç²´ç²¯ç¶ˆç¶†ç¶€ç¶çµ¿ç¶…絺綎絻綃絼綌綔綄絽綒ç½ç½«ç½§ç½¨ç½¬ç¾¦ç¾¥ç¾§ç¿›ç¿œè€¡è…¤è… 腷腜腩腛腢腲朡腞腶腧腯"], +["dfa1","è…„è…¡èˆè‰‰è‰„艀艂艅蓱è¿è‘–葶葹è’è’葥葑葀蒆葧è°è‘葽葚葙葴葳è‘蔇葞è·èºè´è‘ºè‘ƒè‘¸è²è‘…è©è™è‘‹è¯è‘‚è葟葰è¹è‘Žè‘Œè‘’葯蓅蒎è»è‘‡è¶è³è‘¨è‘¾è‘„è«è‘ 葔葮è‘蜋蜄蛷蜌蛺蛖蛵è蛸蜎蜉èœè›¶èœèœ…裖裋è£è£Žè£žè£›è£šè£Œè£è¦…覛觟觥觤"], +["e040","è§¡è§ è§¢è§œè§¦è©¶èª†è©¿è©¡è¨¿è©·èª‚èª„è©µèªƒèªè©´è©ºè°¼è±‹è±Šè±¥è±¤è±¦è²†è²„貅賌赨赩趑趌趎è¶è¶è¶“è¶”è¶è¶’è·°è· è·¬è·±è·®è·è·©è·£è·¢è·§è·²è·«è·´è¼†è»¿è¼è¼€è¼…輇輈輂輋é’逿"], +["e0a1","é„é‰é€½é„é„é„鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆é‰é‰¬é‰é‰ 鉧鉯鈶鉡鉰鈱鉔鉣é‰é‰²é‰Žé‰“鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵é³é·é¸é²é é é Žé¢¬é£¶é£¹é¦¯é¦²é¦°é¦µéªéª«é›é³ªé³é³§éº€é»½åƒ¦åƒ”僗僨僳僛僪åƒåƒ¤åƒ“åƒ¬åƒ°åƒ¯åƒ£åƒ "], +["e140","凘劀åŠå‹©å‹«åŒ°åŽ¬å˜§å˜•å˜Œå˜’å—¼å˜å˜œå˜å˜“嘂嗺å˜å˜„嗿嗹墉塼å¢å¢˜å¢†å¢å¡¿å¡´å¢‹å¡ºå¢‡å¢‘墎塶墂墈塻墔å¢å£¾å¥«å«œå«®å«¥å«•嫪嫚å«å««å«³å«¢å« 嫛嫬嫞å«å«™å«¨å«Ÿå·å¯ "], +["e1a1","寣屣嶂嶀嵽嶆嵺å¶åµ·å¶Šå¶‰å¶ˆåµ¾åµ¼å¶åµ¹åµ¿å¹˜å¹™å¹“å»˜å»‘å»—å»Žå»œå»•å»™å»’å»”å½„å½ƒå½¯å¾¶æ„¬æ„¨æ…æ…žæ…±æ…³æ…’æ…“æ…²æ…¬æ†€æ…´æ…”æ…ºæ…›æ…¥æ„»æ…ªæ…¡æ…–æˆ©æˆ§æˆ«æ«æ‘æ‘›æ‘æ‘´æ‘¶æ‘²æ‘³æ‘½æ‘µæ‘¦æ’¦æ‘Žæ’‚æ‘žæ‘œæ‘‹æ‘“æ‘ æ‘æ‘¿æ¿æ‘¬æ‘«æ‘™æ‘¥æ‘·æ•³æ– æš¡æš æšŸæœ…æœ„æœ¢æ¦±æ¦¶æ§‰"], +["e240","æ¦ æ§Žæ¦–æ¦°æ¦¬æ¦¼æ¦‘æ¦™æ¦Žæ¦§æ¦æ¦©æ¦¾æ¦¯æ¦¿æ§„æ¦½æ¦¤æ§”æ¦¹æ§Šæ¦šæ§æ¦³æ¦“æ¦ªæ¦¡æ¦žæ§™æ¦—æ¦æ§‚æ¦µæ¦¥æ§†æŠææ‹æ®žæ®Ÿæ® æ¯ƒæ¯„æ¯¾æ»Žæ»µæ»±æ¼ƒæ¼¥æ»¸æ¼·æ»»æ¼®æ¼‰æ½Žæ¼™æ¼šæ¼§æ¼˜æ¼»æ¼’æ»æ¼Š"], +["e2a1","æ¼¶æ½³æ»¹æ»®æ¼æ½€æ¼°æ¼¼æ¼µæ»«æ¼‡æ¼Žæ½ƒæ¼…æ»½æ»¶æ¼¹æ¼œæ»¼æ¼ºæ¼Ÿæ¼æ¼žæ¼ˆæ¼¡ç†‡ç†ç†‰ç†€ç†…熂ç†ç…»ç††ç†ç†—牄牓犗犕犓çƒçç‘çŒç‘¢ç‘³ç‘±ç‘µç‘²ç‘§ç‘®ç”€ç”‚甃畽ç–瘖瘈瘌瘕瘑瘊瘔皸çžç¼çž…çž‚ç®çž€ç¯ç¾çžƒç¢²ç¢ªç¢´ç¢ç¢¨ç¡¾ç¢«ç¢žç¢¥ç¢ 碬碢碤禘禊禋禖禕禔禓"], +["e340","禗禈禒ç¦ç¨«ç©Šç¨°ç¨¯ç¨¨ç¨¦çª¨çª«çª¬ç«®ç®ˆç®œç®Šç®‘ç®ç®–ç®ç®Œç®›ç®Žç®…箘劄箙箤箂粻粿粼粺綧綷緂綣綪ç·ç·€ç·…ç¶ç·Žç·„緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"], +["e3a1","耤èèœè†‰è††è†ƒè†‡è†è†Œè†‹èˆ•蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴è“è“蒪蒚蒱è“è’蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶è“è’ è“—è“”è“’è“›è’°è’‘è™¡èœ³èœ£èœ¨è«è€èœ®èœžèœ¡èœ™èœ›èƒèœ¬è蜾è†èœ 蜲蜪èœèœ¼èœ’蜺蜱蜵è‚蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"], +["e440","裰裬裫è¦è¦¡è¦Ÿè¦žè§©è§«è§¨èª«èª™èª‹èª’èªèª–谽豨豩賕è³è³—趖踉踂跿è¸è·½è¸Šè¸ƒè¸‡è¸†è¸…跾踀踄è¼è¼‘輎è¼é„£é„œé„ 鄢鄟é„é„šé„¤é„¡é„›é…ºé…²é…¹é…³éŠ¥éŠ¤é‰¶éŠ›é‰ºéŠ éŠ”éŠªéŠ"], +["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩éŠéŠ‹éˆéšžéš¡é›¿é˜é½éºé¾éžƒéž€éž‚é»éž„éžé¿éŸŽéŸé –é¢é¢®é¤‚餀餇é¦é¦œé§ƒé¦¹é¦»é¦ºé§‚馽駇骱髣髧鬾鬿é é¡éŸé³±é³²é³µéº§åƒ¿å„ƒå„°åƒ¸å„†å„‡åƒ¶åƒ¾å„‹å„Œåƒ½å„ŠåŠ‹åŠŒå‹±å‹¯å™ˆå™‚å™Œå˜µå™å™Šå™‰å™†å™˜"], +["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫å¢å¢±å¢ 墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹å¬å¬‡å¬…å¬å±§å¶™å¶—å¶Ÿå¶’å¶¢å¶“å¶•å¶ å¶œå¶¡å¶šå¶žå¹©å¹å¹ 幜緳廛廞廡彉徲憋憃慹憱憰憢憉"], +["e5a1","æ†›æ†“æ†¯æ†æ†Ÿæ†’æ†ªæ†¡æ†æ…¦æ†³æˆæ‘®æ‘°æ’–æ’ æ’…æ’—æ’œæ’æ’‹æ’Šæ’Œæ’£æ’Ÿæ‘¨æ’±æ’˜æ•¶æ•ºæ•¹æ•»æ–²æ–³æšµæš°æš©æš²æš·æšªæš¯æ¨€æ¨†æ¨—æ§¥æ§¸æ¨•æ§±æ§¤æ¨ æ§¿æ§¬æ§¢æ¨›æ¨æ§¾æ¨§æ§²æ§®æ¨”æ§·æ§§æ©€æ¨ˆæ§¦æ§»æ¨æ§¼æ§«æ¨‰æ¨„æ¨˜æ¨¥æ¨æ§¶æ¨¦æ¨‡æ§´æ¨–æ‘æ®¥æ®£æ®¢æ®¦æ°æ°€æ¯¿æ°‚æ½æ¼¦æ½¾æ¾‡æ¿†æ¾’"], +["e640","æ¾æ¾‰æ¾Œæ½¢æ½æ¾…æ½šæ¾–æ½¶æ½¬æ¾‚æ½•æ½²æ½’æ½æ½—æ¾”æ¾“æ½æ¼€æ½¡æ½«æ½½æ½§æ¾æ½“æ¾‹æ½©æ½¿æ¾•æ½£æ½·æ½ªæ½»ç†²ç†¯ç†›ç†°ç† ç†šç†©ç†µç†ç†¥ç†žç†¤ç†¡ç†ªç†œç†§ç†³çŠ˜çŠšç˜ç’çžçŸç çç›ç¡çšç™"], +["e6a1","ç¢ç’‡ç’‰ç’Šç’†ç’瑽璅璈瑼瑹甈甇畾瘥瘞瘙ç˜ç˜œç˜£ç˜šç˜¨ç˜›çšœçšçšžçš›çžçžçž‰çžˆç£ç¢»ç£ç£Œç£‘ç£Žç£”ç£ˆç£ƒç£„ç£‰ç¦šç¦¡ç¦ ç¦œç¦¢ç¦›æ¶ç¨¹çª²çª´çª³ç®·ç¯‹ç®¾ç®¬ç¯Žç®¯ç®¹ç¯Šç®µç³…糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰ç¾ç¿ç¿«ç¿ªç¿¬ç¿¦ç¿¨è¤è§è†£è†Ÿ"], +["e740","膞膕膢膙膗舖è‰è‰“艒è‰è‰Žè‰‘蔤蔻è”蔀蔩蔎蔉è”蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨è”è”®è”‚è“½è”žè“¶è”±è”¦è“§è“¨è“°è“¯è“¹è”˜è” è”°è”‹è”™è”¯è™¢"], +["e7a1","è–è£è¤è·èŸ¡è³è˜è”è›è’è¡èšè‘èžèèªèèŽèŸèè¯è¬èºè®èœè¥èè»èµè¢è§è©è¡šè¤…褌褔褋褗褘褙褆褖褑褎褉覢覤覣è§è§°è§¬è«è«†èª¸è«“諑諔諕誻諗誾諀諅諘諃誺誽諙谾è±è²è³¥è³Ÿè³™è³¨è³šè³è³§è¶ è¶œè¶¡è¶›è¸ è¸£è¸¥è¸¤è¸®è¸•è¸›è¸–è¸‘è¸™è¸¦è¸§"], +["e840","è¸”è¸’è¸˜è¸“è¸œè¸—è¸šè¼¬è¼¤è¼˜è¼šè¼ è¼£è¼–è¼—é³é°é¯é§é«é„¯é„«é„©é„ªé„²é„¦é„®é†…醆醊é†é†‚醄醀é‹é‹ƒé‹„鋀鋙銶é‹é‹±é‹Ÿé‹˜é‹©é‹—é‹é‹Œé‹¯é‹‚鋨鋊鋈鋎鋦é‹é‹•é‹‰é‹ é‹žé‹§é‹‘é‹“"], +["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂éšéžŠéžŽéžˆéŸéŸé žé é ¦é ©é ¨é é ›é §é¢²é¤ˆé£ºé¤‘é¤”é¤–é¤—é¤•é§œé§é§é§“駔駎駉駖駘駋駗駌骳髬髫髳髲髱é†éƒé§é´é±é¦é¶éµé°é¨é¤é¬é³¼é³ºé³½é³¿é³·é´‡é´€é³¹é³»é´ˆé´…鴄麃黓é¼é¼å„œå„“儗儚儑凞匴å¡å™°å™ å™®"], +["e940","噳噦噣å™å™²å™žå™·åœœåœ›å£ˆå¢½å£‰å¢¿å¢ºå£‚墼壆嬗嬙嬛嬡嬔嬓å¬å¬–å¬¨å¬šå¬ å¬žå¯¯å¶¬å¶±å¶©å¶§å¶µå¶°å¶®å¶ªå¶¨å¶²å¶å¶¯å¶´å¹§å¹¨å¹¦å¹¯å»©å»§å»¦å»¨å»¥å½‹å¾¼æ†æ†¨æ†–æ‡…æ†´æ‡†æ‡æ‡Œæ†º"], +["e9a1","æ†¿æ†¸æ†Œæ“—æ“–æ“æ“æ“‰æ’½æ’‰æ“ƒæ“›æ“³æ“™æ”³æ•¿æ•¼æ–¢æ›ˆæš¾æ›€æ›Šæ›‹æ›æš½æš»æšºæ›Œæœ£æ¨´æ©¦æ©‰æ©§æ¨²æ©¨æ¨¾æ©æ©æ©¶æ©›æ©‘æ¨¨æ©šæ¨»æ¨¿æ©æ©ªæ©¤æ©æ©æ©”æ©¯æ©©æ© æ¨¼æ©žæ©–æ©•æ©æ©Žæ©†æ•æ”æ–æ®§æ®ªæ®«æ¯ˆæ¯‡æ°„æ°ƒæ°†æ¾æ¿‹æ¾£æ¿‡æ¾¼æ¿Žæ¿ˆæ½žæ¿„æ¾½æ¾žæ¿Šæ¾¨ç€„æ¾¥æ¾®æ¾ºæ¾¬æ¾ªæ¿æ¾¿æ¾¸"], +["ea40","æ¾¢æ¿‰æ¾«æ¿æ¾¯æ¾²æ¾°ç‡…燂熿熸燖燀ç‡ç‡‹ç‡”燊燇ç‡ç†½ç‡˜ç†¼ç‡†ç‡šç‡›çŠçŠžç©ç¦ç§ç¬ç¥ç«çªç‘¿ç’šç’ 璔璒璕璡甋疀瘯ç˜ç˜±ç˜½ç˜³ç˜¼ç˜µç˜²ç˜°çš»ç›¦çžšçžçž¡çžœçž›çž¢çž£çž•çž™"], +["eaa1","çž—ç£ç£©ç£¥ç£ªç£žç££ç£›ç£¡ç£¢ç£ç£Ÿç£ 禤穄穈穇窶窸窵窱窷篞篣篧ç¯ç¯•篥篚篨篹篔篪篢篜篫篘篟糒糔糗ç³ç³‘ç¸’ç¸¡ç¸—ç¸Œç¸Ÿç¸ ç¸“ç¸Žç¸œç¸•ç¸šç¸¢ç¸‹ç¸ç¸–ç¸ç¸”縥縤罃罻罼罺羱翯耪耩è¬è†±è†¦è†®è†¹è†µè†«è†°è†¬è†´è†²è†·è†§è‡²è‰•艖艗蕖蕅蕫è•蕓蕡蕘"], +["eb40","蕀蕆蕤è•è•¢è•„è•‘è•‡è•£è”¾è•›è•±è•Žè•®è•µè••è•§è• è–Œè•¦è•蕔蕥蕬虣虥虤螛èžèž—螓螒螈èžèž–螘è¹èž‡èž£èž…èžèž‘èžèž„螔螜螚螉褞褦褰è¤è¤®è¤§è¤±è¤¢è¤©è¤£è¤¯è¤¬è¤Ÿè§±è« "], +["eba1","諢諲諴諵è«è¬”諤諟諰諈諞諡諨諿諯諻貑貒è²è³µè³®è³±è³°è³³èµ¬èµ®è¶¥è¶§è¸³è¸¾è¸¸è¹€è¹…踶踼踽è¹è¸°è¸¿èº½è¼¶è¼®è¼µè¼²è¼¹è¼·è¼´é¶é¹é»é‚†éƒºé„³é„µé„¶é†“é†é†‘é†é†éŒ§éŒžéŒˆéŒŸéŒ†éŒéºéŒ¸éŒ¼éŒ›éŒ£éŒ’éŒé†éŒéŒŽéŒé‹‹éŒé‹ºéŒ¥éŒ“鋹鋷錴錂錤鋿錩錹錵錪錔錌"], +["ec40","錋鋾錉錀鋻錖閼é—閾閹閺閶閿閵閽隩雔霋霒éœéž™éž—éž”éŸ°éŸ¸é µé ¯é ²é¤¤é¤Ÿé¤§é¤©é¦žé§®é§¬é§¥é§¤é§°é§£é§ªé§©é§§éª¹éª¿éª´éª»é«¶é«ºé«¹é«·é¬³é®€é®…é®‡é¼é¾é»é®‚鮓鮒é®éºé®•"], +["eca1","é½é®ˆé´¥é´—é´ é´žé´”é´©é´é´˜é´¢é´é´™é´Ÿéºˆéº†éº‡éº®éºé»•é»–é»ºé¼’é¼½å„¦å„¥å„¢å„¤å„ å„©å‹´åš“åšŒåšåš†åš„嚃噾嚂噿åšå£–壔å£å£’å¬å¬¥å¬²å¬£å¬¬å¬§å¬¦å¬¯å¬®å»å¯±å¯²å¶·å¹¬å¹ªå¾¾å¾»æ‡ƒæ†µæ†¼æ‡§æ‡ æ‡¥æ‡¤æ‡¨æ‡žæ“¯æ“©æ“£æ“«æ“¤æ“¨æ–æ–€æ–¶æ—šæ›’æªæª–æªæª¥æª‰æªŸæª›æª¡æªžæª‡æª“檎"], +["ed40","æª•æªƒæª¨æª¤æª‘æ©¿æª¦æªšæª…æªŒæª’æ›æ®æ°‰æ¿Œæ¾©æ¿´æ¿”æ¿£æ¿œæ¿æ¿§æ¿¦æ¿žæ¿²æ¿æ¿¢æ¿¨ç‡¡ç‡±ç‡¨ç‡²ç‡¤ç‡°ç‡¢ç³ç®ç¯ç’—璲璫ç’ç’ªç’璱璥璯ç”甑甒ç”疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"], +["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀ç«ç°…ç°ç¯²ç°€ç¯¿ç¯»ç°Žç¯´ç°‹ç¯³ç°‚簉簃ç°ç¯¸ç¯½ç°†ç¯°ç¯±ç°ç°Šç³¨ç¸ç¸¼ç¹‚縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀è–è–§è–•è– è–‹è–£è•»è–¤è–šè–ž"], +["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆è–è–™è–è–薢薂薈薅蕹蕶薘è–薟虨螾螪èžèŸ…螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾è¥è¥’褷襂è¦è¦¯è¦®è§²è§³è¬ž"], +["eea1","謘謖謑謅謋謢è¬è¬’謕謇è¬è¬ˆè¬†è¬œè¬“謚è±è±°è±²è±±è±¯è²•貔賹赯蹎è¹è¹“è¹è¹Œè¹‡è½ƒè½€é‚…é¾é„¸é†šé†¢é†›é†™é†Ÿé†¡é†é† 鎡鎃鎯é¤é–é‡é¼é˜éœé¶é‰éé‘é ééŽéŒéªé¹é—é•é’éé±é·é»é¡éžé£é§éŽ€éŽé™é—‡é—€é—‰é—ƒé—…é–·éš®éš°éš¬éœ éœŸéœ˜éœéœ™éžšéž¡éžœ"], +["ef40","éžžéžéŸ•韔韱é¡é¡„顊顉顅顃餥餫餬餪餳餲餯é¤é¤±é¤°é¦˜é¦£é¦¡é¨‚駺駴駷駹駸駶駻駽駾駼騃骾髾髽é¬é«¼éˆé®šé®¨é®žé®›é®¦é®¡é®¥é®¤é®†é®¢é® 鮯鴳éµéµ§é´¶é´®é´¯é´±é´¸é´°"], +["efa1","鵅鵂鵃鴾鴷鵀鴽翵é´éºŠéº‰éºéº°é»ˆé»šé»»é»¿é¼¤é¼£é¼¢é½”é¾ å„±å„儮嚘嚜嚗嚚åšåš™å¥°å¬¼å±©å±ªå·€å¹å¹®æ‡˜æ‡Ÿæ‡æ‡®æ‡±æ‡ªæ‡°æ‡«æ‡–æ‡©æ“¿æ”„æ“½æ“¸æ”æ”ƒæ“¼æ–”æ—›æ›šæ››æ›˜æ«…æª¹æª½æ«¡æ«†æªºæª¶æª·æ«‡æª´æªæžæ¯‰æ°‹ç€‡ç€Œç€ç€ç€…瀔瀎濿瀀濻瀦濼濷瀊çˆç‡¿ç‡¹çˆƒç‡½ç¶"], +["f040","璸瓀璵ç“璾璶璻瓂甔甓癜癤癙ç™ç™“癗癚皦皽盬矂瞺磿礌礓礔礉ç¤ç¤’礑ç¦ç¦¬ç©Ÿç°œç°©ç°™ç° ç°Ÿç°ç°ç°¦ç°¨ç°¢ç°¥ç°°ç¹œç¹ç¹–ç¹£ç¹˜ç¹¢ç¹Ÿç¹‘ç¹ ç¹—ç¹“ç¾µç¾³ç¿·ç¿¸èµè‡‘臒"], +["f0a1","è‡è‰Ÿè‰žè–´è—†è—€è—ƒè—‚薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓èŸèŸ˜èŸ£èž¤èŸ—蟙è 蟴蟨èŸè¥“襋è¥è¥Œè¥†è¥è¥‘襉謪謧謣謳謰謵è‡è¬¯è¬¼è¬¾è¬±è¬¥è¬·è¬¦è¬¶è¬®è¬¤è¬»è¬½è¬ºè±‚è±µè²™è²˜è²—è³¾è´„è´‚è´€è¹œè¹¢è¹ è¹—è¹–è¹žè¹¥è¹§"], +["f140","蹛蹚蹡è¹è¹©è¹”轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛éŽéŽ‰éŽ§éŽŽéŽªéŽžéŽ¦éŽ•éŽˆéŽ™éŽŸéŽéŽ±éŽ‘éŽ²éŽ¤éŽ¨éŽ´éŽ£éŽ¥é—’é—“é—‘éš³é›—é›šå·‚é›Ÿé›˜é›éœ£éœ¢éœ¥éž¬éž®éž¨éž«éž¤éžª"], +["f1a1","鞢鞥韗韙韖韘韺é¡é¡‘顒颸é¥é¤¼é¤ºé¨é¨‹é¨‰é¨é¨„騑騊騅騇騆髀髜鬈鬄鬅鬩鬵éŠéŒé‹é¯‡é¯†é¯ƒé®¿é¯é®µé®¸é¯“鮶鯄鮹鮽鵜鵓éµéµŠéµ›éµ‹éµ™éµ–鵌鵗鵒鵔鵟鵘鵚麎麌黟é¼é¼€é¼–鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫åšåš¦åš§åšªåš¬å£šå£å£›å¤’嬽嬾嬿巃幰"], +["f240","å¾¿æ‡»æ”‡æ”æ”æ”‰æ”Œæ”Žæ–„æ—žæ—æ›žæ«§æ« æ«Œæ«‘æ«™æ«‹æ«Ÿæ«œæ«æ««æ«æ«æ«žæ æ®°æ°Œç€™ç€§ç€ ç€–ç€«ç€¡ç€¢ç€£ç€©ç€—ç€¤ç€œç€ªçˆŒçˆŠçˆ‡çˆ‚çˆ…çŠ¥çŠ¦çŠ¤çŠ£çŠ¡ç“‹ç“…ç’·ç“ƒç”–ç™ çŸ‰çŸŠçŸ„çŸ±ç¤ç¤›"], +["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾è¸è‡—臕艤艡艣藫藱è—è—™è—¡è—¨è—šè——è—¬è—²è—¸è—˜è—Ÿè—£è—œè—‘è—°è—¦è—¯è—žè—¢è €èŸºè ƒèŸ¶èŸ·è ‰è Œè ‹è †èŸ¼è ˆèŸ¿è Šè ‚è¥¢è¥šè¥›è¥—è¥¡è¥œè¥˜è¥è¥™è¦ˆè¦·è¦¶è§¶èèˆèŠè€è“è–è”è‹è•"], +["f340","è‘è‚è’è—豃豷豶貚贆贇贉趬趪è¶è¶«è¹è¹¸è¹³è¹ªè¹¯è¹»è»‚轒轑è½è½è½“辴酀鄿醰é†éžé‡éé‚éšéé¹é¬éŒé™éŽ©é¦éŠé”é®é£é•é„éŽé€é’é§é•½é—šé—›é›¡éœ©éœ«éœ¬éœ¨éœ¦"], +["f3a1","鞳鞷鞶éŸéŸžéŸŸé¡œé¡™é¡é¡—颿颽颻颾饈饇饃馦馧騚騕騥é¨é¨¤é¨›é¨¢é¨ é¨§é¨£é¨žé¨œé¨”é«‚é¬‹é¬Šé¬Žé¬Œé¬·é¯ªé¯«é¯ é¯žé¯¤é¯¦é¯¢é¯°é¯”é¯—é¯¬é¯œé¯™é¯¥é¯•é¯¡é¯šéµ·é¶é¶Šé¶„鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼é¼é½€é½é½é½–齗齘匷嚲"], +["f440","嚵嚳壣å…å·†å·‡å»®å»¯å¿€å¿æ‡¹æ”—攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱ç‚瀸瀿瀺瀹ç€ç€»ç€³ç爓爔犨ç½ç¼ç’ºçš«çšªçš¾ç›çŸŒçŸŽçŸçŸçŸ²ç¤¥ç¤£ç¤§ç¤¨ç¤¤ç¤©"], +["f4a1","禲穮穬ç©ç«·ç±‰ç±ˆç±Šç±‡ç±…糮繻繾çºçº€ç¾ºç¿¿è¹è‡›è‡™èˆ‹è‰¨è‰©è˜¢è—¿è˜è—¾è˜›è˜€è—¶è˜„è˜‰è˜…è˜Œè—½è ™è è ‘è —è “è –è¥£è¥¦è¦¹è§·è èªèè¨è£è¥è§è趮躆躈躄轙轖轗轕轘轚é‚é…ƒé…醷醵醲醳é‹é“é»é éé”é¾é•éé¨é™ééµé€é·é‡éŽé–é’éºé‰é¸éŠé¿"], +["f540","é¼éŒé¶é‘é†é—žé— é—Ÿéœ®éœ¯éž¹éž»éŸ½éŸ¾é¡ é¡¢é¡£é¡Ÿé£é£‚é¥é¥Žé¥™é¥Œé¥‹é¥“騲騴騱騬騪騶騩騮騸é¨é«‡é«Šé«†é¬é¬’鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤é¶é¶’鶘é¶é¶›"], +["f5a1","é¶ é¶”é¶œé¶ªé¶—é¶¡é¶šé¶¢é¶¨é¶žé¶£é¶¿é¶©é¶–é¶¦é¶§éº™éº›éºšé»¥é»¤é»§é»¦é¼°é¼®é½›é½ é½žé½é½™é¾‘儺儹劘劗囃嚽嚾åˆå‡å·‹å·å»±æ‡½æ”›æ¬‚櫼欃櫸欀çƒç„çŠçˆç‰ç…ç†çˆçˆšçˆ™ç¾ç”—癪çŸç¤ç¤±ç¤¯ç±”籓糲纊纇纈纋纆çºç½ç¾»è€°è‡è˜˜è˜ªè˜¦è˜Ÿè˜£è˜œè˜™è˜§è˜®è˜¡è˜ 蘩蘞蘥"], +["f640","è ©è è ›è è ¤è œè «è¡Šè¥è¥©è¥®è¥«è§ºè¹è¸è…èºè»è´è´”趯躎躌轞轛è½é…†é…„酅醹é¿é»é¶é©é½é¼é°é¹éªé·é¬é‘€é±é—¥é—¤é—£éœµéœºéž¿éŸ¡é¡¤é£‰é£†é£€é¥˜é¥–騹騽驆驄驂é©é¨º"], +["f6a1","騿é«é¬•鬗鬘鬖鬺é’é°«é°é°œé°¬é°£é°¨é°©é°¤é°¡é¶·é¶¶é¶¼é·é·‡é·Šé·é¶¾é·…鷃鶻鶵鷎鶹鶺鶬鷈鶱é¶é·Œé¶³é·é¶²é¹ºéºœé»«é»®é»é¼›é¼˜é¼šé¼±é½Žé½¥é½¤é¾’亹囆囅囋奱å‹åŒå·•å·‘å»²æ”¡æ” æ”¦æ”¢æ¬‹æ¬ˆæ¬‰æ°ç•ç–ç—ç’爞爟犩ç¿ç“˜ç“•瓙瓗ç™çšç¤µç¦´ç©°ç©±ç±—籜籙籛籚"], +["f740","糴糱纑ç½ç¾‡è‡žè‰«è˜´è˜µè˜³è˜¬è˜²è˜¶è ¬è ¨è ¦è ªè ¥è¥±è¦¿è¦¾è§»è¾è®„讂讆讅è¿è´•躕躔躚躒èºèº–èº—è½ è½¢é…‡é‘Œé‘鑊鑋é‘鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌é©é©ˆé©Š"], +["f7a1","驉驒é©é«é¬™é¬«é¬»é–é•鱆鱈鰿鱄鰹鰳é±é°¼é°·é°´é°²é°½é°¶é·›é·’é·žé·šé·‹é·é·œé·‘鷟鷩鷙鷘鷖鷵鷕é·éº¶é»°é¼µé¼³é¼²é½‚齫龕龢儽劙壨壧奲åå·˜è ¯å½æˆæˆƒæˆ„æ”©æ”¥æ––æ›«æ¬‘æ¬’æ¬æ¯Šç›çšçˆ¢çŽ‚çŽçŽƒç™°çŸ”ç±§ç±¦çº•è‰¬è˜ºè™€è˜¹è˜¼è˜±è˜»è˜¾è °è ²è ®è ³è¥¶è¥´è¥³è§¾"], +["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕é‘é‘—é‘žéŸ„éŸ…é €é©–é©™é¬žé¬Ÿé¬ é±’é±˜é±é±Šé±é±‹é±•鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨é·é»‚é»é»²é»³é¼†é¼œé¼¸é¼·é¼¶é½ƒé½"], +["f8a1","齱齰齮齯囓å›åŽå±æ”æ›æ›®æ¬“çŸç¡çç 爣瓛瓥矕礸禷禶籪纗羉è‰è™ƒè ¸è ·è µè¡‹è®”è®•èºžèºŸèº èºé†¾é†½é‡‚鑫鑨鑩雥é†éƒé‡éŸ‡éŸ¥é©žé«•é™é±£é±§é±¦é±¢é±žé± 鸂鷾鸇鸃鸆鸅鸀é¸é¸‰é·¿é·½é¸„éº é¼žé½†é½´é½µé½¶å›”æ”®æ–¸æ¬˜æ¬™æ¬—æ¬šç¢çˆ¦çŠªçŸ˜çŸ™ç¤¹ç±©ç±«ç³¶çºš"], +["f940","çº˜çº›çº™è‡ è‡¡è™†è™‡è™ˆè¥¹è¥ºè¥¼è¥»è§¿è®˜è®™èº¥èº¤èº£é‘®é‘鑯鑱鑳é‰é¡²é¥Ÿé±¨é±®é±é¸‹é¸é¸é¸é¸’鸑麡黵鼉齇齸齻齺齹圞ç¦ç±¯è ¼è¶²èº¦é‡ƒé‘´é‘¸é‘¶é‘µé© 鱴鱳鱱鱵鸔鸓黶鼊"], +["f9a1","龤ç¨ç¥ç³·è™ªè ¾è ½è ¿è®žè²œèº©è»‰é‹é¡³é¡´é£Œé¥¡é¦«é©¤é©¦é©§é¬¤é¸•鸗齈戇欞爧虌躨钂钀é’驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺é¸ç©çªéº¤é½¾é½‰é¾˜ç¢éйè£å¢»æ’粧嫺╔╦╗╠╬╣╚╩â•╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║â•â•╮╰╯▓"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/eucjp.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/eucjp.json new file mode 100755 index 0000000..4fa61ca --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/eucjp.json @@ -0,0 +1,182 @@ +[ +["0","\u0000",127], +["8ea1","。",62], +["a1a1"," ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½ãƒ¾ã‚ゞ〃ä»ã€…〆〇ー―â€ï¼ï¼¼ï½žâˆ¥ï½œâ€¦â€¥â€˜â€™â€œâ€ï¼ˆï¼‰ã€”〕[]{ï½ã€ˆ",9,"+ï¼Â±Ã—÷ï¼â‰ ï¼œï¼žâ‰¦â‰§âˆžâˆ´â™‚â™€Â°â€²â€³â„ƒï¿¥ï¼„ï¿ ï¿¡ï¼…ï¼ƒï¼†ï¼Šï¼ Â§â˜†â˜…â—‹â—â—Žâ—‡"], +["a2a1","◆□■△▲▽▼※〒→â†â†‘↓〓"], +["a2ba","∈∋⊆⊇⊂⊃∪∩"], +["a2ca","∧∨¬⇒⇔∀∃"], +["a2dc","∠⊥⌒∂∇≡≒≪≫√∽âˆâˆµâˆ«âˆ¬"], +["a2f2","ʼn♯â™â™ªâ€ ‡¶"], +["a2fe","â—¯"], +["a3b0","ï¼",9], +["a3c1","A",25], +["a3e1","ï½",25], +["a4a1","ã",82], +["a5a1","ã‚¡",85], +["a6a1","Α",16,"Σ",6], +["a6c1","α",16,"σ",6], +["a7a1","Ð",5,"ÐЖ",25], +["a7d1","а",5,"ёж",25], +["a8a1","─│┌â”┘└├┬┤┴┼â”┃â”┓┛┗┣┳┫┻╋┠┯┨┷┿â”┰┥┸╂"], +["ada1","â‘ ",19,"â… ",9], +["adc0","ã‰ãŒ”㌢ã㌘㌧㌃㌶ã‘ã—ãŒãŒ¦ãŒ£ãŒ«ãŠãŒ»ãŽœãŽãŽžãŽŽãŽã„㎡"], +["addf","ã»ã€ã€Ÿâ„–ã℡㊤",4,"㈱㈲㈹ã¾ã½ã¼â‰’≡∫∮∑√⊥∠∟⊿∵∩∪"], +["b0a1","äºœå”–å¨ƒé˜¿å“€æ„›æŒ¨å§¶é€¢è‘µèŒœç©æ‚ªæ¡æ¸¥æ—葦芦鯵梓圧斡扱宛å§è™»é£´çµ¢ç¶¾é®Žæˆ–ç²Ÿè¢·å®‰åºµæŒ‰æš—æ¡ˆé—‡éžæä»¥ä¼Šä½ä¾å‰å›²å¤·å§”å¨å°‰æƒŸæ„慰易椅為ç•ç•°ç§»ç¶ç·¯èƒƒèŽè¡£è¬‚é•éºåŒ»äº•亥域育éƒç£¯ä¸€å£±æº¢é€¸ç¨²èŒ¨èЋ鰝å…å°å’½å“¡å› 姻引飲淫胤è”"], +["b1a1","é™¢é™°éš éŸ»å‹å³å®‡çƒç¾½è¿‚雨å¯éµœçªºä¸‘碓臼渦嘘唄æ¬è”šé°»å§¥åŽ©æµ¦ç“œé–噂云é‹é›²è餌å¡å–¶å¬°å½±æ˜ æ›³æ „æ°¸æ³³æ´©ç‘›ç›ˆç©Žé ´è‹±è¡›è© é‹æ¶²ç–«ç›Šé§…悦è¬è¶Šé–²æ¦ŽåŽå††åœ’å °å¥„å®´å»¶æ€¨æŽ©æ´æ²¿æ¼”炎焔煙燕猿ç¸è‰¶è‹‘è–—é 鉛鴛塩於汚甥凹央奥往応"], +["b2a1","押旺横欧殴王ç¿è¥–鴬鴎黄岡沖è»å„„å±‹æ†¶è‡†æ¡¶ç‰¡ä¹™ä¿ºå¸æ©æ¸©ç©éŸ³ä¸‹åŒ–ä»®ä½•ä¼½ä¾¡ä½³åŠ å¯å˜‰å¤å«å®¶å¯¡ç§‘æš‡æžœæž¶æŒæ²³ç«ç‚ç¦ç¦¾ç¨¼ç®‡èŠ±è‹›èŒ„è·è¯è“è¦èª²å˜©è²¨è¿¦éŽéœžèšŠä¿„å³¨æˆ‘ç‰™ç”»è‡¥èŠ½è›¾è³€é›…é¤“é§•ä»‹ä¼šè§£å›žå¡Šå£Šå»»å¿«æ€ªæ‚”æ¢æ‡æˆ’æ‹æ”¹"], +["b3a1","éæ™¦æ¢°æµ·ç°ç•Œçš†çµµèŠ¥èŸ¹é–‹éšŽè²å‡±åŠ¾å¤–å’³å®³å´–æ…¨æ¦‚æ¶¯ç¢è“‹è¡—該鎧骸浬馨蛙垣柿蛎鈎劃嚇å„å»“æ‹¡æ’¹æ ¼æ ¸æ®»ç²ç¢ºç©«è¦šè§’赫較éƒé–£éš”é©å¦å²³æ¥½é¡é¡ŽæŽ›ç¬ æ¨«æ©¿æ¢¶é°æ½Ÿå‰²å–æ°æ‹¬æ´»æ¸‡æ»‘è‘›è¤è½„䏔鰹嶿¤›æ¨ºéž„æ ªå…œç«ƒè’²é‡œéŽŒå™›é´¨æ ¢èŒ…è±"], +["b4a1","ç²¥åˆˆè‹…ç“¦ä¹¾ä¾ƒå† å¯’åˆŠå‹˜å‹§å·»å–šå ªå§¦å®Œå®˜å¯›å¹²å¹¹æ‚£æ„Ÿæ…£æ†¾æ›æ•¢æŸ‘æ¡“æ£ºæ¬¾æ“æ±—漢澗潅環甘監看竿管簡緩缶翰è‚艦莞観諌貫還鑑間閑関陥韓館舘丸å«å²¸å·ŒçŽ©ç™Œçœ¼å²©ç¿«è´‹é›é ‘顔願ä¼ä¼Žå±å–œå™¨åŸºå¥‡å¬‰å¯„å²å¸Œå¹¾å¿Œæ®æœºæ——既期棋棄"], +["b5a1","機帰毅気汽畿祈å£ç¨€ç´€å¾½è¦è¨˜è²´èµ·è»Œè¼é£¢é¨Žé¬¼äº€å½å„€å¦“å®œæˆ¯æŠ€æ“¬æ¬ºçŠ ç–‘ç¥‡ç¾©èŸ»èª¼è°æŽ¬èŠéž å‰åƒå–«æ¡”æ©˜è©°ç §æµé»å´å®¢è„šè™é€†ä¸˜ä¹…仇休åŠå¸å®®å¼“急救朽求汲泣ç¸çƒç©¶çª®ç¬ˆç´šç³¾çµ¦æ—§ç‰›åŽ»å±…å·¨æ‹’æ‹ æŒ™æ¸ è™šè¨±è·é‹¸æ¼ç¦¦éšäº¨äº«äº¬"], +["b6a1","ä¾›ä¾ åƒ‘å…‡ç«¶å…±å‡¶å”匡å¿å«å–¬å¢ƒå³¡å¼·å½Šæ€¯æææŒŸæ•™æ©‹æ³ç‹‚ç‹çŸ¯èƒ¸è„…興蕎郷é¡éŸ¿é¥—驚仰å‡å°æšæ¥å±€æ›²æ¥µçމæ¡ç²åƒ…勤å‡å·¾éŒ¦æ–¤æ¬£æ¬½ç´ç¦ç¦½ç‹ç·ŠèйèŒè¡¿è¥Ÿè¬¹è¿‘金åŸéŠ€ä¹å€¶å¥åŒºç‹—玖矩苦躯駆駈駒具愚虞喰空å¶å¯“é‡éš…串櫛釧屑屈"], +["b7a1","掘窟沓é´è½¡çªªç†Šéšˆç²‚æ —ç¹°æ¡‘é¬å‹²å›è–«è¨“群è»éƒ¡å¦è¢ˆç¥ä¿‚傾刑兄啓åœçªåž‹å¥‘å½¢å¾„æµæ…¶æ…§æ†©æŽ²æºæ•¬æ™¯æ¡‚渓畦稽系経継繋罫茎èŠè›è¨ˆè©£è¦è»½é šé¶èŠ¸è¿Žé¯¨åŠ‡æˆŸæ’ƒæ¿€éš™æ¡å‚‘æ¬ æ±ºæ½”ç©´çµè¡€è¨£æœˆä»¶å€¹å€¦å¥å…¼åˆ¸å‰£å–§åœå …嫌建憲懸拳æ²"], +["b8a1","æ¤œæ¨©ç‰½çŠ¬çŒ®ç ”ç¡¯çµ¹çœŒè‚©è¦‹è¬™è³¢è»’é£éµé™ºé¡•験鹸元原厳幻弦減æºçŽ„ç¾çµƒèˆ·è¨€è«ºé™ä¹Žå€‹å¤å‘¼å›ºå§‘å¤å·±åº«å¼§æˆ¸æ•…枯湖ç‹ç³Šè¢´è‚¡èƒ¡è°è™Žèª‡è·¨éˆ·é›‡é¡§é¼“五互ä¼åˆå‘‰å¾å¨¯å¾Œå¾¡æ‚Ÿæ¢§æªŽç‘šç¢èªžèª¤è·é†ä¹žé¯‰äº¤ä½¼ä¾¯å€™å€–光公功効勾厚å£å‘"], +["b9a1","åŽå–‰å‘垢好å”åå®å·¥å·§å··å¹¸åºƒåºšåº·å¼˜æ’æ…ŒæŠ—æ‹˜æŽ§æ”»æ˜‚æ™ƒæ›´ææ ¡æ¢—構江洪浩港æºç”²çš‡ç¡¬ç¨¿ç³ 紅紘絞綱耕考肯肱腔è†èˆªè’è¡Œè¡¡è¬›è²¢è³¼éƒŠé…µé‰±ç ¿é‹¼é–¤é™é …香高鴻剛劫å·åˆå£•æ‹·æ¿ è±ªè½Ÿéº¹å…‹åˆ»å‘Šå›½ç©€é…·éµ é»’ç„æ¼‰è…°ç”‘忽惚骨狛込"], +["baa1","æ¤é ƒä»Šå›°å¤å¢¾å©šæ¨æ‡‡æ˜æ˜†æ ¹æ¢±æ··ç—•紺艮é‚些ä½å‰å”†åµ¯å·¦å·®æŸ»æ²™ç‘³ç ‚è©éŽ–è£Ÿååº§æŒ«å‚µå‚¬å†æœ€å“‰å¡žå¦»å®°å½©æ‰æŽ¡æ ½æ³æ¸ˆç½é‡‡çŠ€ç •ç ¦ç¥æ–Žç´°èœè£è¼‰éš›å‰¤åœ¨æç½ªè²¡å†´å‚é˜ªå ºæ¦Šè‚´å’²å´ŽåŸ¼ç¢•é·ºä½œå‰Šå’‹æ¾æ˜¨æœ”柵窄ç–索錯桜é®ç¬¹åŒ™å†Šåˆ·"], +["bba1","å¯Ÿæ‹¶æ’®æ“¦æœæ®ºè–©é›‘çšé¯–æŒéŒ†é®«çš¿æ™’三傘å‚山惨撒散桟燦çŠç”£ç®—çº‚èš•è®ƒè³›é…¸é¤æ–¬æš«æ®‹ä»•仔伺使刺å¸å²å—£å››å£«å§‹å§‰å§¿åå±å¸‚å¸«å¿—æ€æŒ‡æ”¯åœæ–¯æ–½æ—¨æžæ¢æ»æ°ç…祉ç§ç³¸ç´™ç´«è‚¢è„‚至視詞詩試誌諮資賜雌飼æ¯äº‹ä¼¼ä¾å…å—å¯ºæ…ˆæŒæ™‚"], +["bca1","次滋治爾璽痔ç£ç¤ºè€Œè€³è‡ªè’”辞æ±é¹¿å¼è˜é´«ç«ºè»¸å®é›«ä¸ƒå±åŸ·å¤±å«‰å®¤æ‚‰æ¹¿æ¼†ç–¾è³ªå®Ÿè”€ç¯ 岿Ÿ´èŠå±¡è•Šç¸žèˆŽå†™å°„æ¨èµ¦æ–œç…®ç¤¾ç´—者è¬è»Šé®è›‡é‚ªå€Ÿå‹ºå°ºæ“ç¼çˆµé…Œé‡ˆéŒ«è‹¥å¯‚弱惹主å–守手朱殊狩ç 種腫趣酒首儒å—呪寿授樹綬需囚åŽå‘¨"], +["bda1","å®—å°±å·žä¿®æ„æ‹¾æ´²ç§€ç§‹çµ‚ç¹ç¿’è‡èˆŸè’衆襲è®è¹´è¼¯é€±é…‹é…¬é›†é†œä»€ä½å……åå¾“æˆŽæŸ”æ±æ¸‹ç£ç¸¦é‡éŠƒå”夙宿淑ç¥ç¸®ç²›å¡¾ç†Ÿå‡ºè¡“述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡éµé†‡é †å‡¦åˆæ‰€æš‘曙渚庶緒署書薯藷諸助å™å¥³åºå¾æ•鋤除傷償"], +["bea1","å‹åŒ å‡å¬å“¨å•†å”±å˜—奨妾娼宵将å°å°‘å°šåº„åºŠå» å½°æ‰¿æŠ„æ‹›æŽŒæ·æ˜‡æ˜Œæ˜æ™¶æ¾æ¢¢æ¨Ÿæ¨µæ²¼æ¶ˆæ¸‰æ¹˜ç„¼ç„¦ç…§ç—‡çœç¡ç¤ç¥¥ç§°ç« 笑粧紹肖è–蒋蕉è¡è£³è¨Ÿè¨¼è©”詳象賞醤鉦é¾é˜éšœéž˜ä¸Šä¸ˆä¸žä¹—å†—å‰°åŸŽå ´å£Œå¬¢å¸¸æƒ…æ“¾æ¡æ–浄状畳穣蒸è²é†¸éŒ 嘱埴飾"], +["bfa1","æ‹æ¤æ®–ç‡ç¹”è·è‰²è§¦é£Ÿè•è¾±å°»ä¼¸ä¿¡ä¾µå”‡å¨ å¯å¯©å¿ƒæ…ŽæŒ¯æ–°æ™‹æ£®æ¦›æµ¸æ·±ç”³ç–¹çœŸç¥žç§¦ç´³è‡£èŠ¯è–ªè¦ªè¨ºèº«è¾›é€²é‡éœ‡äººä»åˆƒå¡µå£¬å°‹ç”šå°½è…Žè¨Šè¿…陣é笥è«é ˆé…¢å›³åލ逗å¹åž‚帥推水炊ç¡ç²‹ç¿ è¡°é‚é…”éŒéŒ˜éšç‘žé«„å´‡åµ©æ•°æž¢è¶¨é››æ®æ‰æ¤™è…é —é›€è£¾"], +["c0a1","æ¾„æ‘ºå¯¸ä¸–ç€¬ç•æ˜¯å‡„åˆ¶å‹¢å§“å¾æ€§æˆæ”¿æ•´æ˜Ÿæ™´æ£²æ –æ£æ¸…牲生盛精è–å£°è£½è¥¿èª èª“è«‹é€é†’é’陿–‰ç¨Žè„†éš»å¸æƒœæˆšæ–¥æ˜”æžçŸ³ç©ç±ç¸¾è„Šè²¬èµ¤è·¡è¹Ÿç¢©åˆ‡æ‹™æŽ¥æ‘‚折è¨çªƒç¯€èª¬é›ªçµ¶èˆŒè‰ä»™å…ˆåƒå 宣専尖巿ˆ¦æ‰‡æ’°æ “æ ´æ³‰æµ…æ´—æŸ“æ½œç…Žç…½æ—‹ç©¿ç®ç·š"], +["c1a1","繊羨腺舛船薦詮賎践é¸é·éŠéŠ‘é–ƒé®®å‰å–„漸然全禅繕膳糎噌塑岨措曾曽楚狙ç–ç–Žç¤Žç¥–ç§Ÿç²—ç´ çµ„è˜‡è¨´é˜»é¡é¼ 僧創åŒå¢å€‰å–ªå£®å¥çˆ½å®‹å±¤åŒæƒ£æƒ³æœæŽƒæŒ¿æŽ»æ“æ—©æ›¹å·£æ§æ§½æ¼•燥争痩相窓糟ç·ç¶œè¡è‰è˜è‘¬è’¼è—»è£…èµ°é€é鎗霜騒åƒå¢—憎"], +["c2a1","è‡“è”µè´ˆé€ ä¿ƒå´å‰‡å³æ¯æ‰æŸæ¸¬è¶³é€Ÿä¿—属賊æ—ç¶šå’袖其æƒå˜å«å°Šææ‘éœä»–å¤šå¤ªæ±°è©‘å”¾å •å¦¥æƒ°æ‰“æŸèˆµæ¥•é™€é§„é¨¨ä½“å †å¯¾è€å²±å¸¯å¾…æ€ æ…‹æˆ´æ›¿æ³°æ»žèƒŽè…¿è‹”è¢‹è²¸é€€é€®éšŠé»›é¯›ä»£å°å¤§ç¬¬é†é¡Œé·¹æ»ç€§å“啄宅托択拓沢濯ç¢è¨—鏿¿è«¾èŒ¸å‡§è›¸åª"], +["c3a1","å©ä½†é”辰奪脱巽竪辿棚谷狸鱈樽誰丹å˜å˜†å¦æ‹…æŽ¢æ—¦æŽæ·¡æ¹›ç‚çŸç«¯ç®ªç¶»è€½èƒ†è›‹èª•é›å›£å£‡å¼¾æ–æš–æª€æ®µç”·è«‡å€¤çŸ¥åœ°å¼›æ¥æ™ºæ± 痴稚置致蜘é…馳築畜竹ç‘è“„é€ç§©çª’茶嫡ç€ä¸ä»²å®™å¿ æŠ½æ˜¼æŸ±æ³¨è™«è¡·è¨»é…Žé‹³é§æ¨—瀦猪苧著貯ä¸å…†å‡‹å–‹å¯µ"], +["c4a1","帖帳åºå¼”å¼µå½«å¾´æ‡²æŒ‘æš¢æœæ½®ç‰’町眺è´è„¹è…¸è¶èª¿è«œè¶…è·³éŠšé•·é ‚é³¥å‹…æ—直朕沈çè³ƒéŽ®é™³æ´¥å¢œæ¤Žæ§Œè¿½éŽšç—›é€šå¡šæ ‚æŽ´æ§»ä½ƒæ¼¬æŸ˜è¾»è”¦ç¶´é”æ¤¿æ½°åªå£·å¬¬ç´¬çˆªåŠé‡£é¶´äºä½Žåœåµå‰ƒè²žå‘ˆå ¤å®šå¸åº•åºå»·å¼Ÿæ‚ŒæŠµæŒºææ¢¯æ±€ç¢‡ç¦Žç¨‹ç· 艇訂諦蹄逓"], +["c5a1","邸é„釘鼎泥摘擢敵滴的笛é©é‘溺哲徹撤è½è¿é‰„典填天展店添çºç”œè²¼è»¢é¡›ç‚¹ä¼æ®¿æ¾±ç”°é›»å…Žåå µå¡—å¦¬å± å¾’æ–—æœæ¸¡ç™»èŸè³é€”都éç ¥ç ºåŠªåº¦åœŸå¥´æ€’å€’å…šå†¬å‡åˆ€å”å¡”å¡˜å¥—å®•å³¶å¶‹æ‚¼æŠ•ææ±æ¡ƒæ¢¼æ£Ÿç›—æ·˜æ¹¯æ¶›ç¯ç‡ˆå½“痘祷ç‰ç”ç’糖統到"], +["c6a1","董蕩藤討謄豆è¸é€ƒé€é™é™¶é 騰闘åƒå‹•åŒå ‚導憧撞洞瞳童胴è„é“éŠ…å³ é´‡åŒ¿å¾—å¾³æ¶œç‰¹ç£ç¦¿ç¯¤æ¯’ç‹¬èªæ ƒæ©¡å‡¸çªæ¤´å±Šé³¶è‹«å¯…酉瀞噸屯惇敦沌豚éé “å‘‘æ›‡éˆå¥ˆé‚£å†…ä¹å‡ªè–™è¬Žç˜æºé‹æ¥¢é¦´ç¸„ç•·å—æ¥ 軟難æ±äºŒå°¼å¼è¿©åŒ‚賑肉虹廿日乳入"], +["c7a1","如尿韮任妊å¿èªæ¿¡ç¦°ç¥¢å¯§è‘±çŒ«ç†±å¹´å¿µæ»æ’šç‡ƒç²˜ä¹ƒå»¼ä¹‹åŸœå𢿂©æ¿ƒç´èƒ½è„³è†¿è¾²è¦—蚤巴把æ’è¦‡æ·æ³¢æ´¾ç¶ç ´å©†ç½µèŠé¦¬ä¿³å»ƒæ‹æŽ’æ•—æ¯ç›ƒç‰ŒèƒŒè‚ºè¼©é…å€åŸ¹åª’æ¢…æ¥³ç…¤ç‹½è²·å£²è³ é™ªé€™è¿ç§¤çŸ§è©ä¼¯å‰¥å𿋿Ÿæ³Šç™½ç®”ç²•èˆ¶è–„è¿«æ›æ¼ 爆縛莫é§éº¦"], +["c8a1","å‡½ç®±ç¡²ç®¸è‚‡çˆæ«¨å¹¡è‚Œç•‘ç• å…«é‰¢æºŒç™ºé†—é«ªä¼ç½°æŠœç閥鳩噺塙蛤隼伴判åŠåå›å¸†æ¬æ–‘æ¿æ°¾æ±Žç‰ˆçНçç•”ç¹èˆ¬è—©è²©ç¯„é‡†ç…©é ’é£¯æŒ½æ™©ç•ªç›¤ç£è•ƒè›®åŒªå‘å¦å¦ƒåº‡å½¼æ‚²æ‰‰æ‰¹æŠ«æ–比泌疲皮碑秘緋罷肥被誹費é¿éžé£›æ¨‹ç°¸å‚™å°¾å¾®æž‡æ¯˜çµçœ‰ç¾Ž"], +["c9a1","鼻柊稗匹疋é«å½¦è†è±è‚˜å¼¼å¿…ç•¢ç†é€¼æ¡§å§«åª›ç´ç™¾è¬¬ä¿µå½ªæ¨™æ°·æ¼‚瓢票表評豹廟æç—…秒苗錨鋲蒜è›é°å“å½¬æ–Œæµœç€•è²§è³“é »æ•ç“¶ä¸ä»˜åŸ 夫婦富冨布府怖扶敷斧普浮父符è…膚芙èœè² 賦赴阜附侮撫æ¦èˆžè‘¡è•ªéƒ¨å°æ¥“風葺蕗ä¼å‰¯å¾©å¹…æœ"], +["caa1","ç¦è…¹è¤‡è¦†æ·µå¼—払沸ä»ç‰©é®’分å»å™´å¢³æ†¤æ‰®ç„šå¥®ç²‰ç³žç´›é›°æ–‡èžä¸™ä½µå…µå¡€å¹£å¹³å¼ŠæŸ„並蔽閉陛米é 僻å£ç™–碧別瞥蔑箆å変片篇編辺返é便勉娩å¼éžä¿èˆ—é‹ªåœƒæ•æ©ç”«è£œè¼”穂募墓慕戊暮æ¯ç°¿è©å€£ä¿¸åŒ…å‘†å ±å¥‰å®å³°å³¯å´©åº–æŠ±æ§æ”¾æ–¹æœ‹"], +["cba1","æ³•æ³¡çƒ¹ç ²ç¸«èƒžèŠ³èŒè“¬èœ‚褒訪豊邦鋒飽鳳鵬ä¹äº¡å‚剖åŠå¦¨å¸½å¿˜å¿™æˆ¿æš´æœ›æŸæ£’冒紡肪膨謀貌貿鉾防å é ¬åŒ—åƒ•åœå¢¨æ’²æœ´ç‰§ç¦ç©†é‡¦å‹ƒæ²¡æ®†å €å¹Œå¥”本翻凡盆摩磨é”麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒æ¡äº¦ä¿£åˆæŠ¹æœ«æ²«è¿„ä¾ç¹éº¿ä¸‡æ…¢æº€"], +["cca1","漫蔓味未é…å·³ç®•å²¬å¯†èœœæ¹Šè“‘ç¨”è„ˆå¦™ç²æ°‘çœ å‹™å¤¢ç„¡ç‰ŸçŸ›éœ§éµ¡æ¤‹å©¿å¨˜å†¥åå‘½æ˜Žç›Ÿè¿·éŠ˜é³´å§ªç‰æ»…å…æ£‰ç¶¿ç·¬é¢éººæ‘¸æ¨¡èŒ‚å¦„åŸæ¯›çŒ›ç›²ç¶²è€—蒙儲木黙目æ¢å‹¿é¤…å°¤æˆ»ç±¾è²°å•æ‚¶ç´‹é–€åŒä¹Ÿå†¶å¤œçˆºè€¶é‡Žå¼¥çŸ¢åŽ„å½¹ç´„è–¬è¨³èºé–柳薮鑓愉愈油癒"], +["cda1","è«è¼¸å”¯ä½‘優勇å‹å®¥å¹½æ‚ æ†‚æ–æœ‰æŸšæ¹§æ¶ŒçŒ¶çŒ·ç”±ç¥è£•誘éŠé‚‘郵雄èžå¤•予余与誉輿é å‚å¹¼å¦–å®¹åº¸æšæºæ“曜楊様洋溶熔用窯羊耀葉蓉è¦è¬¡è¸Šé¥é™½é¤Šæ…¾æŠ‘欲沃浴翌翼淀羅螺裸æ¥èŽ±é ¼é›·æ´›çµ¡è½é…ªä¹±åµåµæ¬„æ¿«è—è˜è¦§åˆ©åå±¥æŽæ¢¨ç†ç’ƒ"], +["cea1","ç—¢è£è£¡é‡Œé›¢é™¸å¾‹çŽ‡ç«‹è‘ŽæŽ ç•¥åŠ‰æµæºœç‰ç•™ç¡«ç²’隆竜é¾ä¾¶æ…®æ—…è™œäº†äº®åƒšä¸¡å‡Œå¯®æ–™æ¢æ¶¼çŒŸç™‚çžç¨œç³§è‰¯è«’é¼é‡é™µé ˜åŠ›ç·‘å€«åŽ˜æž—æ·‹ç‡ç³è‡¨è¼ªéš£é±—éºŸç‘ å¡æ¶™ç´¯é¡žä»¤ä¼¶ä¾‹å†·åŠ±å¶ºæ€œçŽ²ç¤¼è‹“éˆ´éš·é›¶éœŠéº—é½¢æš¦æ´åˆ—åŠ£çƒˆè£‚å»‰æ‹æ†æ¼£ç…‰ç°¾ç·´è¯"], +["cfa1","è“®é€£éŒ¬å‘‚é¯æ«“炉賂路露労å©å»Šå¼„朗楼榔浪æ¼ç‰¢ç‹¼ç¯è€è¾è‹éƒŽå…麓禄肋録論å€å’Œè©±æªè³„è„‡æƒ‘æž é·²äº™äº˜é°è©«è—蕨椀湾碗腕"], +["d0a1","弌ä¸ä¸•个丱丶丼丿乂乖乘亂亅豫亊舒å¼äºŽäºžäºŸäº 亢亰亳亶从ä»ä»„仆仂仗仞ä»ä»Ÿä»·ä¼‰ä½šä¼°ä½›ä½ä½—佇佶侈ä¾ä¾˜ä½»ä½©ä½°ä¾‘佯來侖儘俔俟俎俘俛俑俚ä¿ä¿¤ä¿¥å€šå€¨å€”倪倥倅伜俶倡倩倬俾俯們倆åƒå‡æœƒå•ååˆåšå–å¬å¸å‚€å‚šå‚…傴傲"], +["d1a1","僉僊傳僂僖僞僥åƒåƒ£åƒ®åƒ¹åƒµå„‰å„儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉å†å†‘å†“å†•å†–å†¤å†¦å†¢å†©å†ªå†«å†³å†±å†²å†°å†µå†½å‡…å‡‰å‡›å‡ è™•å‡©å‡å‡°å‡µå‡¾åˆ„刋刔刎刧刪刮刳刹å‰å‰„剋剌剞剔剪剴剩剳剿剽åŠåŠ”åŠ’å‰±åŠˆåŠ‘è¾¨"], +["d2a1","辧劬åŠåŠ¼åŠµå‹å‹å‹—勞勣勦é£å‹ 勳勵勸勹匆匈甸åŒåŒåŒåŒ•匚匣匯匱匳匸å€å†å…丗å‰å凖åžå©å®å¤˜å»å·åŽ‚åŽ–åŽ åŽ¦åŽ¥åŽ®åŽ°åŽ¶åƒç°’é›™åŸæ›¼ç‡®å®å¨ååºåå½å‘€å¬åå¼å®å¶å©å呎å’呵咎呟呱呷呰咒呻咀呶咄å’咆哇咢咸咥咬哄哈咨"], +["d3a1","咫哂咤咾咼哘哥哦å”唔哽哮å“哺哢唹啀啣啌售啜啅啖啗唸唳å•喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎å™ç‡Ÿå˜´å˜¶å˜²å˜¸å™«å™¤å˜¯å™¬å™ªåš†åš€åšŠåš åš”åšåš¥åš®åš¶åš´å›‚åš¼å›å›ƒå›€å›ˆå›Žå›‘囓囗囮囹圀囿圄圉"], +["d4a1","圈國åœåœ“團圖嗇圜圦圷圸åŽåœ»å€åå©åŸ€åžˆå¡å¿åž‰åž“åž åž³åž¤åžªåž°åŸƒåŸ†åŸ”åŸ’åŸ“å ŠåŸ–åŸ£å ‹å ™å å¡²å ¡å¡¢å¡‹å¡°æ¯€å¡’å ½å¡¹å¢…å¢¹å¢Ÿå¢«å¢ºå£žå¢»å¢¸å¢®å£…å£“å£‘å£—å£™å£˜å£¥å£œå£¤å£Ÿå£¯å£ºå£¹å£»å£¼å£½å¤‚å¤Šå¤å¤›æ¢¦å¤¥å¤¬å¤å¤²å¤¸å¤¾ç«’奕å¥å¥Žå¥šå¥˜å¥¢å¥ 奧奬奩"], +["d5a1","奸å¦å¦ä½žä¾«å¦£å¦²å§†å§¨å§œå¦å§™å§šå¨¥å¨Ÿå¨‘娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲å«å¬ªå¬¶å¬¾åƒå…å€å‘å•åšå›å¥å©å°å³åµå¸æ–ˆåºå®€å®ƒå®¦å®¸å¯ƒå¯‡å¯‰å¯”å¯å¯¤å¯¦å¯¢å¯žå¯¥å¯«å¯°å¯¶å¯³å°…將專å°å°“å° å°¢å°¨å°¸å°¹å±å±†å±Žå±“"], +["d6a1","å±å±å±å±¬å±®ä¹¢å±¶å±¹å²Œå²‘岔妛岫岻岶岼岷峅岾峇峙峩峽峺å³å¶Œå³ªå´‹å´•崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢å¶å¶¬å¶®å¶½å¶å¶·å¶¼å·‰å·å·“å·’å·–å·›å·«å·²å·µå¸‹å¸šå¸™å¸‘å¸›å¸¶å¸·å¹„å¹ƒå¹€å¹Žå¹—å¹”å¹Ÿå¹¢å¹¤å¹‡å¹µå¹¶å¹ºéº¼å¹¿åº å»å»‚廈å»å»"], +["d7a1","廖廣å»å»šå»›å»¢å»¡å»¨å»©å»¬å»±å»³å»°å»´å»¸å»¾å¼ƒå¼‰å½å½œå¼‹å¼‘弖弩å¼å¼¸å½å½ˆå½Œå½Žå¼¯å½‘彖彗彙彡å½å½³å½·å¾ƒå¾‚å½¿å¾Šå¾ˆå¾‘å¾‡å¾žå¾™å¾˜å¾ å¾¨å¾å¾¼å¿–å¿»å¿¤å¿¸å¿±å¿æ‚³å¿¿æ€¡æ æ€™æ€æ€©æ€Žæ€±æ€›æ€•æ€«æ€¦æ€æ€ºæšææªæ·æŸæŠæ†ææ£æƒæ¤æ‚æ¬æ«æ™æ‚æ‚æƒ§æ‚ƒæ‚š"], +["d8a1","æ‚„æ‚›æ‚–æ‚—æ‚’æ‚§æ‚‹æƒ¡æ‚¸æƒ æƒ“æ‚´å¿°æ‚½æƒ†æ‚µæƒ˜æ…æ„•æ„†æƒ¶æƒ·æ„€æƒ´æƒºæ„ƒæ„¡æƒ»æƒ±æ„æ„Žæ…‡æ„¾æ„¨æ„§æ…Šæ„¿æ„¼æ„¬æ„´æ„½æ…‚æ…„æ…³æ…·æ…˜æ…™æ…šæ…«æ…´æ…¯æ…¥æ…±æ…Ÿæ…æ…“æ…µæ†™æ†–æ†‡æ†¬æ†”æ†šæ†Šæ†‘æ†«æ†®æ‡Œæ‡Šæ‡‰æ‡·æ‡ˆæ‡ƒæ‡†æ†ºæ‡‹ç½¹æ‡æ‡¦æ‡£æ‡¶æ‡ºæ‡´æ‡¿æ‡½æ‡¼æ‡¾æˆ€æˆˆæˆ‰æˆæˆŒæˆ”戛"], +["d9a1","æˆžæˆ¡æˆªæˆ®æˆ°æˆ²æˆ³æ‰æ‰Žæ‰žæ‰£æ‰›æ‰ æ‰¨æ‰¼æŠ‚æŠ‰æ‰¾æŠ’æŠ“æŠ–æ‹”æŠƒæŠ”æ‹—æ‹‘æŠ»æ‹æ‹¿æ‹†æ“”æ‹ˆæ‹œæ‹Œæ‹Šæ‹‚æ‹‡æŠ›æ‹‰æŒŒæ‹®æ‹±æŒ§æŒ‚æŒˆæ‹¯æ‹µææŒ¾ææœææŽ–æŽŽæŽ€æŽ«æ¶æŽ£æŽæŽ‰æŽŸæŽµæ«æ©æŽ¾æ©æ€æ†æ£æ‰æ’æ¶æ„æ–æ´æ†æ“æ¦æ¶æ”æ—æ¨ææ‘§æ‘¯æ‘¶æ‘Žæ”ªæ’•撓撥撩撈撼"], +["daa1","æ“šæ“’æ“…æ“‡æ’»æ“˜æ“‚æ“±æ“§èˆ‰æ“ æ“¡æŠ¬æ“£æ“¯æ”¬æ“¶æ“´æ“²æ“ºæ”€æ“½æ”˜æ”œæ”…æ”¤æ”£æ”«æ”´æ”µæ”·æ”¶æ”¸ç•‹æ•ˆæ•–æ••æ•æ•˜æ•žæ•æ•²æ•¸æ–‚æ–ƒè®Šæ–›æ–Ÿæ–«æ–·æ—ƒæ—†æ—æ—„æ—Œæ—’æ—›æ—™æ— æ—¡æ—±æ²æ˜Šæ˜ƒæ—»æ³æ˜µæ˜¶æ˜´æ˜œæ™æ™„æ™‰æ™æ™žæ™æ™¤æ™§æ™¨æ™Ÿæ™¢æ™°æšƒæšˆæšŽæš‰æš„æš˜æšæ›æš¹æ›‰æš¾æš¼"], +["dba1","æ›„æš¸æ›–æ›šæ› æ˜¿æ›¦æ›©æ›°æ›µæ›·æœæœ–æœžæœ¦æœ§éœ¸æœ®æœ¿æœ¶ææœ¸æœ·æ†æžæ æ™æ£æ¤æž‰æ°æž©æ¼æªæžŒæž‹æž¦æž¡æž…æž·æŸ¯æž´æŸ¬æž³æŸ©æž¸æŸ¤æŸžæŸæŸ¢æŸ®æž¹æŸŽæŸ†æŸ§æªœæ žæ¡†æ ©æ¡€æ¡æ ²æ¡Žæ¢³æ «æ¡™æ¡£æ¡·æ¡¿æ¢Ÿæ¢æ¢æ¢”æ¢æ¢›æ¢ƒæª®æ¢¹æ¡´æ¢µæ¢ æ¢ºæ¤æ¢æ¡¾æ¤æ£Šæ¤ˆæ£˜æ¤¢æ¤¦æ£¡æ¤Œæ£"], +["dca1","æ£”æ£§æ£•æ¤¶æ¤’æ¤„æ£—æ££æ¤¥æ£¹æ£ æ£¯æ¤¨æ¤ªæ¤šæ¤£æ¤¡æ£†æ¥¹æ¥·æ¥œæ¥¸æ¥«æ¥”æ¥¾æ¥®æ¤¹æ¥´æ¤½æ¥™æ¤°æ¥¡æ¥žæ¥æ¦æ¥ªæ¦²æ¦®æ§æ¦¿æ§æ§“æ¦¾æ§Žå¯¨æ§Šæ§æ¦»æ§ƒæ¦§æ¨®æ¦‘æ¦ æ¦œæ¦•æ¦´æ§žæ§¨æ¨‚æ¨›æ§¿æ¬Šæ§¹æ§²æ§§æ¨…æ¦±æ¨žæ§æ¨”æ§«æ¨Šæ¨’æ«æ¨£æ¨“æ©„æ¨Œæ©²æ¨¶æ©¸æ©‡æ©¢æ©™æ©¦æ©ˆæ¨¸æ¨¢æªæªæª 檄檢檣"], +["dda1","æª—è˜—æª»æ«ƒæ«‚æª¸æª³æª¬æ«žæ«‘æ«Ÿæªªæ«šæ«ªæ«»æ¬…è˜–æ«ºæ¬’æ¬–é¬±æ¬Ÿæ¬¸æ¬·ç›œæ¬¹é£®æ‡æƒæ‰ææ™æ”æ›æŸæ¡æ¸æ¹æ¿æ®€æ®„æ®ƒæ®æ®˜æ®•æ®žæ®¤æ®ªæ®«æ®¯æ®²æ®±æ®³æ®·æ®¼æ¯†æ¯‹æ¯“æ¯Ÿæ¯¬æ¯«æ¯³æ¯¯éº¾æ°ˆæ°“æ°”æ°›æ°¤æ°£æ±žæ±•æ±¢æ±ªæ²‚æ²æ²šæ²æ²›æ±¾æ±¨æ±³æ²’æ²æ³„æ³±æ³“æ²½æ³—æ³…æ³æ²®æ²±æ²¾"], +["dea1","æ²ºæ³›æ³¯æ³™æ³ªæ´Ÿè¡æ´¶æ´«æ´½æ´¸æ´™æ´µæ´³æ´’æ´Œæµ£æ¶“æµ¤æµšæµ¹æµ™æ¶Žæ¶•æ¿¤æ¶…æ·¹æ¸•æ¸Šæ¶µæ·‡æ·¦æ¶¸æ·†æ·¬æ·žæ·Œæ·¨æ·’æ·…æ·ºæ·™æ·¤æ·•æ·ªæ·®æ¸æ¹®æ¸®æ¸™æ¹²æ¹Ÿæ¸¾æ¸£æ¹«æ¸«æ¹¶æ¹æ¸Ÿæ¹ƒæ¸ºæ¹Žæ¸¤æ»¿æ¸æ¸¸æº‚æºªæº˜æ»‰æº·æ»“æº½æº¯æ»„æº²æ»”æ»•æºæº¥æ»‚æºŸæ½æ¼‘çŒæ»¬æ»¸æ»¾æ¼¿æ»²æ¼±æ»¯æ¼²æ»Œ"], +["dfa1","æ¼¾æ¼“æ»·æ¾†æ½ºæ½¸æ¾æ¾€æ½¯æ½›æ¿³æ½æ¾‚潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑ç€ç€æ¿¾ç€›ç€šæ½´ç€ç€˜ç€Ÿç€°ç€¾ç€²ç‘ç£ç‚™ç‚’炯烱炬炸炳炮烟烋çƒçƒ™ç„‰çƒ½ç„œç„™ç…¥ç…•熈煦煢煌煖煬ç†ç‡»ç†„ç†•ç†¨ç†¬ç‡—ç†¹ç†¾ç‡’ç‡‰ç‡”ç‡Žç‡ ç‡¬ç‡§ç‡µç‡¼"], +["e0a1","燹燿çˆçˆçˆ›çˆ¨çˆçˆ¬çˆ°çˆ²çˆ»çˆ¼çˆ¿ç‰€ç‰†ç‰‹ç‰˜ç‰´ç‰¾çŠ‚çŠçŠ‡çŠ’çŠ–çŠ¢çŠ§çŠ¹çŠ²ç‹ƒç‹†ç‹„ç‹Žç‹’ç‹¢ç‹ ç‹¡ç‹¹ç‹·å€çŒ—猊猜猖çŒçŒ´çŒ¯çŒ©çŒ¥çŒ¾çŽç默ç—çªç¨ç°ç¸çµç»çºçˆç޳çŽçŽ»ç€ç¥ç®çžç’¢ç…瑯ç¥ç¸ç²çºç‘•ç¿ç‘Ÿç‘™ç‘瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊ç“ç“”ç±"], +["e1a1","ç“ ç“£ç“§ç“©ç“®ç“²ç“°ç“±ç“¸ç“·ç”„ç”ƒç”…ç”Œç”Žç”甕甓甞甦甬甼畄ç•畊畉畛畆畚畩畤畧畫ç•畸當疆疇畴疊疉疂疔疚ç–疥疣痂疳痃疵疽疸疼疱ç—痊痒痙痣痞痾痿痼ç˜ç—°ç—ºç—²ç—³ç˜‹ç˜ç˜‰ç˜Ÿç˜§ç˜ 瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"], +["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂ç›ç›–盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸ç‡çšç¨ç«ç›ç¥ç¿ç¾ç¹çžŽçž‹çž‘çž çžžçž°çž¶çž¹çž¿çž¼çž½çž»çŸ‡çŸçŸ—çŸšçŸœçŸ£çŸ®çŸ¼ç Œç ’ç¤¦ç 礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"], +["e3a1","ç£§ç£šç£½ç£´ç¤‡ç¤’ç¤‘ç¤™ç¤¬ç¤«ç¥€ç¥ ç¥—ç¥Ÿç¥šç¥•ç¥“ç¥ºç¥¿ç¦Šç¦ç¦§é½‹ç¦ªç¦®ç¦³ç¦¹ç¦ºç§‰ç§•秧秬秡秣稈ç¨ç¨˜ç¨™ç¨ 稟禀稱稻稾稷穃穗穉穡穢穩é¾ç©°ç©¹ç©½çªˆçª—窕窘窖窩竈窰窶竅竄窿邃竇竊ç«ç«ç«•竓站竚ç«ç«¡ç«¢ç«¦ç«ç«°ç¬‚ç¬ç¬Šç¬†ç¬³ç¬˜ç¬™ç¬žç¬µç¬¨ç¬¶ç"], +["e4a1","çºç¬„ç笋çŒç…çµç¥ç´ç§ç°ç±ç¬ç®ç®ç®˜ç®Ÿç®ç®œç®šç®‹ç®’ç®ç箙篋ç¯ç¯Œç¯ç®´ç¯†ç¯ç¯©ç°‘ç°”ç¯¦ç¯¥ç± ç°€ç°‡ç°“ç¯³ç¯·ç°—ç°ç¯¶ç°£ç°§ç°ªç°Ÿç°·ç°«ç°½ç±Œç±ƒç±”ç±ç±€ç±ç±˜ç±Ÿç±¤ç±–籥籬籵粃ç²ç²¤ç²ç²¢ç²«ç²¡ç²¨ç²³ç²²ç²±ç²®ç²¹ç²½ç³€ç³…糂糘糒糜糢鬻糯糲糴糶糺紆"], +["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮çµçµ£ç¶“綉絛ç¶çµ½ç¶›ç¶ºç¶®ç¶£ç¶µç·‡ç¶½ç¶«ç¸½ç¶¢ç¶¯ç·œç¶¸ç¶Ÿç¶°ç·˜ç·ç·¤ç·žç·»ç·²ç·¡ç¸…縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧ç¹ç¹–繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒çºçº“纔纖纎纛纜缸缺"], +["e6a1","罅罌ç½ç½Žç½ç½‘ç½•ç½”ç½˜ç½Ÿç½ ç½¨ç½©ç½§ç½¸ç¾‚ç¾†ç¾ƒç¾ˆç¾‡ç¾Œç¾”ç¾žç¾ç¾šç¾£ç¾¯ç¾²ç¾¹ç¾®ç¾¶ç¾¸è±ç¿…翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻èŠè†è’è˜èšèŸè¢è¨è³è²è°è¶è¹è½è¿è‚„肆肅肛肓肚è‚å†è‚¬èƒ›èƒ¥èƒ™èƒèƒ„胚胖脉胯胱脛脩脣脯腋"], +["e7a1","éš‹è…†è„¾è…“è…‘èƒ¼è…±è…®è…¥è…¦è…´è†ƒè†ˆè†Šè†€è†‚è† è†•è†¤è†£è…Ÿè†“è†©è†°è†µè†¾è†¸è†½è‡€è‡‚è†ºè‡‰è‡è‡‘è‡™è‡˜è‡ˆè‡šè‡Ÿè‡ è‡§è‡ºè‡»è‡¾èˆèˆ‚舅與舊èˆèˆèˆ–舩舫舸舳艀艙艘è‰è‰šè‰Ÿè‰¤è‰¢è‰¨è‰ªè‰«èˆ®è‰±è‰·è‰¸è‰¾èŠèŠ’èŠ«èŠŸèŠ»èŠ¬è‹¡è‹£è‹Ÿè‹’è‹´è‹³è‹ºèŽ“èŒƒè‹»è‹¹è‹žèŒ†è‹œèŒ‰è‹™"], +["e8a1","茵茴茖茲茱è€èŒ¹èè…茯茫茗茘莅莚莪莟莢莖茣莎莇莊è¼è޵è³èµèŽ èŽ‰èŽ¨è´è“è«èŽè½èƒè˜è‹èè·è‡è è²èè¢è 莽è¸è”†è»è‘èªè¼è•šè’„è‘·è‘«è’葮蒂葩葆è¬è‘¯è‘¹èµè“Šè‘¢è’¹è’¿è’Ÿè“™è“蒻蓚è“è“蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"], +["e9a1","è•蘂蕋蕕薀薤薈薑薊薨è•薔薛藪薇薜蕷蕾è–藉薺è—è–¹è—è—•è—藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿è™ä¹•è™”è™Ÿè™§è™±èš“èš£èš©èšªèš‹èšŒèš¶èš¯è›„è›†èš°è›‰è £èš«è›”è›žè›©è›¬è›Ÿè››è›¯èœ’èœ†èœˆèœ€èœƒè›»èœ‘èœ‰èœè›¹èœŠèœ´èœ¿èœ·èœ»èœ¥èœ©èœšè èŸè¸èŒèŽè´è—è¨è®è™"], +["eaa1","è“è£èªè …螢螟螂螯蟋螽蟀èŸé›–èž«èŸ„èž³èŸ‡èŸ†èž»èŸ¯èŸ²èŸ è è èŸ¾èŸ¶èŸ·è ŽèŸ’è ‘è –è •è ¢è ¡è ±è ¶è ¹è §è »è¡„è¡‚è¡’è¡™è¡žè¡¢è¡«è¢è¡¾è¢žè¡µè¡½è¢µè¡²è¢‚袗袒袮袙袢è¢è¢¤è¢°è¢¿è¢±è£ƒè£„裔裘裙è£è£¹è¤‚裼裴裨裲褄褌褊褓襃褞褥褪褫è¥è¥„褻褶褸襌è¤è¥ 襞"], +["eba1","襦襤è¥è¥ªè¥¯è¥´è¥·è¥¾è¦ƒè¦ˆè¦Šè¦“覘覡覩覦覬覯覲覺覽覿觀觚觜è§è§§è§´è§¸è¨ƒè¨–è¨è¨Œè¨›è¨è¨¥è¨¶è©è©›è©’詆詈詼è©è©¬è©¢èª…誂誄誨誡誑誥誦誚誣諄è«è«‚è«šè««è«³è«§è«¤è«±è¬”è« è«¢è«·è«žè«›è¬Œè¬‡è¬šè«¡è¬–è¬è¬—è¬ è¬³éž«è¬¦è¬«è¬¾è¬¨èèŒèèŽè‰è–è›èšè«"], +["eca1","èŸè¬è¯è´è½è®€è®Œè®Žè®’讓讖讙讚谺è±è°¿è±ˆè±Œè±Žè±è±•豢豬豸豺貂貉貅貊è²è²Žè²”豼貘æˆè²è²ªè²½è²²è²³è²®è²¶è³ˆè³è³¤è³£è³šè³½è³ºè³»è´„è´…è´Šè´‡è´è´è´é½Žè´“è³è´”è´–èµ§èµèµ±èµ³è¶è¶™è·‚趾趺è·è·šè·–跌跛跋跪跫跟跣跼踈踉跿è¸è¸žè¸è¸Ÿè¹‚踵踰踴蹊"], +["eda1","蹇蹉蹌è¹è¹ˆè¹™è¹¤è¹ 踪蹣蹕蹶蹲蹼èºèº‡èº…躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣è¾è¾¯è¾·è¿šè¿¥è¿¢è¿ªè¿¯é‚‡è¿´é€…迹迺逑逕逡é€é€žé€–逋逧逶逵逹迸"], +["eea1","ééé‘é’逎é‰é€¾é–é˜éžé¨é¯é¶éš¨é²é‚‚é½é‚邀邊邉é‚邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀é‡é‡‰é‡‹é‡é‡–釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋é‰éŠœéŠ–éŠ“éŠ›é‰šé‹éŠ¹éŠ·é‹©éŒé‹ºé„錮"], +["efa1","錙錢錚錣錺錵錻éœé é¼é®é–鎰鎬éŽéŽ”éŽ¹é–é—é¨é¥é˜éƒéééˆé¤éšé”é“éƒé‡éé¶é«éµé¡éºé‘é‘’é‘„é‘›é‘ é‘¢é‘žé‘ªéˆ©é‘°é‘µé‘·é‘½é‘šé‘¼é‘¾é’é‘¿é–‚é–‡é–Šé–”é––é–˜é–™é– é–¨é–§é–閼閻閹閾闊濶闃é—闌闕闔闖關闡闥闢阡阨阮阯陂陌é™é™‹é™·é™œé™ž"], +["f0a1","é™é™Ÿé™¦é™²é™¬éšéš˜éš•隗險隧隱隲隰隴隶隸隹雎雋雉é›è¥é›œéœé›•雹霄霆霈霓霎霑éœéœ–霙霤霪霰霹霽霾é„é†éˆé‚é‰éœé é¤é¦é¨å‹’é«é±é¹éž…é¼éžéºéž†éž‹éžéžéžœéž¨éž¦éž£éž³éž´éŸƒéŸ†éŸˆéŸ‹éŸœéŸé½éŸ²ç«ŸéŸ¶éŸµé é Œé ¸é ¤é ¡é ·é ½é¡†é¡é¡‹é¡«é¡¯é¡°"], +["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡é¤é¤žé¤¤é¤ 餬餮餽餾饂饉饅é¥é¥‹é¥‘饒饌饕馗馘馥é¦é¦®é¦¼é§Ÿé§›é§é§˜é§‘é§é§®é§±é§²é§»é§¸é¨é¨é¨…駢騙騫騷驅驂驀驃騾驕é©é©›é©—驟驢驥驤驩驫驪éªéª°éª¼é«€é«é«‘髓體髞髟髢髣髦髯髫髮髴髱髷"], +["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲é„éƒéééŽé‘é˜é´é®“é®ƒé®‘é®–é®—é®Ÿé® é®¨é®´é¯€é¯Šé®¹é¯†é¯é¯‘é¯’é¯£é¯¢é¯¤é¯”é¯¡é°ºé¯²é¯±é¯°é°•é°”é°‰é°“é°Œé°†é°ˆé°’é°Šé°„é°®é°›é°¥é°¤é°¡é°°é±‡é°²é±†é°¾é±šé± é±§é±¶é±¸é³§é³¬é³°é´‰é´ˆé³«é´ƒé´†é´ªé´¦é¶¯é´£é´Ÿéµ„é´•é´’éµé´¿é´¾éµ†éµˆ"], +["f3a1","éµéµžéµ¤éµ‘éµéµ™éµ²é¶‰é¶‡é¶«éµ¯éµºé¶šé¶¤é¶©é¶²é·„é·é¶»é¶¸é¶ºé·†é·é·‚鷙鷓鷸鷦é·é·¯é·½é¸šé¸›é¸žé¹µé¹¹é¹½éºéºˆéº‹éºŒéº’麕麑éºéº¥éº©éº¸éºªéºé¡é»Œé»Žé»é»é»”黜點é»é» é»¥é»¨é»¯é»´é»¶é»·é»¹é»»é»¼é»½é¼‡é¼ˆçš·é¼•é¼¡é¼¬é¼¾é½Šé½’é½”é½£é½Ÿé½ é½¡é½¦é½§é½¬é½ªé½·é½²é½¶é¾•é¾œé¾ "], +["f4a1","å ¯æ§‡é™ç‘¤å‡œç†™"], +["f9a1","纊褜éˆéŠˆè“œä¿‰ç‚»æ˜±æ£ˆé‹¹æ›»å½…ä¸¨ä»¡ä»¼ä¼€ä¼ƒä¼¹ä½–ä¾’ä¾Šä¾šä¾”ä¿å€å€¢ä¿¿å€žå†å°å‚傔僴僘兊兤å†å†¾å‡¬åˆ•劜劦勀勛匀匇匤å²åŽ“åŽ²å﨎咜咊咩哿喆å™å¥åž¬åŸˆåŸ‡ï¨ï¨å¢žå¢²å¤‹å¥“奛å¥å¥£å¦¤å¦ºå–寀甯寘寬尞岦岺峵崧嵓﨑嵂åµå¶¸å¶¹å·å¼¡å¼´å½§å¾·"], +["faa1","å¿žææ‚…æ‚Šæƒžæƒ•æ„ æƒ²æ„‘æ„·æ„°æ†˜æˆ“æŠ¦æµæ‘ æ’æ“Žæ•Žæ˜€æ˜•æ˜»æ˜‰æ˜®æ˜žæ˜¤æ™¥æ™—æ™™ï¨’æ™³æš™æš æš²æš¿æ›ºæœŽï¤©æ¦æž»æ¡’æŸ€æ æ¡„æ£ï¨“æ¥¨ï¨”æ¦˜æ§¢æ¨°æ©«æ©†æ©³æ©¾æ«¢æ«¤æ¯–æ°¿æ±œæ²†æ±¯æ³šæ´„æ¶‡æµ¯æ¶–æ¶¬æ·æ·¸æ·²æ·¼æ¸¹æ¹œæ¸§æ¸¼æº¿æ¾ˆæ¾µæ¿µç€…瀇瀨炅炫ç„焄煜煆煇凞ç‡ç‡¾çб"], +["fba1","犾猤猪ç·ç޽ç‰ç–ç£ç’ç‡çµç¦çªç©ç®ç‘¢ç’‰ç’Ÿç”畯皂皜皞皛皦益ç†åŠ¯ç ¡ç¡Žç¡¤ç¡ºç¤°ï¨˜ï¨™ï¨šç¦”ï¨›ç¦›ç«‘ç«§ï¨œç««ç®žï¨çµˆçµœç¶·ç¶ 緖繒罇羡羽èŒè¢è¿è‡è¶è‘ˆè’´è•“è•™è•«ï¨Ÿè–°ï¨ ï¨¡è ‡è£µè¨’è¨·è©¹èª§èª¾è«Ÿï¨¢è«¶è“è¿è³°è³´è´’赶﨣è»ï¨¤ï¨¥é§éƒžï¨¦é„•鄧釚"], +["fca1","釗釞é‡é‡®é‡¤é‡¥éˆ†éˆéˆŠéˆºé‰€éˆ¼é‰Žé‰™é‰‘鈹鉧銧鉷鉸鋧鋗鋙é‹ï¨§é‹•é‹ é‹“éŒ¥éŒ¡é‹»ï¨¨éŒžé‹¿éŒéŒ‚é°é—鎤é†éžé¸é±é‘…鑈閒隆﨩éšéš¯éœ³éœ»éƒééé‘é•顗顥飯飼餧館馞驎髙髜éµé²é®é®±é®»é°€éµ°éµ«ï¨é¸™é»‘"], +["fcf1","â…°",9,"¬¦'""], +["8fa2af","˘ˇ¸˙˯˛˚~΄΅"], +["8fa2c2","¡¦¿"], +["8fa2eb","ºª©®™¤№"], +["8fa6e1","ΆΈΉΊΪ"], +["8fa6e7","ÎŒ"], +["8fa6e9","ΎΫ"], +["8fa6ec","Î"], +["8fa6f1","άÎήίϊÎόςÏϋΰώ"], +["8fa7c2","Ђ",10,"ÐŽÐ"], +["8fa7f2","Ñ’",10,"ўџ"], +["8fa9a1","ÆÄ"], +["8fa9a4","Ħ"], +["8fa9a6","IJ"], +["8fa9a8","ÅÄ¿"], +["8fa9ab","ŊØŒ"], +["8fa9af","ŦÞ"], +["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"], +["8faaa1","ÃÀÄÂĂÇĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"], +["8faaba","ÄœÄžÄ¢Ä Ä¤ÃÃŒÃÃŽÇİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑÅŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴßŶŹŽŻ"], +["8faba1","áà äâăǎÄąåãćĉÄçċÄéèëêěėēęǵÄÄŸ"], +["8fabbd","ġĥÃìïîÇ"], +["8fabc5","īįĩĵķĺľļńňņñóòöôǒőÅõŕřŗśÅšşťţúùüûÅǔűūųůũǘǜǚǖŵýÿŷźžż"], +["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀ä¹ä¹„乇乑乚乜乣乨乩乴乵乹乿äºäº–亗äºäº¯äº¹ä»ƒä»ä»šä»›ä» ä»¡ä»¢ä»¨ä»¯ä»±ä»³ä»µä»½ä»¾ä»¿ä¼€ä¼‚ä¼ƒä¼ˆä¼‹ä¼Œä¼’ä¼•ä¼–ä¼—ä¼™ä¼®ä¼±ä½ ä¼³ä¼µä¼·ä¼¹ä¼»ä¼¾ä½€ä½‚ä½ˆä½‰ä½‹ä½Œä½’ä½”ä½–ä½˜ä½Ÿä½£ä½ªä½¬ä½®ä½±ä½·ä½¸ä½¹ä½ºä½½ä½¾ä¾ä¾‚侄"], +["8fb1a1","侅侉侊侌侎ä¾ä¾’侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀ä¿ä¿…俆俈俉俋俌ä¿ä¿ä¿’ä¿œä¿ ä¿¢ä¿°ä¿²ä¿¼ä¿½ä¿¿å€€å€å€„倇倊倌倎å€å€“倗倘倛倜å€å€žå€¢å€§å€®å€°å€²å€³å€µå€åå‚å…å†åŠåŒåŽå‘å’å“å—å™åŸå å¢å£å¦å§åªåå°å±å€»å‚傃傄傆傊傎å‚å‚"], +["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎åƒåƒ“僔僘僜åƒåƒŸåƒ¢åƒ¤åƒ¦åƒ¨åƒ©åƒ¯åƒ±åƒ¶åƒºåƒ¾å„ƒå„†å„‡å„ˆå„‹å„Œå„儎僲å„儗儙儛儜å„儞儣儧儨儬å„儯儱儳儴儵儸儹兂兊å…兓兕兗兘兟兤兦兾冃冄冋冎冘å†å†¡å†£å†å†¸å†ºå†¼å†¾å†¿å‡‚"], +["8fb3a1","凈å‡å‡‘凒凓凕凘凞凢凥凮凲凳凴凷åˆåˆ‚åˆ…åˆ’åˆ“åˆ•åˆ–åˆ˜åˆ¢åˆ¨åˆ±åˆ²åˆµåˆ¼å‰…å‰‰å‰•å‰—å‰˜å‰šå‰œå‰Ÿå‰ å‰¡å‰¦å‰®å‰·å‰¸å‰¹åŠ€åŠ‚åŠ…åŠŠåŠŒåŠ“åŠ•åŠ–åŠ—åŠ˜åŠšåŠœåŠ¤åŠ¥åŠ¦åŠ§åŠ¯åŠ°åŠ¶åŠ·åŠ¸åŠºåŠ»åŠ½å‹€å‹„å‹†å‹ˆå‹Œå‹å‹‘勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"], +["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬åŒåŒ°åŒ²åŒµåŒ¼åŒ½åŒ¾å‚åŒå‹å™å›å¡å£å¥å¬åå²å¹å¾åŽƒåŽ‡åŽˆåŽŽåŽ“åŽ”åŽ™åŽåŽ¡åŽ¤åŽªåŽ«åŽ¯åŽ²åŽ´åŽµåŽ·åŽ¸åŽºåŽ½å€å…åå’å“å•åšååžå å¦å§åµå‚å“åšå¡å§å¨åªå¯å±å´åµå‘ƒå‘„呇å‘å‘呞呢呤呦呧呩呫å‘呮呴呿"], +["8fb5a1","å’咃咅咈咉å’咑咕咖咜咟咡咦咧咩咪å’咮咱咷咹咺咻咿哆哊å“å“Žå“ å“ªå“¬å“¯å“¶å“¼å“¾å“¿å”€å”唅唈唉唌å”唎唕唪唫唲唵唶唻唼唽å•啇啉啊å•å•å•‘å•˜å•šå•›å•žå• å•¡å•¤å•¦å•¿å–喂喆喈喎å–喑喒喓喔喗喣喤å–喲喿å—嗃嗆嗉嗋嗌嗎嗑嗒"], +["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊å˜",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀å™å™ƒå™„噆噉噋å™å™å™”å™žå™ å™¡å™¢å™£å™¦å™©å™å™¯å™±å™²å™µåš„嚅嚈嚋嚌嚕嚙嚚åšåšžåšŸåš¦åš§åš¨åš©åš«åš¬åšåš±åš³åš·åš¾å›…囉囊囋å›å›å›Œå›å›™å›œå›å›Ÿå›¡å›¤",4,"囱囫å›"], +["8fb7a1","å›¶å›·åœåœ‚圇圊圌圑圕圚圛åœåœ 圢圣圤圥圩圪圬圮圯圳圴圽圾圿å…å†åŒåå’å¢å¥å§å¨å«å",4,"å³å´åµå·å¹åºå»å¼å¾åžåžƒåžŒåž”垗垙垚垜åžåžžåžŸåž¡åž•垧垨垩垬垸垽埇埈埌åŸåŸ•åŸåŸžåŸ¤åŸ¦åŸ§åŸ©åŸåŸ°åŸµåŸ¶åŸ¸åŸ½åŸ¾åŸ¿å ƒå „å ˆå ‰åŸ¡"], +["8fb8a1","å Œå å ›å žå Ÿå å ¦å §å å ²å ¹å ¿å¡‰å¡Œå¡å¡å¡å¡•塟塡塤塧塨塸塼塿墀å¢å¢‡å¢ˆå¢‰å¢Šå¢Œå¢å¢å¢å¢”墖å¢å¢ 墡墢墦墩墱墲壄墼壂壈å£å£Žå£å£’壔壖壚å£å£¡å£¢å£©å£³å¤…夆夋夌夒夓夔è™å¤å¤¡å¤£å¤¤å¤¨å¤¯å¤°å¤³å¤µå¤¶å¤¿å¥ƒå¥†å¥’奓奙奛å¥å¥žå¥Ÿå¥¡å¥£å¥«å¥"], +["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧å¦å¦®å¦¯å¦°å¦³å¦·å¦ºå¦¼å§å§ƒå§„姈姊å§å§’å§å§žå§Ÿå§£å§¤å§§å§®å§¯å§±å§²å§´å§·å¨€å¨„娌å¨å¨Žå¨’娓娞娣娤娧娨娪å¨å¨°å©„婅婇婈婌å©å©•婞婣婥婧å©å©·å©ºå©»å©¾åª‹åªåª“åª–åª™åªœåªžåªŸåª åª¢åª§åª¬åª±åª²åª³åªµåª¸åªºåª»åª¿"], +["8fbaa1","嫄嫆嫈å«å«šå«œå« 嫥嫪嫮嫵嫶嫽嬀å¬å¬ˆå¬—嬴嬙嬛å¬å¬¡å¬¥å¬å¬¸åå‹åŒå’å–åžå¨å®å¯å¼å½å¾å¿å®å®„宆宊宎å®å®‘宓宔宖宨宩宬å®å®¯å®±å®²å®·å®ºå®¼å¯€å¯å¯å¯å¯–",4,"å¯ å¯¯å¯±å¯´å¯½å°Œå°—å°žå°Ÿå°£å°¦å°©å°«å°¬å°®å°°å°²å°µå°¶å±™å±šå±œå±¢å±£å±§å±¨å±©"], +["8fbba1","å±å±°å±´å±µå±ºå±»å±¼å±½å²‡å²ˆå²Šå²å²’å²å²Ÿå² 岢岣岦岪岲岴岵岺峉峋峒å³å³—峮峱峲峴å´å´†å´å´’å´«å´£å´¤å´¦å´§å´±å´´å´¹å´½å´¿åµ‚åµƒåµ†åµˆåµ•åµ‘åµ™åµŠåµŸåµ åµ¡åµ¢åµ¤åµªåµåµ°åµ¹åµºåµ¾åµ¿å¶å¶ƒå¶ˆå¶Šå¶’å¶“å¶”å¶•å¶™å¶›å¶Ÿå¶ å¶§å¶«å¶°å¶´å¶¸å¶¹å·ƒå·‡å·‹å·å·Žå·˜å·™å· å·¤"], +["8fbca1","巩巸巹帀帇å¸å¸’å¸”å¸•å¸˜å¸Ÿå¸ å¸®å¸¨å¸²å¸µå¸¾å¹‹å¹å¹‰å¹‘幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜å¼å¼¡å¼¢å¼£å¼¤å¼¨å¼«å¼¬å¼®å¼°å¼´å¼¶å¼»å¼½å¼¿å½€å½„彅彇å½å½å½”å½˜å½›å½ å½£å½¤å½§"], +["8fbda1","彯彲彴彵彸彺彽彾徉å¾å¾å¾–徜å¾å¾¢å¾§å¾«å¾¤å¾¬å¾¯å¾°å¾±å¾¸å¿„忇忈忉忋å¿",4,"忞忡忢忨忩忪忬å¿å¿®å¿¯å¿²å¿³å¿¶å¿ºå¿¼æ€‡æ€Šæ€æ€“æ€”æ€—æ€˜æ€šæ€Ÿæ€¤æ€æ€³æ€µæ€æ‡æˆæ‰æŒæ‘æ”æ–æ—ææ¡æ§æ±æ¾æ¿æ‚‚æ‚†æ‚ˆæ‚Šæ‚Žæ‚‘æ‚“æ‚•æ‚˜æ‚æ‚žæ‚¢æ‚¤æ‚¥æ‚¨æ‚°æ‚±æ‚·"], +["8fbea1","æ‚»æ‚¾æƒ‚æƒ„æƒˆæƒ‰æƒŠæƒ‹æƒŽæƒæƒ”æƒ•æƒ™æƒ›æƒæƒžæƒ¢æƒ¥æƒ²æƒµæƒ¸æƒ¼æƒ½æ„‚愇愊愌æ„",4,"æ„–æ„—æ„™æ„œæ„žæ„¢æ„ªæ„«æ„°æ„±æ„µæ„¶æ„·æ„¹æ…æ……æ…†æ…‰æ…žæ… æ…¬æ…²æ…¸æ…»æ…¼æ…¿æ†€æ†æ†ƒæ†„æ†‹æ†æ†’æ†“æ†—æ†˜æ†œæ†æ†Ÿæ† æ†¥æ†¨æ†ªæ†æ†¸æ†¹æ†¼æ‡€æ‡æ‡‚æ‡Žæ‡æ‡•æ‡œæ‡æ‡žæ‡Ÿæ‡¡æ‡¢æ‡§æ‡©æ‡¥"], +["8fbfa1","æ‡¬æ‡æ‡¯æˆæˆƒæˆ„æˆ‡æˆ“æˆ•æˆœæˆ æˆ¢æˆ£æˆ§æˆ©æˆ«æˆ¹æˆ½æ‰‚æ‰ƒæ‰„æ‰†æ‰Œæ‰æ‰‘æ‰’æ‰”æ‰–æ‰šæ‰œæ‰¤æ‰æ‰¯æ‰³æ‰ºæ‰½æŠæŠŽæŠæŠæŠ¦æŠ¨æŠ³æŠ¶æŠ·æŠºæŠ¾æŠ¿æ‹„æ‹Žæ‹•æ‹–æ‹šæ‹ªæ‹²æ‹´æ‹¼æ‹½æŒƒæŒ„æŒŠæŒ‹æŒæŒæŒ“æŒ–æŒ˜æŒ©æŒªæŒæŒµæŒ¶æŒ¹æŒ¼ææ‚æƒæ„æ†æŠæ‹æŽæ’æ“æ”æ˜æ›æ¥æ¦æ¬ææ±æ´æµ"], +["8fc0a1","æ¸æ¼æ½æ¿æŽ‚æŽ„æŽ‡æŽŠæŽæŽ”æŽ•æŽ™æŽšæŽžæŽ¤æŽ¦æŽæŽ®æŽ¯æŽ½ææ…æˆæŽæ‘æ“æ”æ•æœæ æ¥æªæ¬æ²æ³æµæ¸æ¹æ‰æŠææ’æ”æ˜æžæ æ¢æ¤æ¥æ©æªæ¯æ°æµæ½æ¿æ‘‹æ‘æ‘‘æ‘’æ‘“æ‘”æ‘šæ‘›æ‘œæ‘æ‘Ÿæ‘ æ‘¡æ‘£æ‘æ‘³æ‘´æ‘»æ‘½æ’…æ’‡æ’æ’æ’‘æ’˜æ’™æ’›æ’æ’Ÿæ’¡æ’£æ’¦æ’¨æ’¬æ’³æ’½æ’¾æ’¿"], +["8fc1a1","æ“„æ“‰æ“Šæ“‹æ“Œæ“Žæ“æ“‘æ“•æ“—æ“¤æ“¥æ“©æ“ªæ“æ“°æ“µæ“·æ“»æ“¿æ”æ”„æ”ˆæ”‰æ”Šæ”æ”“æ””æ”–æ”™æ”›æ”žæ”Ÿæ”¢æ”¦æ”©æ”®æ”±æ”ºæ”¼æ”½æ•ƒæ•‡æ•‰æ•æ•’æ•”æ•Ÿæ• æ•§æ•«æ•ºæ•½æ–æ–…æ–Šæ–’æ–•æ–˜æ–æ– æ–£æ–¦æ–®æ–²æ–³æ–´æ–¿æ—‚æ—ˆæ—‰æ—Žæ—æ—”æ—–æ—˜æ—Ÿæ—°æ—²æ—´æ—µæ—¹æ—¾æ—¿æ˜€æ˜„æ˜ˆæ˜‰æ˜æ˜‘昒昕昖æ˜"], +["8fc2a1","æ˜žæ˜¡æ˜¢æ˜£æ˜¤æ˜¦æ˜©æ˜ªæ˜«æ˜¬æ˜®æ˜°æ˜±æ˜³æ˜¹æ˜·æ™€æ™…æ™†æ™Šæ™Œæ™‘æ™Žæ™—æ™˜æ™™æ™›æ™œæ™ æ™¡æ›»æ™ªæ™«æ™¬æ™¾æ™³æ™µæ™¿æ™·æ™¸æ™¹æ™»æš€æ™¼æš‹æšŒæšæšæš’æš™æššæš›æšœæšŸæš æš¤æšæš±æš²æšµæš»æš¿æ›€æ›‚æ›ƒæ›ˆæ›Œæ›Žæ›æ›”æ››æ›Ÿæ›¨æ›«æ›¬æ›®æ›ºæœ…æœ‡æœŽæœ“æœ™æœœæœ æœ¢æœ³æœ¾æ…æ‡æˆæŒæ”æ•æ"], +["8fc3a1","æ¦æ¬æ®æ´æ¶æ»æžæž„æžŽæžæž‘æž“æž–æž˜æž™æž›æž°æž±æž²æžµæž»æž¼æž½æŸ¹æŸ€æŸ‚æŸƒæŸ…æŸˆæŸ‰æŸ’æŸ—æŸ™æŸœæŸ¡æŸ¦æŸ°æŸ²æŸ¶æŸ·æ¡’æ ”æ ™æ æ Ÿæ ¨æ §æ ¬æ æ ¯æ °æ ±æ ³æ »æ ¿æ¡„æ¡…æ¡Šæ¡Œæ¡•æ¡—æ¡˜æ¡›æ¡«æ¡®",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌æ£"], +["8fc4a1","æ£æ£‘æ£“æ£–æ£™æ£œæ£æ£¥æ£¨æ£ªæ£«æ£¬æ£æ£°æ£±æ£µæ£¶æ£»æ£¼æ£½æ¤†æ¤‰æ¤Šæ¤æ¤‘æ¤“æ¤–æ¤—æ¤±æ¤³æ¤µæ¤¸æ¤»æ¥‚æ¥…æ¥‰æ¥Žæ¥—æ¥›æ¥£æ¥¤æ¥¥æ¥¦æ¥¨æ¥©æ¥¬æ¥°æ¥±æ¥²æ¥ºæ¥»æ¥¿æ¦€æ¦æ¦’æ¦–æ¦˜æ¦¡æ¦¥æ¦¦æ¦¨æ¦«æ¦æ¦¯æ¦·æ¦¸æ¦ºæ¦¼æ§…æ§ˆæ§‘æ§–æ§—æ§¢æ§¥æ§®æ§¯æ§±æ§³æ§µæ§¾æ¨€æ¨æ¨ƒæ¨æ¨‘æ¨•æ¨šæ¨æ¨ 樤樨樰樲"], +["8fc5a1","æ¨´æ¨·æ¨»æ¨¾æ¨¿æ©…æ©†æ©‰æ©Šæ©Žæ©æ©‘æ©’æ©•æ©–æ©›æ©¤æ©§æ©ªæ©±æ©³æ©¾æªæªƒæª†æª‡æª‰æª‹æª‘æª›æªæªžæªŸæª¥æª«æª¯æª°æª±æª´æª½æª¾æª¿æ«†æ«‰æ«ˆæ«Œæ«æ«”æ«•æ«–æ«œæ«æ«¤æ«§æ«¬æ«°æ«±æ«²æ«¼æ«½æ¬‚æ¬ƒæ¬†æ¬‡æ¬‰æ¬æ¬æ¬‘æ¬—æ¬›æ¬žæ¬¤æ¬¨æ¬«æ¬¬æ¬¯æ¬µæ¬¶æ¬»æ¬¿æ†æŠææ’æ–æ˜ææ æ§æ«æ®æ°æµæ½"], +["8fc6a1","æ¾æ®‚æ®…æ®—æ®›æ®Ÿæ® æ®¢æ®£æ®¨æ®©æ®¬æ®æ®®æ®°æ®¸æ®¹æ®½æ®¾æ¯ƒæ¯„æ¯‰æ¯Œæ¯–æ¯šæ¯¡æ¯£æ¯¦æ¯§æ¯®æ¯±æ¯·æ¯¹æ¯¿æ°‚æ°„æ°…æ°‰æ°æ°Žæ°æ°’æ°™æ°Ÿæ°¦æ°§æ°¨æ°¬æ°®æ°³æ°µæ°¶æ°ºæ°»æ°¿æ±Šæ±‹æ±æ±æ±’æ±”æ±™æ±›æ±œæ±«æ±æ±¯æ±´æ±¶æ±¸æ±¹æ±»æ²…æ²†æ²‡æ²‰æ²”æ²•æ²—æ²˜æ²œæ²Ÿæ²°æ²²æ²´æ³‚æ³†æ³æ³æ³æ³‘泒泔泖"], +["8fc7a1","æ³šæ³œæ³ æ³§æ³©æ³«æ³¬æ³®æ³²æ³´æ´„æ´‡æ´Šæ´Žæ´æ´‘æ´“æ´šæ´¦æ´§æ´¨æ±§æ´®æ´¯æ´±æ´¹æ´¼æ´¿æµ—æµžæµŸæµ¡æµ¥æµ§æµ¯æµ°æµ¼æ¶‚æ¶‡æ¶‘æ¶’æ¶”æ¶–æ¶—æ¶˜æ¶ªæ¶¬æ¶´æ¶·æ¶¹æ¶½æ¶¿æ·„æ·ˆæ·Šæ·Žæ·æ·–æ·›æ·æ·Ÿæ· æ·¢æ·¥æ·©æ·¯æ·°æ·´æ·¶æ·¼æ¸€æ¸„æ¸žæ¸¢æ¸§æ¸²æ¸¶æ¸¹æ¸»æ¸¼æ¹„æ¹…æ¹ˆæ¹‰æ¹‹æ¹æ¹‘æ¹’æ¹“æ¹”æ¹—æ¹œæ¹æ¹ž"], +["8fc8a1","æ¹¢æ¹£æ¹¨æ¹³æ¹»æ¹½æºæº“æº™æº æº§æºæº®æº±æº³æº»æº¿æ»€æ»æ»ƒæ»‡æ»ˆæ»Šæ»æ»Žæ»æ»«æ»æ»®æ»¹æ»»æ»½æ¼„æ¼ˆæ¼Šæ¼Œæ¼æ¼–æ¼˜æ¼šæ¼›æ¼¦æ¼©æ¼ªæ¼¯æ¼°æ¼³æ¼¶æ¼»æ¼¼æ¼æ½æ½‘æ½’æ½“æ½—æ½™æ½šæ½æ½žæ½¡æ½¢æ½¨æ½¬æ½½æ½¾æ¾ƒæ¾‡æ¾ˆæ¾‹æ¾Œæ¾æ¾æ¾’æ¾“æ¾”æ¾–æ¾šæ¾Ÿæ¾ æ¾¥æ¾¦æ¾§æ¾¨æ¾®æ¾¯æ¾°æ¾µæ¾¶æ¾¼æ¿…æ¿‡æ¿ˆæ¿Š"], +["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇ç€ç€—ç€ ç€£ç€¯ç€´ç€·ç€¹ç€¼çƒç„çˆç‰çŠç‹ç”ç•ççžçŽç¤ç¥ç¬ç®çµç¶ç¾ç‚炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌ç„ç„žç„ ç„«ç„焯焰焱焸ç…煅煆煇煊煋ç…ç…’ç…—ç…šç…œç…žç… "], +["8fcaa1","ç…¨ç…¹ç†€ç†…ç†‡ç†Œç†’ç†šç†›ç† ç†¢ç†¯ç†°ç†²ç†³ç†ºç†¿ç‡€ç‡ç‡„燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚çˆçˆŸçˆ¤çˆ«çˆ¯çˆ´çˆ¸çˆ¹ç‰ç‰‚牃牅牎ç‰ç‰ç‰“ç‰•ç‰–ç‰šç‰œç‰žç‰ ç‰£ç‰¨ç‰«ç‰®ç‰¯ç‰±ç‰·ç‰¸ç‰»ç‰¼ç‰¿çŠ„çŠ‰çŠçŠŽçŠ“çŠ›çŠ¨çŠçŠ®çŠ±çŠ´çŠ¾ç‹ç‹‡ç‹‰ç‹Œç‹•狖狘狟狥狳狴狺狻"], +["8fcba1","狾猂猄猅猇猋çŒçŒ’猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽çƒççç’ç–ç˜ççžçŸç ç¦ç§ç©ç«ç¬ç®ç¯ç±ç·ç¹ç¼çŽ€çŽçŽƒçŽ…çŽ†çŽŽçŽçŽ“çŽ•çŽ—çŽ˜çŽœçŽžçŽŸçŽ çŽ¢çŽ¥çŽ¦çŽªçŽ«çŽçŽµçŽ·çŽ¹çŽ¼çŽ½çŽ¿ç…ç†ç‰ç‹çŒçç’ç“ç–ç™çç¡ç£ç¦ç§ç©ç´çµç·ç¹çºç»ç½"], +["8fcca1","ç¿ç€çç„ç‡çŠç‘çšç›ç¤ç¦ç¨",9,"ç¹ç‘€ç‘ƒç‘„瑆瑇瑋ç‘ç‘‘ç‘’ç‘—ç‘瑢瑦瑧瑨瑫ç‘瑮瑱瑲璀ç’璅璆璇璉ç’ç’ç’‘ç’’ç’˜ç’™ç’šç’œç’Ÿç’ ç’¡ç’£ç’¦ç’¨ç’©ç’ªç’«ç’®ç’¯ç’±ç’²ç’µç’¹ç’»ç’¿ç“ˆç“‰ç“Œç“瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"], +["8fcda1","ç”’ç”–ç”—ç” ç”¡ç”¤ç”§ç”©ç”ªç”¯ç”¶ç”¹ç”½ç”¾ç”¿ç•€ç•ƒç•‡ç•ˆç•Žç•畒畗畞畟畡畯畱畹",5,"ç–ç–…ç–疒疓疕疙疜疢疤疴疺疿痀ç—痄痆痌痎ç—ç——ç—œç—Ÿç— ç—¡ç—¤ç—§ç—¬ç—®ç—¯ç—±ç—¹ç˜€ç˜‚ç˜ƒç˜„ç˜‡ç˜ˆç˜Šç˜Œç˜ç˜’瘓瘕瘖瘙瘛瘜ç˜ç˜žç˜£ç˜¥ç˜¦ç˜©ç˜ç˜²ç˜³ç˜µç˜¸ç˜¹"], +["8fcea1","瘺瘼癊癀ç™ç™ƒç™„癅癉癋癕癙癟癤癥ç™ç™®ç™¯ç™±ç™´çšçš…皌çšçš•皛皜çšçšŸçš 皢",6,"皪çšçš½ç›ç›…ç›‰ç›‹ç›Œç›Žç›”ç›™ç› ç›¦ç›¨ç›¬ç›°ç›±ç›¶ç›¹ç›¼çœ€çœ†çœŠçœŽçœ’çœ”çœ•çœ—çœ™çœšçœœçœ¢çœ¨çœçœ®çœ¯çœ´çœµçœ¶çœ¹çœ½çœ¾ç‚ç…ç†çŠççŽçç’ç–ç—çœçžçŸç ç¢"], +["8fcfa1","ç¤ç§çªç¬ç°ç²ç³ç´çºç½çž€çž„瞌çžçž”çž•çž–çžšçžŸçž¢çž§çžªçž®çž¯çž±çžµçž¾çŸƒçŸ‰çŸ‘çŸ’çŸ•çŸ™çŸžçŸŸçŸ çŸ¤çŸ¦çŸªçŸ¬çŸ°çŸ±çŸ´çŸ¸çŸ»ç …ç †ç ‰ç ç Žç ‘ç ç ¡ç ¢ç £ç ç ®ç °ç µç ·ç¡ƒç¡„ç¡‡ç¡ˆç¡Œç¡Žç¡’ç¡œç¡žç¡ ç¡¡ç¡£ç¡¤ç¡¨ç¡ªç¡®ç¡ºç¡¾ç¢Šç¢ç¢”碘碡ç¢ç¢žç¢Ÿç¢¤ç¢¨ç¢¬ç¢ç¢°ç¢±ç¢²ç¢³"], +["8fd0a1","ç¢»ç¢½ç¢¿ç£‡ç£ˆç£‰ç£Œç£Žç£’ç£“ç£•ç£–ç£¤ç£›ç£Ÿç£ ç£¡ç£¦ç£ªç£²ç£³ç¤€ç£¶ç£·ç£ºç£»ç£¿ç¤†ç¤Œç¤ç¤šç¤œç¤žç¤Ÿç¤ 礥礧礩ç¤ç¤±ç¤´ç¤µç¤»ç¤½ç¤¿ç¥„祅祆祊祋ç¥ç¥‘祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊ç§ç§”ç§–ç§šç§ç§ž"], +["8fd1a1","ç§ ç§¢ç§¥ç§ªç§«ç§ç§±ç§¸ç§¼ç¨‚稃稇稉稊稌稑稕稛稞稡稧稫ç¨ç¨¯ç¨°ç¨´ç¨µç¨¸ç¨¹ç¨ºç©„穅穇穈穌穕穖穙穜ç©ç©Ÿç© 穥穧穪ç©ç©µç©¸ç©¾çª€çª‚窅窆窊窋çªçª‘çª”çªžçª çª£çª¬çª³çªµçª¹çª»çª¼ç«†ç«‰ç«Œç«Žç«‘ç«›ç«¨ç«©ç««ç«¬ç«±ç«´ç«»ç«½ç«¾ç¬‡ç¬”ç¬Ÿç¬£ç¬§ç¬©ç¬ªç¬«ç¬ç¬®ç¬¯ç¬°"], +["8fd2a1","笱笴笽笿ç€çç‡çŽç•ç ç¤ç¦ç©çªçç¯ç²ç³ç·ç®„箉箎ç®ç®‘ç®–ç®›ç®žç® ç®¥ç®¬ç®¯ç®°ç®²ç®µç®¶ç®ºç®»ç®¼ç®½ç¯‚ç¯…ç¯ˆç¯Šç¯”ç¯–ç¯—ç¯™ç¯šç¯›ç¯¨ç¯ªç¯²ç¯´ç¯µç¯¸ç¯¹ç¯ºç¯¼ç¯¾ç°ç°‚簃簄簆簉簋簌簎ç°ç°™ç°›ç° 簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5], +["8fd3a1","籡籣籧籩ç±ç±®ç±°ç±²ç±¹ç±¼ç±½ç²†ç²‡ç²ç²”ç²žç² ç²¦ç²°ç²¶ç²·ç²ºç²»ç²¼ç²¿ç³„ç³‡ç³ˆç³‰ç³ç³ç³“糔糕糗糙糚ç³ç³¦ç³©ç³«ç³µç´ƒç´‡ç´ˆç´‰ç´ç´‘ç´’ç´“ç´–ç´ç´žç´£ç´¦ç´ªç´ç´±ç´¼ç´½ç´¾çµ€çµçµ‡çµˆçµçµ‘絓絗絙絚絜çµçµ¥çµ§çµªçµ°çµ¸çµºçµ»çµ¿ç¶ç¶‚綃綅綆綈綋綌ç¶ç¶‘ç¶–ç¶—ç¶"], +["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"ç·Œç·ç·Žç·—緙縀緢緥緦緪緫ç·ç·±ç·µç·¶ç·¹ç·ºç¸ˆç¸ç¸‘縕縗縜ç¸ç¸ 縧縨縬ç¸ç¸¯ç¸³ç¸¶ç¸¿ç¹„繅繇繎ç¹ç¹’繘繟繡繢繥繫繮繯繳繸繾çºçº†çº‡çºŠçºçº‘纕纘纚çºçºžç¼¼ç¼»ç¼½ç¼¾ç¼¿ç½ƒç½„罇ç½ç½’罓罛罜ç½ç½¡ç½£ç½¤ç½¥ç½¦ç½"], +["8fd5a1","罱罽罾罿羀羋ç¾ç¾ç¾ç¾‘羖羗羜羡羢羦羪ç¾ç¾´ç¾¼ç¾¿ç¿€ç¿ƒç¿ˆç¿Žç¿ç¿›ç¿Ÿç¿£ç¿¥ç¿¨ç¿¬ç¿®ç¿¯ç¿²ç¿ºç¿½ç¿¾ç¿¿è€‡è€ˆè€Šè€è€Žè€è€‘耓耔耖è€è€žè€Ÿè€ 耤耦耬耮耰耴耵耷耹耺耼耾è€è„è è¤è¦èè±èµè‚肈肎肜肞肦肧肫肸肹胈èƒèƒèƒ’èƒ”èƒ•èƒ—èƒ˜èƒ èƒèƒ®"], +["8fd6a1","èƒ°èƒ²èƒ³èƒ¶èƒ¹èƒºèƒ¾è„ƒè„‹è„–è„—è„˜è„œè„žè„ è„¤è„§è„¬è„°è„µè„ºè„¼è……è…‡è…Šè…Œè…’è…—è… è…¡è…§è…¨è…©è…腯腷è†è†è†„膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎è‡è‡•臗臛è‡è‡žè‡¡è‡¤è‡«è‡¬è‡°è‡±è‡²è‡µè‡¶è‡¸è‡¹è‡½è‡¿èˆ€èˆƒèˆèˆ“舔舙舚èˆèˆ¡èˆ¢èˆ¨èˆ²èˆ´èˆºè‰ƒè‰„艅艆"], +["8fd7a1","艋艎è‰è‰‘è‰–è‰œè‰ è‰£è‰§è‰è‰´è‰»è‰½è‰¿èŠ€èŠèŠƒèŠ„èŠ‡èŠ‰èŠŠèŠŽèŠ‘èŠ”èŠ–èŠ˜èŠšèŠ›èŠ èŠ¡èŠ£èŠ¤èŠ§èŠ¨èŠ©èŠªèŠ®èŠ°èŠ²èŠ´èŠ·èŠºèŠ¼èŠ¾èŠ¿è‹†è‹è‹•è‹šè‹ è‹¢è‹¤è‹¨è‹ªè‹è‹¯è‹¶è‹·è‹½è‹¾èŒ€èŒèŒ‡èŒˆèŒŠèŒ‹è”茛èŒèŒžèŒŸèŒ¡èŒ¢èŒ¬èŒèŒ®èŒ°èŒ³èŒ·èŒºèŒ¼èŒ½è‚èƒè„è‡èèŽè‘è•è–è—è°è¸"], +["8fd8a1","è½è¿èŽ€èŽ‚èŽ„èŽ†èŽèŽ’èŽ”èŽ•èŽ˜èŽ™èŽ›èŽœèŽèŽ¦èŽ§èŽ©èŽ¬èŽ¾èŽ¿è€è‡è‰èèè‘è”èè“è¨èªè¶è¸è¹è¼èè†èŠèè‘è•è™èŽè¯è¹è‘…葇葈葊è‘è‘è‘‘è‘’è‘–è‘˜è‘™è‘šè‘œè‘ è‘¤è‘¥è‘§è‘ªè‘°è‘³è‘´è‘¶è‘¸è‘¼è‘½è’蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌è“è““"], +["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎è”蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆è•",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿è–薅薆薉薋薌è–è–“è–˜è–è–Ÿè– è–¢è–¥è–§è–´è–¶è–·è–¸è–¼è–½è–¾è–¿è—‚è—‡è—Šè—‹è—Žè–è—˜è—šè—Ÿè— è—¦è—¨è—藳藶藼"], +["8fdaa1","藿蘀蘄蘅è˜è˜Žè˜è˜‘蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙è™è™ ",4,"虩虬虯虵虶虷虺èšèš‘蚖蚘蚚蚜蚡蚦蚧蚨èšèš±èš³èš´èšµèš·èš¸èš¹èš¿è›€è›è›ƒè›…è›‘è›’è›•è›—è›šè›œè› è›£è›¥è›§èšˆè›ºè›¼è›½èœ„èœ…èœ‡èœ‹èœŽèœèœèœ“蜔蜙蜞蜟蜡蜣"], +["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾è€èƒè…èè˜èè¡è¤è¥è¯è±è²è»èžƒ",6,"螋螌èžèž“èž•èž—èž˜èž™èžžèž èž£èž§èž¬èžèž®èž±èžµèž¾èž¿èŸèŸˆèŸ‰èŸŠèŸŽèŸ•蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫èŸèŸ±èŸ³èŸ¸èŸºèŸ¿è è ƒè †è ‰è Šè ‹è è ™è ’è “è ”è ˜è šè ›è œè žè Ÿè ¨è è ®è °è ²è µ"], +["8fdca1","è ºè ¼è¡è¡ƒè¡…è¡ˆè¡‰è¡Šè¡‹è¡Žè¡‘è¡•è¡–è¡˜è¡šè¡œè¡Ÿè¡ è¡¤è¡©è¡±è¡¹è¡»è¢€è¢˜è¢šè¢›è¢œè¢Ÿè¢ è¢¨è¢ªè¢ºè¢½è¢¾è£€è£Š",4,"裑裒裓裛裞裧裯裰裱裵裷è¤è¤†è¤è¤Žè¤è¤•è¤–è¤˜è¤™è¤šè¤œè¤ è¤¦è¤§è¤¨è¤°è¤±è¤²è¤µè¤¹è¤ºè¤¾è¥€è¥‚è¥…è¥†è¥‰è¥è¥’襗襚襛襜襡襢襣襫襮襰襳襵襺"], +["8fdda1","襻襼襽覉è¦è¦è¦”è¦•è¦›è¦œè¦Ÿè¦ è¦¥è¦°è¦´è¦µè¦¶è¦·è¦¼è§”",4,"觥觩觫è§è§±è§³è§¶è§¹è§½è§¿è¨„訅訇è¨è¨‘è¨’è¨”è¨•è¨žè¨ è¨¢è¨¤è¨¦è¨«è¨¬è¨¯è¨µè¨·è¨½è¨¾è©€è©ƒè©…è©‡è©‰è©è©Žè©“詖詗詘詜è©è©¡è©¥è©§è©µè©¶è©·è©¹è©ºè©»è©¾è©¿èª€èªƒèª†èª‹èªèªèª’誖誗誙誟誧誩誮誯誳"], +["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗è«è«Ÿè«¬è«°è«´è«µè«¶è«¼è«¿è¬…謆謋謑謜謞謟謊è¬è¬°è¬·è¬¼è‚",4,"èˆè’è“è”è™èèžè£èè¶è¸è¹è¼è¾è®è®„讅讋è®è®è®”讕讜讞讟谸谹谽谾豅豇豉豋è±è±‘豓豔豗豘豛è±è±™è±£è±¤è±¦è±¨è±©è±è±³è±µè±¶è±»è±¾è²†"], +["8fdfa1","貇貋è²è²’貓貙貛貜貤貹貺賅賆賉賋è³è³–賕賙è³è³¡è³¨è³¬è³¯è³°è³²è³µè³·è³¸è³¾è³¿è´è´ƒè´‰è´’贗贛赥赩赬赮赿趂趄趈è¶è¶è¶‘è¶•è¶žè¶Ÿè¶ è¶¦è¶«è¶¬è¶¯è¶²è¶µè¶·è¶¹è¶»è·€è·…è·†è·‡è·ˆè·Šè·Žè·‘è·”è·•è·—è·™è·¤è·¥è·§è·¬è·°è¶¼è·±è·²è·´è·½è¸è¸„è¸…è¸†è¸‹è¸‘è¸”è¸–è¸ è¸¡è¸¢"], +["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀è¹è¹‹è¹è¹Žè¹è¹”蹛蹜è¹è¹žè¹¡è¹¢è¹©è¹¬è¹è¹¯è¹°è¹±è¹¹è¹ºè¹»èº‚躃躉èºèº’躕躚躛èºèºžèº¢èº§èº©èºèº®èº³èºµèººèº»è»€è»è»ƒè»„軇è»è»‘軔軜軨軮軰軱軷軹軺è»è¼€è¼‚輇輈è¼è¼è¼–è¼—è¼˜è¼žè¼ è¼¡è¼£è¼¥è¼§è¼¨è¼¬è¼è¼®è¼´è¼µè¼¶è¼·è¼ºè½€è½"], +["8fe1a1","轃轇è½è½‘",4,"轘è½è½žè½¥è¾è¾ 辡辤辥辦辵辶辸达迀è¿è¿†è¿Šè¿‹è¿è¿è¿’è¿“è¿•è¿ è¿£è¿¤è¿¨è¿®è¿±è¿µè¿¶è¿»è¿¾é€‚é€„é€ˆé€Œé€˜é€›é€¨é€©é€¯é€ªé€¬é€é€³é€´é€·é€¿éƒé„éŒé›éé¢é¦é§é¬é°é´é¹é‚…邈邋邌邎é‚é‚•é‚—é‚˜é‚™é‚›é‚ é‚¡é‚¢é‚¥é‚°é‚²é‚³é‚´é‚¶é‚½éƒŒé‚¾éƒƒ"], +["8fe2a1","郄郅郇郈郕郗郘郙郜éƒéƒŸéƒ¥éƒ’郶郫郯郰郴郾郿鄀鄄鄅鄆鄈é„é„é„”é„–é„—é„˜é„šé„œé„žé„ é„¥é„¢é„£é„§é„©é„®é„¯é„±é„´é„¶é„·é„¹é„ºé„¼é„½é…ƒé…‡é…ˆé…酓酗酙酚酛酡酤酧é…酴酹酺酻é†é†ƒé†…醆醊醎醑醓醔醕醘醞醡醦醨醬é†é†®é†°é†±é†²é†³é†¶é†»é†¼é†½é†¿"], +["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀éˆéˆ„鈅鈆鈇鈉鈊鈌éˆéˆ’鈓鈖鈘鈜éˆéˆ£éˆ¤éˆ¥éˆ¦éˆ¨éˆ®éˆ¯éˆ°éˆ³éˆµéˆ¶éˆ¸éˆ¹éˆºéˆ¼éˆ¾é‰€é‰‚鉃鉆鉇鉊é‰é‰Žé‰é‰‘鉘鉙鉜é‰é‰ 鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊éŠéŠŽéŠ’éŠ—"], +["8fe4a1","éŠ™éŠŸéŠ éŠ¤éŠ¥éŠ§éŠ¨éŠ«éŠ¯éŠ²éŠ¶éŠ¸éŠºéŠ»éŠ¼éŠ½éŠ¿",4,"鋅鋆鋇鋈鋋鋌é‹é‹Žé‹é‹“鋕鋗鋘鋙鋜é‹é‹Ÿé‹ 鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈éŒéŒ‘錔錕錜éŒéŒžéŒŸéŒ¡éŒ¤éŒ¥éŒ§éŒ©éŒªéŒ³éŒ´éŒ¶éŒ·é‡éˆé‰éé‘é’é•é—é˜éšéžé¤é¥é§é©éªéé¯é°é±é³é´é¶"], +["8fe5a1","éºé½é¿éŽ€éŽéŽ‚éŽˆéŽŠéŽ‹éŽéŽéŽ’éŽ•éŽ˜éŽ›éŽžéŽ¡éŽ£éŽ¤éŽ¦éŽ¨éŽ«éŽ´éŽµéŽ¶éŽºéŽ©éé„é…é†é‡é‰",4,"é“é™éœéžéŸé¢é¦é§é¹é·é¸éºé»é½éé‚é„éˆé‰ééŽéé•é–é—éŸé®é¯é±é²é³é´é»é¿é½é‘ƒé‘…鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫é‘鑮鑯鑱鑲钄钃镸镹"], +["8fe6a1","镾閄閈閌é–é–Žé–閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋é—闑闒闓闙闚é—é—žé—Ÿé— é—¤é—¦é˜é˜žé˜¢é˜¤é˜¥é˜¦é˜¬é˜±é˜³é˜·é˜¸é˜¹é˜ºé˜¼é˜½é™é™’陔陖陗陘陡陮陴陻陼陾陿éšéš‚隃隄隉隑隖隚éšéšŸéš¤éš¥éš¦éš©éš®éš¯éš³éšºé›Šé›’嶲雘雚é›é›žé›Ÿé›©é›¯é›±é›ºéœ‚"], +["8fe7a1","霃霅霉霚霛éœéœ¡éœ¢éœ£éœ¨éœ±éœ³ééƒéŠéŽéé•é—é˜éšé›é£é§éªé®é³é¶é·é¸é»é½é¿éž€éž‰éž•鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿éŸéŸ„韅韇韉韊韌éŸéŸŽéŸéŸ‘韔韗韘韙éŸéŸžéŸ éŸ›éŸ¡éŸ¤éŸ¯éŸ±éŸ´éŸ·éŸ¸éŸºé ‡é Šé ™é é Žé ”é –é œé žé é £é ¦"], +["8fe8a1","é «é ®é ¯é °é ²é ³é µé ¥é ¾é¡„é¡‡é¡Šé¡‘é¡’é¡“é¡–é¡—é¡™é¡šé¡¢é¡£é¡¥é¡¦é¡ªé¡¬é¢«é¢é¢®é¢°é¢´é¢·é¢¸é¢ºé¢»é¢¿é£‚飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀é¥é¥†é¥‡é¥ˆé¥é¥Žé¥”é¥˜é¥™é¥›é¥œé¥žé¥Ÿé¥ é¦›é¦é¦Ÿé¦¦é¦°é¦±é¦²é¦µ"], +["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌é¨é¨‘é¨–é¨žé¨ é¨¢é¨£é¨¤é¨§é¨é¨®é¨³é¨µé¨¶é¨¸é©‡é©é©„驊驋驌驎驑驔驖é©éªªéª¬éª®éª¯éª²éª´éªµéª¶éª¹éª»éª¾éª¿é«é«ƒé«†é«ˆé«Žé«é«’é«•é«–é«—é«›é«œé« é«¤é«¥é«§é«©é«¬é«²é«³é«µé«¹é«ºé«½é«¿",4], +["8feaa1","鬄鬅鬈鬉鬋鬌é¬é¬Žé¬é¬’é¬–é¬™é¬›é¬œé¬ é¬¦é¬«é¬é¬³é¬´é¬µé¬·é¬¹é¬ºé¬½éˆé‹éŒé•é–é—é›éžé¡é£é¥é¦é¨éª",4,"é³éµé·é¸é¹é¿é®€é®„鮅鮆鮇鮉鮊鮋é®é®é®é®”鮚é®é®žé®¦é®§é®©é®¬é®°é®±é®²é®·é®¸é®»é®¼é®¾é®¿é¯é¯‡é¯ˆé¯Žé¯é¯—鯘é¯é¯Ÿé¯¥é¯§é¯ªé¯«é¯¯é¯³é¯·é¯¸"], +["8feba1","鯹鯺鯽鯿鰀鰂鰋é°é°‘鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽é±é±ƒé±„鱅鱉鱊鱎é±é±é±“鱔鱖鱘鱛é±é±žé±Ÿé±£é±©é±ªé±œé±«é±¨é±®é±°é±²é±µé±·é±»é³¦é³²é³·é³¹é´‹é´‚鴑鴗鴘鴜é´é´žé´¯é´°é´²é´³é´´é´ºé´¼éµ…鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"], +["8feca1","鵼鵾鶃鶄鶆鶊é¶é¶Žé¶’é¶“é¶•é¶–é¶—é¶˜é¶¡é¶ªé¶¬é¶®é¶±é¶µé¶¹é¶¼é¶¿é·ƒé·‡é·‰é·Šé·”é·•é·–é·—é·šé·žé·Ÿé· é·¥é·§é·©é·«é·®é·°é·³é·´é·¾é¸Šé¸‚é¸‡é¸Žé¸é¸‘鸒鸕鸖鸙鸜é¸é¹ºé¹»é¹¼éº€éº‚麃麄麅麇麎éºéº–麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬é»é»®é»°é»±é»²é»µ"], +["8feda1","黸黿鼂鼃鼉é¼é¼é¼‘鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿é½é½ƒ",4,"齓齕齖齗齘齚é½é½žé½¨é½©é½",4,"齳齵齺齽é¾é¾é¾‘龒龔龖龗龞龡龢龣龥"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json new file mode 100755 index 0000000..85c6934 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json @@ -0,0 +1 @@ +{"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]} \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gbk-added.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gbk-added.json new file mode 100755 index 0000000..8abfa9f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/gbk-added.json @@ -0,0 +1,55 @@ +[ +["a140","",62], +["a180","î”…",32], +["a240","",62], +["a280","î•¥",32], +["a2ab","î¦",5], +["a2e3","€î"], +["a2ef","î®î¯"], +["a2fd","î°î±"], +["a340","î–†",62], +["a380","î—…",31," "], +["a440","î—¦",62], +["a480","",32], +["a4f4","î²",10], +["a540","",62], +["a580","îš…",32], +["a5f7","î½",7], +["a640","",62], +["a680","",32], +["a6b9","îž…",7], +["a6d9","îž",6], +["a6ec",""], +["a6f3","îž–"], +["a6f6","îž—",8], +["a740","",62], +["a780","î…",32], +["a7c2","îž ",14], +["a7f2","",12], +["a896","îž¼",10], +["a8bc",""], +["a8bf","ǹ"], +["a8c1",""], +["a8ea","îŸ",20], +["a958",""], +["a95b",""], +["a95d",""], +["a989","〾⿰",11], +["a997","",12], +["a9f0","î ",14], +["aaa1","",93], +["aba1","îž",93], +["aca1","",93], +["ada1","",93], +["aea1","î…¸",93], +["afa1","",93], +["d7fa","î ",4], +["f8a1","",93], +["f9a1","",93], +["faa1","î‹°",93], +["fba1","îŽ",93], +["fca1","",93], +["fda1","îŠ",93], +["fe50","âºî –î —î ˜âº„ã‘³ã‘‡âºˆâº‹î žã–žã˜šã˜ŽâºŒâº—ã¥®ã¤˜î ¦ã§ã§Ÿã©³ã§î «î ¬ãŽã±®ã³ âº§î ±î ²âºªä–ä…Ÿâº®äŒ·âº³âº¶âº·î »äŽ±äŽ¬âº»ä䓖䙡䙌"], +["fe80","䜣䜩ä¼äžâ»Šä¥‡ä¥ºä¥½ä¦‚ä¦ƒä¦…ä¦†ä¦Ÿä¦›ä¦·ä¦¶î¡”î¡•ä²£ä²Ÿä² ä²¡ä±·ä²¢ä´“",6,"䶮",93] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/shiftjis.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/shiftjis.json new file mode 100755 index 0000000..5a3a43c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/tables/shiftjis.json @@ -0,0 +1,125 @@ +[ +["0","\u0000",128], +["a1","。",62], +["8140"," ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½ãƒ¾ã‚ゞ〃ä»ã€…〆〇ー―â€ï¼ï¼¼ï½žâˆ¥ï½œâ€¦â€¥â€˜â€™â€œâ€ï¼ˆï¼‰ã€”〕[]{ï½ã€ˆ",9,"+ï¼Â±Ã—"], +["8180","÷ï¼â‰ ï¼œï¼žâ‰¦â‰§âˆžâˆ´â™‚â™€Â°â€²â€³â„ƒï¿¥ï¼„ï¿ ï¿¡ï¼…ï¼ƒï¼†ï¼Šï¼ Â§â˜†â˜…â—‹â—◎◇◆□■△▲▽▼※〒→â†â†‘↓〓"], +["81b8","∈∋⊆⊇⊂⊃∪∩"], +["81c8","∧∨¬⇒⇔∀∃"], +["81da","∠⊥⌒∂∇≡≒≪≫√∽âˆâˆµâˆ«âˆ¬"], +["81f0","ʼn♯â™â™ªâ€ ‡¶"], +["81fc","â—¯"], +["824f","ï¼",9], +["8260","A",25], +["8281","ï½",25], +["829f","ã",82], +["8340","ã‚¡",62], +["8380","ム",22], +["839f","Α",16,"Σ",6], +["83bf","α",16,"σ",6], +["8440","Ð",5,"ÐЖ",25], +["8470","а",5,"ёж",7], +["8480","о",17], +["849f","─│┌â”┘└├┬┤┴┼â”┃â”┓┛┗┣┳┫┻╋┠┯┨┷┿â”┰┥┸╂"], +["8740","â‘ ",19,"â… ",9], +["875f","ã‰ãŒ”㌢ã㌘㌧㌃㌶ã‘ã—ãŒãŒ¦ãŒ£ãŒ«ãŠãŒ»ãŽœãŽãŽžãŽŽãŽã„㎡"], +["877e","ã»"], +["8780","ã€ã€Ÿâ„–ã℡㊤",4,"㈱㈲㈹ã¾ã½ã¼â‰’≡∫∮∑√⊥∠∟⊿∵∩∪"], +["889f","äºœå”–å¨ƒé˜¿å“€æ„›æŒ¨å§¶é€¢è‘µèŒœç©æ‚ªæ¡æ¸¥æ—葦芦鯵梓圧斡扱宛å§è™»é£´çµ¢ç¶¾é®Žæˆ–ç²Ÿè¢·å®‰åºµæŒ‰æš—æ¡ˆé—‡éžæä»¥ä¼Šä½ä¾å‰å›²å¤·å§”å¨å°‰æƒŸæ„慰易椅為ç•ç•°ç§»ç¶ç·¯èƒƒèŽè¡£è¬‚é•éºåŒ»äº•亥域育éƒç£¯ä¸€å£±æº¢é€¸ç¨²èŒ¨èЋ鰝å…å°å’½å“¡å› 姻引飲淫胤è”"], +["8940","é™¢é™°éš éŸ»å‹å³å®‡çƒç¾½è¿‚雨å¯éµœçªºä¸‘碓臼渦嘘唄æ¬è”šé°»å§¥åŽ©æµ¦ç“œé–噂云é‹é›²è餌å¡å–¶å¬°å½±æ˜ æ›³æ „æ°¸æ³³æ´©ç‘›ç›ˆç©Žé ´è‹±è¡›è© é‹æ¶²ç–«ç›Šé§…悦è¬è¶Šé–²æ¦ŽåŽå††"], +["8980","åœ’å °å¥„å®´å»¶æ€¨æŽ©æ´æ²¿æ¼”炎焔煙燕猿ç¸è‰¶è‹‘è–—é 鉛鴛塩於汚甥凹央奥往応押旺横欧殴王ç¿è¥–鴬鴎黄岡沖è»å„„å±‹æ†¶è‡†æ¡¶ç‰¡ä¹™ä¿ºå¸æ©æ¸©ç©éŸ³ä¸‹åŒ–ä»®ä½•ä¼½ä¾¡ä½³åŠ å¯å˜‰å¤å«å®¶å¯¡ç§‘æš‡æžœæž¶æŒæ²³ç«ç‚ç¦ç¦¾ç¨¼ç®‡èŠ±è‹›èŒ„è·è¯è“è¦èª²å˜©è²¨è¿¦éŽéœžèšŠä¿„å³¨æˆ‘ç‰™ç”»è‡¥èŠ½è›¾è³€é›…é¤“é§•ä»‹ä¼šè§£å›žå¡Šå£Šå»»å¿«æ€ªæ‚”æ¢æ‡æˆ’æ‹æ”¹"], +["8a40","éæ™¦æ¢°æµ·ç°ç•Œçš†çµµèŠ¥èŸ¹é–‹éšŽè²å‡±åŠ¾å¤–å’³å®³å´–æ…¨æ¦‚æ¶¯ç¢è“‹è¡—該鎧骸浬馨蛙垣柿蛎鈎劃嚇å„å»“æ‹¡æ’¹æ ¼æ ¸æ®»ç²ç¢ºç©«è¦šè§’赫較éƒé–£éš”é©å¦å²³æ¥½é¡é¡ŽæŽ›ç¬ 樫"], +["8a80","æ©¿æ¢¶é°æ½Ÿå‰²å–æ°æ‹¬æ´»æ¸‡æ»‘è‘›è¤è½„䏔鰹嶿¤›æ¨ºéž„æ ªå…œç«ƒè’²é‡œéŽŒå™›é´¨æ ¢èŒ…è±ç²¥åˆˆè‹…ç“¦ä¹¾ä¾ƒå† å¯’åˆŠå‹˜å‹§å·»å–šå ªå§¦å®Œå®˜å¯›å¹²å¹¹æ‚£æ„Ÿæ…£æ†¾æ›æ•¢æŸ‘æ¡“æ£ºæ¬¾æ“æ±—漢澗潅環甘監看竿管簡緩缶翰è‚艦莞観諌貫還鑑間閑関陥韓館舘丸å«å²¸å·ŒçŽ©ç™Œçœ¼å²©ç¿«è´‹é›é ‘顔願ä¼ä¼Žå±å–œå™¨åŸºå¥‡å¬‰å¯„å²å¸Œå¹¾å¿Œæ®æœºæ——既期棋棄"], +["8b40","機帰毅気汽畿祈å£ç¨€ç´€å¾½è¦è¨˜è²´èµ·è»Œè¼é£¢é¨Žé¬¼äº€å½å„€å¦“å®œæˆ¯æŠ€æ“¬æ¬ºçŠ ç–‘ç¥‡ç¾©èŸ»èª¼è°æŽ¬èŠéž å‰åƒå–«æ¡”æ©˜è©°ç §æµé»å´å®¢è„šè™é€†ä¸˜ä¹…仇休åŠå¸å®®å¼“急救"], +["8b80","朽求汲泣ç¸çƒç©¶çª®ç¬ˆç´šç³¾çµ¦æ—§ç‰›åŽ»å±…å·¨æ‹’æ‹ æŒ™æ¸ è™šè¨±è·é‹¸æ¼ç¦¦éšäº¨äº«äº¬ä¾›ä¾ 僑兇競共凶å”匡å¿å«å–¬å¢ƒå³¡å¼·å½Šæ€¯æææŒŸæ•™æ©‹æ³ç‹‚ç‹çŸ¯èƒ¸è„…興蕎郷é¡éŸ¿é¥—驚仰å‡å°æšæ¥å±€æ›²æ¥µçމæ¡ç²åƒ…勤å‡å·¾éŒ¦æ–¤æ¬£æ¬½ç´ç¦ç¦½ç‹ç·ŠèйèŒè¡¿è¥Ÿè¬¹è¿‘金åŸéŠ€ä¹å€¶å¥åŒºç‹—玖矩苦躯駆駈駒具愚虞喰空å¶å¯“é‡éš…串櫛釧屑屈"], +["8c40","掘窟沓é´è½¡çªªç†Šéšˆç²‚æ —ç¹°æ¡‘é¬å‹²å›è–«è¨“群è»éƒ¡å¦è¢ˆç¥ä¿‚傾刑兄啓åœçªåž‹å¥‘å½¢å¾„æµæ…¶æ…§æ†©æŽ²æºæ•¬æ™¯æ¡‚渓畦稽系経継繋罫茎èŠè›è¨ˆè©£è¦è»½é šé¶èŠ¸è¿Žé¯¨"], +["8c80","劇戟撃激隙æ¡å‚‘æ¬ æ±ºæ½”ç©´çµè¡€è¨£æœˆä»¶å€¹å€¦å¥å…¼åˆ¸å‰£å–§åœå …å«Œå»ºæ†²æ‡¸æ‹³æ²æ¤œæ¨©ç‰½çŠ¬çŒ®ç ”ç¡¯çµ¹çœŒè‚©è¦‹è¬™è³¢è»’é£éµé™ºé¡•験鹸元原厳幻弦減æºçŽ„ç¾çµƒèˆ·è¨€è«ºé™ä¹Žå€‹å¤å‘¼å›ºå§‘å¤å·±åº«å¼§æˆ¸æ•…枯湖ç‹ç³Šè¢´è‚¡èƒ¡è°è™Žèª‡è·¨éˆ·é›‡é¡§é¼“五互ä¼åˆå‘‰å¾å¨¯å¾Œå¾¡æ‚Ÿæ¢§æªŽç‘šç¢èªžèª¤è·é†ä¹žé¯‰äº¤ä½¼ä¾¯å€™å€–光公功効勾厚å£å‘"], +["8d40","åŽå–‰å‘垢好å”åå®å·¥å·§å··å¹¸åºƒåºšåº·å¼˜æ’æ…ŒæŠ—æ‹˜æŽ§æ”»æ˜‚æ™ƒæ›´ææ ¡æ¢—構江洪浩港æºç”²çš‡ç¡¬ç¨¿ç³ 紅紘絞綱耕考肯肱腔è†èˆªè’è¡Œè¡¡è¬›è²¢è³¼éƒŠé…µé‰±ç ¿é‹¼é–¤é™"], +["8d80","é …é¦™é«˜é´»å‰›åŠ«å·åˆå£•æ‹·æ¿ è±ªè½Ÿéº¹å…‹åˆ»å‘Šå›½ç©€é…·éµ é»’ç„æ¼‰è…°ç”‘忽惚骨狛込æ¤é ƒä»Šå›°å¤å¢¾å©šæ¨æ‡‡æ˜æ˜†æ ¹æ¢±æ··ç—•紺艮é‚些ä½å‰å”†åµ¯å·¦å·®æŸ»æ²™ç‘³ç ‚è©éŽ–è£Ÿååº§æŒ«å‚µå‚¬å†æœ€å“‰å¡žå¦»å®°å½©æ‰æŽ¡æ ½æ³æ¸ˆç½é‡‡çŠ€ç •ç ¦ç¥æ–Žç´°èœè£è¼‰éš›å‰¤åœ¨æç½ªè²¡å†´å‚é˜ªå ºæ¦Šè‚´å’²å´ŽåŸ¼ç¢•é·ºä½œå‰Šå’‹æ¾æ˜¨æœ”柵窄ç–索錯桜é®ç¬¹åŒ™å†Šåˆ·"], +["8e40","å¯Ÿæ‹¶æ’®æ“¦æœæ®ºè–©é›‘çšé¯–æŒéŒ†é®«çš¿æ™’三傘å‚山惨撒散桟燦çŠç”£ç®—çº‚èš•è®ƒè³›é…¸é¤æ–¬æš«æ®‹ä»•仔伺使刺å¸å²å—£å››å£«å§‹å§‰å§¿åå±å¸‚å¸«å¿—æ€æŒ‡æ”¯åœæ–¯æ–½æ—¨æžæ¢"], +["8e80","æ»æ°ç…祉ç§ç³¸ç´™ç´«è‚¢è„‚至視詞詩試誌諮資賜雌飼æ¯äº‹ä¼¼ä¾å…å—å¯ºæ…ˆæŒæ™‚次滋治爾璽痔ç£ç¤ºè€Œè€³è‡ªè’”辞æ±é¹¿å¼è˜é´«ç«ºè»¸å®é›«ä¸ƒå±åŸ·å¤±å«‰å®¤æ‚‰æ¹¿æ¼†ç–¾è³ªå®Ÿè”€ç¯ 岿Ÿ´èŠå±¡è•Šç¸žèˆŽå†™å°„æ¨èµ¦æ–œç…®ç¤¾ç´—者è¬è»Šé®è›‡é‚ªå€Ÿå‹ºå°ºæ“ç¼çˆµé…Œé‡ˆéŒ«è‹¥å¯‚弱惹主å–守手朱殊狩ç 種腫趣酒首儒å—呪寿授樹綬需囚åŽå‘¨"], +["8f40","å®—å°±å·žä¿®æ„æ‹¾æ´²ç§€ç§‹çµ‚ç¹ç¿’è‡èˆŸè’衆襲è®è¹´è¼¯é€±é…‹é…¬é›†é†œä»€ä½å……åå¾“æˆŽæŸ”æ±æ¸‹ç£ç¸¦é‡éŠƒå”夙宿淑ç¥ç¸®ç²›å¡¾ç†Ÿå‡ºè¡“述俊峻春瞬竣舜駿准循旬楯殉淳"], +["8f80","準潤盾純巡éµé†‡é †å‡¦åˆæ‰€æš‘曙渚庶緒署書薯藷諸助å™å¥³åºå¾æ•鋤除傷償å‹åŒ å‡å¬å“¨å•†å”±å˜—奨妾娼宵将å°å°‘å°šåº„åºŠå» å½°æ‰¿æŠ„æ‹›æŽŒæ·æ˜‡æ˜Œæ˜æ™¶æ¾æ¢¢æ¨Ÿæ¨µæ²¼æ¶ˆæ¸‰æ¹˜ç„¼ç„¦ç…§ç—‡çœç¡ç¤ç¥¥ç§°ç« 笑粧紹肖è–蒋蕉è¡è£³è¨Ÿè¨¼è©”詳象賞醤鉦é¾é˜éšœéž˜ä¸Šä¸ˆä¸žä¹—å†—å‰°åŸŽå ´å£Œå¬¢å¸¸æƒ…æ“¾æ¡æ–浄状畳穣蒸è²é†¸éŒ 嘱埴飾"], +["9040","æ‹æ¤æ®–ç‡ç¹”è·è‰²è§¦é£Ÿè•è¾±å°»ä¼¸ä¿¡ä¾µå”‡å¨ å¯å¯©å¿ƒæ…ŽæŒ¯æ–°æ™‹æ£®æ¦›æµ¸æ·±ç”³ç–¹çœŸç¥žç§¦ç´³è‡£èŠ¯è–ªè¦ªè¨ºèº«è¾›é€²é‡éœ‡äººä»åˆƒå¡µå£¬å°‹ç”šå°½è…Žè¨Šè¿…陣é笥è«é ˆé…¢å›³åލ"], +["9080","逗å¹åž‚帥推水炊ç¡ç²‹ç¿ è¡°é‚é…”éŒéŒ˜éšç‘žé«„å´‡åµ©æ•°æž¢è¶¨é››æ®æ‰æ¤™è…é —é›€è£¾æ¾„æ‘ºå¯¸ä¸–ç€¬ç•æ˜¯å‡„åˆ¶å‹¢å§“å¾æ€§æˆæ”¿æ•´æ˜Ÿæ™´æ£²æ –æ£æ¸…牲生盛精è–å£°è£½è¥¿èª èª“è«‹é€é†’é’陿–‰ç¨Žè„†éš»å¸æƒœæˆšæ–¥æ˜”æžçŸ³ç©ç±ç¸¾è„Šè²¬èµ¤è·¡è¹Ÿç¢©åˆ‡æ‹™æŽ¥æ‘‚折è¨çªƒç¯€èª¬é›ªçµ¶èˆŒè‰ä»™å…ˆåƒå 宣専尖巿ˆ¦æ‰‡æ’°æ “æ ´æ³‰æµ…æ´—æŸ“æ½œç…Žç…½æ—‹ç©¿ç®ç·š"], +["9140","繊羨腺舛船薦詮賎践é¸é·éŠéŠ‘é–ƒé®®å‰å–„漸然全禅繕膳糎噌塑岨措曾曽楚狙ç–ç–Žç¤Žç¥–ç§Ÿç²—ç´ çµ„è˜‡è¨´é˜»é¡é¼ 僧創åŒå¢å€‰å–ªå£®å¥çˆ½å®‹å±¤åŒæƒ£æƒ³æœæŽƒæŒ¿æŽ»"], +["9180","æ“æ—©æ›¹å·£æ§æ§½æ¼•燥争痩相窓糟ç·ç¶œè¡è‰è˜è‘¬è’¼è—»è£…èµ°é€é鎗霜騒åƒå¢—æ†Žè‡“è”µè´ˆé€ ä¿ƒå´å‰‡å³æ¯æ‰æŸæ¸¬è¶³é€Ÿä¿—属賊æ—ç¶šå’袖其æƒå˜å«å°Šææ‘éœä»–å¤šå¤ªæ±°è©‘å”¾å •å¦¥æƒ°æ‰“æŸèˆµæ¥•é™€é§„é¨¨ä½“å †å¯¾è€å²±å¸¯å¾…æ€ æ…‹æˆ´æ›¿æ³°æ»žèƒŽè…¿è‹”è¢‹è²¸é€€é€®éšŠé»›é¯›ä»£å°å¤§ç¬¬é†é¡Œé·¹æ»ç€§å“啄宅托択拓沢濯ç¢è¨—鏿¿è«¾èŒ¸å‡§è›¸åª"], +["9240","å©ä½†é”辰奪脱巽竪辿棚谷狸鱈樽誰丹å˜å˜†å¦æ‹…æŽ¢æ—¦æŽæ·¡æ¹›ç‚çŸç«¯ç®ªç¶»è€½èƒ†è›‹èª•é›å›£å£‡å¼¾æ–æš–æª€æ®µç”·è«‡å€¤çŸ¥åœ°å¼›æ¥æ™ºæ± 痴稚置致蜘é…馳築畜竹ç‘è“„"], +["9280","é€ç§©çª’茶嫡ç€ä¸ä»²å®™å¿ æŠ½æ˜¼æŸ±æ³¨è™«è¡·è¨»é…Žé‹³é§æ¨—瀦猪苧著貯ä¸å…†å‡‹å–‹å¯µå¸–帳åºå¼”å¼µå½«å¾´æ‡²æŒ‘æš¢æœæ½®ç‰’町眺è´è„¹è…¸è¶èª¿è«œè¶…è·³éŠšé•·é ‚é³¥å‹…æ—直朕沈çè³ƒéŽ®é™³æ´¥å¢œæ¤Žæ§Œè¿½éŽšç—›é€šå¡šæ ‚æŽ´æ§»ä½ƒæ¼¬æŸ˜è¾»è”¦ç¶´é”æ¤¿æ½°åªå£·å¬¬ç´¬çˆªåŠé‡£é¶´äºä½Žåœåµå‰ƒè²žå‘ˆå ¤å®šå¸åº•åºå»·å¼Ÿæ‚ŒæŠµæŒºææ¢¯æ±€ç¢‡ç¦Žç¨‹ç· 艇訂諦蹄逓"], +["9340","邸é„釘鼎泥摘擢敵滴的笛é©é‘溺哲徹撤è½è¿é‰„典填天展店添çºç”œè²¼è»¢é¡›ç‚¹ä¼æ®¿æ¾±ç”°é›»å…Žåå µå¡—å¦¬å± å¾’æ–—æœæ¸¡ç™»èŸè³é€”都éç ¥ç ºåŠªåº¦åœŸå¥´æ€’å€’å…šå†¬"], +["9380","å‡åˆ€å”å¡”å¡˜å¥—å®•å³¶å¶‹æ‚¼æŠ•ææ±æ¡ƒæ¢¼æ£Ÿç›—æ·˜æ¹¯æ¶›ç¯ç‡ˆå½“痘祷ç‰ç”ç’糖統到董蕩藤討謄豆è¸é€ƒé€é™é™¶é 騰闘åƒå‹•åŒå ‚導憧撞洞瞳童胴è„é“éŠ…å³ é´‡åŒ¿å¾—å¾³æ¶œç‰¹ç£ç¦¿ç¯¤æ¯’ç‹¬èªæ ƒæ©¡å‡¸çªæ¤´å±Šé³¶è‹«å¯…酉瀞噸屯惇敦沌豚éé “å‘‘æ›‡éˆå¥ˆé‚£å†…ä¹å‡ªè–™è¬Žç˜æºé‹æ¥¢é¦´ç¸„ç•·å—æ¥ 軟難æ±äºŒå°¼å¼è¿©åŒ‚賑肉虹廿日乳入"], +["9440","如尿韮任妊å¿èªæ¿¡ç¦°ç¥¢å¯§è‘±çŒ«ç†±å¹´å¿µæ»æ’šç‡ƒç²˜ä¹ƒå»¼ä¹‹åŸœå𢿂©æ¿ƒç´èƒ½è„³è†¿è¾²è¦—蚤巴把æ’è¦‡æ·æ³¢æ´¾ç¶ç ´å©†ç½µèŠé¦¬ä¿³å»ƒæ‹æŽ’æ•—æ¯ç›ƒç‰ŒèƒŒè‚ºè¼©é…å€åŸ¹åª’梅"], +["9480","æ¥³ç…¤ç‹½è²·å£²è³ é™ªé€™è¿ç§¤çŸ§è©ä¼¯å‰¥å𿋿Ÿæ³Šç™½ç®”ç²•èˆ¶è–„è¿«æ›æ¼ 爆縛莫é§éº¦å‡½ç®±ç¡²ç®¸è‚‡çˆæ«¨å¹¡è‚Œç•‘ç• å…«é‰¢æºŒç™ºé†—é«ªä¼ç½°æŠœç閥鳩噺塙蛤隼伴判åŠåå›å¸†æ¬æ–‘æ¿æ°¾æ±Žç‰ˆçНçç•”ç¹èˆ¬è—©è²©ç¯„é‡†ç…©é ’é£¯æŒ½æ™©ç•ªç›¤ç£è•ƒè›®åŒªå‘å¦å¦ƒåº‡å½¼æ‚²æ‰‰æ‰¹æŠ«æ–比泌疲皮碑秘緋罷肥被誹費é¿éžé£›æ¨‹ç°¸å‚™å°¾å¾®æž‡æ¯˜çµçœ‰ç¾Ž"], +["9540","鼻柊稗匹疋é«å½¦è†è±è‚˜å¼¼å¿…ç•¢ç†é€¼æ¡§å§«åª›ç´ç™¾è¬¬ä¿µå½ªæ¨™æ°·æ¼‚瓢票表評豹廟æç—…秒苗錨鋲蒜è›é°å“å½¬æ–Œæµœç€•è²§è³“é »æ•ç“¶ä¸ä»˜åŸ 夫婦富冨布府怖扶敷"], +["9580","斧普浮父符è…膚芙èœè² 賦赴阜附侮撫æ¦èˆžè‘¡è•ªéƒ¨å°æ¥“風葺蕗ä¼å‰¯å¾©å¹…æœç¦è…¹è¤‡è¦†æ·µå¼—払沸ä»ç‰©é®’分å»å™´å¢³æ†¤æ‰®ç„šå¥®ç²‰ç³žç´›é›°æ–‡èžä¸™ä½µå…µå¡€å¹£å¹³å¼ŠæŸ„並蔽閉陛米é 僻å£ç™–碧別瞥蔑箆å変片篇編辺返é便勉娩å¼éžä¿èˆ—é‹ªåœƒæ•æ©ç”«è£œè¼”穂募墓慕戊暮æ¯ç°¿è©å€£ä¿¸åŒ…å‘†å ±å¥‰å®å³°å³¯å´©åº–æŠ±æ§æ”¾æ–¹æœ‹"], +["9640","æ³•æ³¡çƒ¹ç ²ç¸«èƒžèŠ³èŒè“¬èœ‚褒訪豊邦鋒飽鳳鵬ä¹äº¡å‚剖åŠå¦¨å¸½å¿˜å¿™æˆ¿æš´æœ›æŸæ£’冒紡肪膨謀貌貿鉾防å é ¬åŒ—åƒ•åœå¢¨æ’²æœ´ç‰§ç¦ç©†é‡¦å‹ƒæ²¡æ®†å €å¹Œå¥”本翻凡盆"], +["9680","摩磨é”麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒æ¡äº¦ä¿£åˆæŠ¹æœ«æ²«è¿„ä¾ç¹éº¿ä¸‡æ…¢æº€æ¼«è”“味未é…å·³ç®•å²¬å¯†èœœæ¹Šè“‘ç¨”è„ˆå¦™ç²æ°‘çœ å‹™å¤¢ç„¡ç‰ŸçŸ›éœ§éµ¡æ¤‹å©¿å¨˜å†¥åå‘½æ˜Žç›Ÿè¿·éŠ˜é³´å§ªç‰æ»…å…æ£‰ç¶¿ç·¬é¢éººæ‘¸æ¨¡èŒ‚å¦„åŸæ¯›çŒ›ç›²ç¶²è€—蒙儲木黙目æ¢å‹¿é¤…å°¤æˆ»ç±¾è²°å•æ‚¶ç´‹é–€åŒä¹Ÿå†¶å¤œçˆºè€¶é‡Žå¼¥çŸ¢åŽ„å½¹ç´„è–¬è¨³èºé–柳薮鑓愉愈油癒"], +["9740","è«è¼¸å”¯ä½‘優勇å‹å®¥å¹½æ‚ æ†‚æ–æœ‰æŸšæ¹§æ¶ŒçŒ¶çŒ·ç”±ç¥è£•誘éŠé‚‘郵雄èžå¤•予余与誉輿é å‚å¹¼å¦–å®¹åº¸æšæºæ“曜楊様洋溶熔用窯羊耀葉蓉è¦è¬¡è¸Šé¥é™½é¤Šæ…¾æŠ‘欲"], +["9780","沃浴翌翼淀羅螺裸æ¥èŽ±é ¼é›·æ´›çµ¡è½é…ªä¹±åµåµæ¬„æ¿«è—è˜è¦§åˆ©åå±¥æŽæ¢¨ç†ç’ƒç—¢è£è£¡é‡Œé›¢é™¸å¾‹çŽ‡ç«‹è‘ŽæŽ ç•¥åŠ‰æµæºœç‰ç•™ç¡«ç²’隆竜é¾ä¾¶æ…®æ—…è™œäº†äº®åƒšä¸¡å‡Œå¯®æ–™æ¢æ¶¼çŒŸç™‚çžç¨œç³§è‰¯è«’é¼é‡é™µé ˜åŠ›ç·‘å€«åŽ˜æž—æ·‹ç‡ç³è‡¨è¼ªéš£é±—éºŸç‘ å¡æ¶™ç´¯é¡žä»¤ä¼¶ä¾‹å†·åŠ±å¶ºæ€œçŽ²ç¤¼è‹“éˆ´éš·é›¶éœŠéº—é½¢æš¦æ´åˆ—åŠ£çƒˆè£‚å»‰æ‹æ†æ¼£ç…‰ç°¾ç·´è¯"], +["9840","è“®é€£éŒ¬å‘‚é¯æ«“炉賂路露労å©å»Šå¼„朗楼榔浪æ¼ç‰¢ç‹¼ç¯è€è¾è‹éƒŽå…麓禄肋録論å€å’Œè©±æªè³„è„‡æƒ‘æž é·²äº™äº˜é°è©«è—蕨椀湾碗腕"], +["989f","弌ä¸ä¸•个丱丶丼丿乂乖乘亂亅豫亊舒å¼äºŽäºžäºŸäº 亢亰亳亶从ä»ä»„仆仂仗仞ä»ä»Ÿä»·ä¼‰ä½šä¼°ä½›ä½ä½—佇佶侈ä¾ä¾˜ä½»ä½©ä½°ä¾‘佯來侖儘俔俟俎俘俛俑俚ä¿ä¿¤ä¿¥å€šå€¨å€”倪倥倅伜俶倡倩倬俾俯們倆åƒå‡æœƒå•ååˆåšå–å¬å¸å‚€å‚šå‚…傴傲"], +["9940","僉僊傳僂僖僞僥åƒåƒ£åƒ®åƒ¹åƒµå„‰å„儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉å†å†‘å†“å†•å†–å†¤å†¦å†¢å†©å†ªå†«å†³å†±å†²å†°å†µå†½å‡…å‡‰å‡›å‡ è™•å‡©å‡"], +["9980","凰凵凾刄刋刔刎刧刪刮刳刹å‰å‰„剋剌剞剔剪剴剩剳剿剽åŠåŠ”åŠ’å‰±åŠˆåŠ‘è¾¨è¾§åŠ¬åŠåŠ¼åŠµå‹å‹å‹—勞勣勦é£å‹ 勳勵勸勹匆匈甸åŒåŒåŒåŒ•匚匣匯匱匳匸å€å†å…丗å‰å凖åžå©å®å¤˜å»å·åŽ‚åŽ–åŽ åŽ¦åŽ¥åŽ®åŽ°åŽ¶åƒç°’é›™åŸæ›¼ç‡®å®å¨ååºåå½å‘€å¬åå¼å®å¶å©å呎å’呵咎呟呱呷呰咒呻咀呶咄å’咆哇咢咸咥咬哄哈咨"], +["9a40","咫哂咤咾咼哘哥哦å”唔哽哮å“哺哢唹啀啣啌售啜啅啖啗唸唳å•喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎å™ç‡Ÿå˜´å˜¶å˜²å˜¸"], +["9a80","å™«å™¤å˜¯å™¬å™ªåš†åš€åšŠåš åš”åšåš¥åš®åš¶åš´å›‚åš¼å›å›ƒå›€å›ˆå›Žå›‘囓囗囮囹圀囿圄圉圈國åœåœ“團圖嗇圜圦圷圸åŽåœ»å€åå©åŸ€åžˆå¡å¿åž‰åž“åž åž³åž¤åžªåž°åŸƒåŸ†åŸ”åŸ’åŸ“å ŠåŸ–åŸ£å ‹å ™å å¡²å ¡å¡¢å¡‹å¡°æ¯€å¡’å ½å¡¹å¢…å¢¹å¢Ÿå¢«å¢ºå£žå¢»å¢¸å¢®å£…å£“å£‘å£—å£™å£˜å£¥å£œå£¤å£Ÿå£¯å£ºå£¹å£»å£¼å£½å¤‚å¤Šå¤å¤›æ¢¦å¤¥å¤¬å¤å¤²å¤¸å¤¾ç«’奕å¥å¥Žå¥šå¥˜å¥¢å¥ 奧奬奩"], +["9b40","奸å¦å¦ä½žä¾«å¦£å¦²å§†å§¨å§œå¦å§™å§šå¨¥å¨Ÿå¨‘娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲å«å¬ªå¬¶å¬¾åƒå…å€å‘å•åšå›å¥å©å°å³åµå¸æ–ˆåºå®€"], +["9b80","它宦宸寃寇寉寔å¯å¯¤å¯¦å¯¢å¯žå¯¥å¯«å¯°å¯¶å¯³å°…將專å°å°“å° å°¢å°¨å°¸å°¹å±å±†å±Žå±“å±å±å±å±¬å±®ä¹¢å±¶å±¹å²Œå²‘岔妛岫岻岶岼岷峅岾峇峙峩峽峺å³å¶Œå³ªå´‹å´•崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢å¶å¶¬å¶®å¶½å¶å¶·å¶¼å·‰å·å·“å·’å·–å·›å·«å·²å·µå¸‹å¸šå¸™å¸‘å¸›å¸¶å¸·å¹„å¹ƒå¹€å¹Žå¹—å¹”å¹Ÿå¹¢å¹¤å¹‡å¹µå¹¶å¹ºéº¼å¹¿åº å»å»‚廈å»å»"], +["9c40","廖廣å»å»šå»›å»¢å»¡å»¨å»©å»¬å»±å»³å»°å»´å»¸å»¾å¼ƒå¼‰å½å½œå¼‹å¼‘弖弩å¼å¼¸å½å½ˆå½Œå½Žå¼¯å½‘彖彗彙彡å½å½³å½·å¾ƒå¾‚å½¿å¾Šå¾ˆå¾‘å¾‡å¾žå¾™å¾˜å¾ å¾¨å¾å¾¼å¿–å¿»å¿¤å¿¸å¿±å¿æ‚³å¿¿æ€¡æ "], +["9c80","æ€™æ€æ€©æ€Žæ€±æ€›æ€•æ€«æ€¦æ€æ€ºæšææªæ·æŸæŠæ†ææ£æƒæ¤æ‚æ¬æ«æ™æ‚æ‚æƒ§æ‚ƒæ‚šæ‚„æ‚›æ‚–æ‚—æ‚’æ‚§æ‚‹æƒ¡æ‚¸æƒ æƒ“æ‚´å¿°æ‚½æƒ†æ‚µæƒ˜æ…æ„•æ„†æƒ¶æƒ·æ„€æƒ´æƒºæ„ƒæ„¡æƒ»æƒ±æ„æ„Žæ…‡æ„¾æ„¨æ„§æ…Šæ„¿æ„¼æ„¬æ„´æ„½æ…‚æ…„æ…³æ…·æ…˜æ…™æ…šæ…«æ…´æ…¯æ…¥æ…±æ…Ÿæ…æ…“æ…µæ†™æ†–æ†‡æ†¬æ†”æ†šæ†Šæ†‘æ†«æ†®æ‡Œæ‡Šæ‡‰æ‡·æ‡ˆæ‡ƒæ‡†æ†ºæ‡‹ç½¹æ‡æ‡¦æ‡£æ‡¶æ‡ºæ‡´æ‡¿æ‡½æ‡¼æ‡¾æˆ€æˆˆæˆ‰æˆæˆŒæˆ”戛"], +["9d40","æˆžæˆ¡æˆªæˆ®æˆ°æˆ²æˆ³æ‰æ‰Žæ‰žæ‰£æ‰›æ‰ æ‰¨æ‰¼æŠ‚æŠ‰æ‰¾æŠ’æŠ“æŠ–æ‹”æŠƒæŠ”æ‹—æ‹‘æŠ»æ‹æ‹¿æ‹†æ“”æ‹ˆæ‹œæ‹Œæ‹Šæ‹‚æ‹‡æŠ›æ‹‰æŒŒæ‹®æ‹±æŒ§æŒ‚æŒˆæ‹¯æ‹µææŒ¾ææœææŽ–æŽŽæŽ€æŽ«æ¶æŽ£æŽæŽ‰æŽŸæŽµæ«"], +["9d80","æ©æŽ¾æ©æ€æ†æ£æ‰æ’æ¶æ„æ–æ´æ†æ“æ¦æ¶æ”æ—æ¨ææ‘§æ‘¯æ‘¶æ‘Žæ”ªæ’•æ’“æ’¥æ’©æ’ˆæ’¼æ“šæ“’æ“…æ“‡æ’»æ“˜æ“‚æ“±æ“§èˆ‰æ“ æ“¡æŠ¬æ“£æ“¯æ”¬æ“¶æ“´æ“²æ“ºæ”€æ“½æ”˜æ”œæ”…æ”¤æ”£æ”«æ”´æ”µæ”·æ”¶æ”¸ç•‹æ•ˆæ•–æ••æ•æ•˜æ•žæ•æ•²æ•¸æ–‚æ–ƒè®Šæ–›æ–Ÿæ–«æ–·æ—ƒæ—†æ—æ—„æ—Œæ—’æ—›æ—™æ— æ—¡æ—±æ²æ˜Šæ˜ƒæ—»æ³æ˜µæ˜¶æ˜´æ˜œæ™æ™„æ™‰æ™æ™žæ™æ™¤æ™§æ™¨æ™Ÿæ™¢æ™°æšƒæšˆæšŽæš‰æš„æš˜æšæ›æš¹æ›‰æš¾æš¼"], +["9e40","æ›„æš¸æ›–æ›šæ› æ˜¿æ›¦æ›©æ›°æ›µæ›·æœæœ–æœžæœ¦æœ§éœ¸æœ®æœ¿æœ¶ææœ¸æœ·æ†æžæ æ™æ£æ¤æž‰æ°æž©æ¼æªæžŒæž‹æž¦æž¡æž…æž·æŸ¯æž´æŸ¬æž³æŸ©æž¸æŸ¤æŸžæŸæŸ¢æŸ®æž¹æŸŽæŸ†æŸ§æªœæ žæ¡†æ ©æ¡€æ¡æ ²æ¡Ž"], +["9e80","æ¢³æ «æ¡™æ¡£æ¡·æ¡¿æ¢Ÿæ¢æ¢æ¢”æ¢æ¢›æ¢ƒæª®æ¢¹æ¡´æ¢µæ¢ æ¢ºæ¤æ¢æ¡¾æ¤æ£Šæ¤ˆæ£˜æ¤¢æ¤¦æ£¡æ¤Œæ£æ£”æ£§æ£•æ¤¶æ¤’æ¤„æ£—æ££æ¤¥æ£¹æ£ æ£¯æ¤¨æ¤ªæ¤šæ¤£æ¤¡æ£†æ¥¹æ¥·æ¥œæ¥¸æ¥«æ¥”æ¥¾æ¥®æ¤¹æ¥´æ¤½æ¥™æ¤°æ¥¡æ¥žæ¥æ¦æ¥ªæ¦²æ¦®æ§æ¦¿æ§æ§“æ¦¾æ§Žå¯¨æ§Šæ§æ¦»æ§ƒæ¦§æ¨®æ¦‘æ¦ æ¦œæ¦•æ¦´æ§žæ§¨æ¨‚æ¨›æ§¿æ¬Šæ§¹æ§²æ§§æ¨…æ¦±æ¨žæ§æ¨”æ§«æ¨Šæ¨’æ«æ¨£æ¨“æ©„æ¨Œæ©²æ¨¶æ©¸æ©‡æ©¢æ©™æ©¦æ©ˆæ¨¸æ¨¢æªæªæª 檄檢檣"], +["9f40","æª—è˜—æª»æ«ƒæ«‚æª¸æª³æª¬æ«žæ«‘æ«Ÿæªªæ«šæ«ªæ«»æ¬…è˜–æ«ºæ¬’æ¬–é¬±æ¬Ÿæ¬¸æ¬·ç›œæ¬¹é£®æ‡æƒæ‰ææ™æ”æ›æŸæ¡æ¸æ¹æ¿æ®€æ®„æ®ƒæ®æ®˜æ®•殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"], +["9f80","éº¾æ°ˆæ°“æ°”æ°›æ°¤æ°£æ±žæ±•æ±¢æ±ªæ²‚æ²æ²šæ²æ²›æ±¾æ±¨æ±³æ²’æ²æ³„æ³±æ³“æ²½æ³—æ³…æ³æ²®æ²±æ²¾æ²ºæ³›æ³¯æ³™æ³ªæ´Ÿè¡æ´¶æ´«æ´½æ´¸æ´™æ´µæ´³æ´’æ´Œæµ£æ¶“æµ¤æµšæµ¹æµ™æ¶Žæ¶•æ¿¤æ¶…æ·¹æ¸•æ¸Šæ¶µæ·‡æ·¦æ¶¸æ·†æ·¬æ·žæ·Œæ·¨æ·’æ·…æ·ºæ·™æ·¤æ·•æ·ªæ·®æ¸æ¹®æ¸®æ¸™æ¹²æ¹Ÿæ¸¾æ¸£æ¹«æ¸«æ¹¶æ¹æ¸Ÿæ¹ƒæ¸ºæ¹Žæ¸¤æ»¿æ¸æ¸¸æº‚æºªæº˜æ»‰æº·æ»“æº½æº¯æ»„æº²æ»”æ»•æºæº¥æ»‚æºŸæ½æ¼‘çŒæ»¬æ»¸æ»¾æ¼¿æ»²æ¼±æ»¯æ¼²æ»Œ"], +["e040","æ¼¾æ¼“æ»·æ¾†æ½ºæ½¸æ¾æ¾€æ½¯æ½›æ¿³æ½æ¾‚潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑ç€ç€æ¿¾ç€›ç€šæ½´ç€ç€˜ç€Ÿç€°ç€¾ç€²ç‘ç£ç‚™ç‚’炯烱炬炸炳炮烟烋çƒ"], +["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬ç†ç‡»ç†„ç†•ç†¨ç†¬ç‡—ç†¹ç†¾ç‡’ç‡‰ç‡”ç‡Žç‡ ç‡¬ç‡§ç‡µç‡¼ç‡¹ç‡¿çˆçˆçˆ›çˆ¨çˆçˆ¬çˆ°çˆ²çˆ»çˆ¼çˆ¿ç‰€ç‰†ç‰‹ç‰˜ç‰´ç‰¾çŠ‚çŠçŠ‡çŠ’çŠ–çŠ¢çŠ§çŠ¹çŠ²ç‹ƒç‹†ç‹„ç‹Žç‹’ç‹¢ç‹ ç‹¡ç‹¹ç‹·å€çŒ—猊猜猖çŒçŒ´çŒ¯çŒ©çŒ¥çŒ¾çŽç默ç—çªç¨ç°ç¸çµç»çºçˆç޳çŽçŽ»ç€ç¥ç®çžç’¢ç…瑯ç¥ç¸ç²çºç‘•ç¿ç‘Ÿç‘™ç‘瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊ç“ç“”ç±"], +["e140","ç“ ç“£ç“§ç“©ç“®ç“²ç“°ç“±ç“¸ç“·ç”„ç”ƒç”…ç”Œç”Žç”甕甓甞甦甬甼畄ç•畊畉畛畆畚畩畤畧畫ç•畸當疆疇畴疊疉疂疔疚ç–疥疣痂疳痃疵疽疸疼疱ç—痊痒痙痣痞痾痿"], +["e180","ç—¼ç˜ç—°ç—ºç—²ç—³ç˜‹ç˜ç˜‰ç˜Ÿç˜§ç˜ 瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂ç›ç›–盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸ç‡çšç¨ç«ç›ç¥ç¿ç¾ç¹çžŽçž‹çž‘çž çžžçž°çž¶çž¹çž¿çž¼çž½çž»çŸ‡çŸçŸ—çŸšçŸœçŸ£çŸ®çŸ¼ç Œç ’ç¤¦ç 礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"], +["e240","ç£§ç£šç£½ç£´ç¤‡ç¤’ç¤‘ç¤™ç¤¬ç¤«ç¥€ç¥ ç¥—ç¥Ÿç¥šç¥•ç¥“ç¥ºç¥¿ç¦Šç¦ç¦§é½‹ç¦ªç¦®ç¦³ç¦¹ç¦ºç§‰ç§•秧秬秡秣稈ç¨ç¨˜ç¨™ç¨ 稟禀稱稻稾稷穃穗穉穡穢穩é¾ç©°ç©¹ç©½çªˆçª—窕窘窖窩竈窰"], +["e280","窶竅竄窿邃竇竊ç«ç«ç«•竓站竚ç«ç«¡ç«¢ç«¦ç«ç«°ç¬‚ç¬ç¬Šç¬†ç¬³ç¬˜ç¬™ç¬žç¬µç¬¨ç¬¶ççºç¬„ç笋çŒç…çµç¥ç´ç§ç°ç±ç¬ç®ç®ç®˜ç®Ÿç®ç®œç®šç®‹ç®’ç®ç箙篋ç¯ç¯Œç¯ç®´ç¯†ç¯ç¯©ç°‘ç°”ç¯¦ç¯¥ç± ç°€ç°‡ç°“ç¯³ç¯·ç°—ç°ç¯¶ç°£ç°§ç°ªç°Ÿç°·ç°«ç°½ç±Œç±ƒç±”ç±ç±€ç±ç±˜ç±Ÿç±¤ç±–籥籬籵粃ç²ç²¤ç²ç²¢ç²«ç²¡ç²¨ç²³ç²²ç²±ç²®ç²¹ç²½ç³€ç³…糂糘糒糜糢鬻糯糲糴糶糺紆"], +["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮çµçµ£ç¶“綉絛ç¶çµ½ç¶›ç¶ºç¶®ç¶£ç¶µç·‡ç¶½ç¶«ç¸½ç¶¢ç¶¯ç·œç¶¸ç¶Ÿç¶°ç·˜ç·ç·¤ç·žç·»ç·²ç·¡ç¸…縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"], +["e380","縲縺繧ç¹ç¹–繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒çºçº“纔纖纎纛纜缸缺罅罌ç½ç½Žç½ç½‘ç½•ç½”ç½˜ç½Ÿç½ ç½¨ç½©ç½§ç½¸ç¾‚ç¾†ç¾ƒç¾ˆç¾‡ç¾Œç¾”ç¾žç¾ç¾šç¾£ç¾¯ç¾²ç¾¹ç¾®ç¾¶ç¾¸è±ç¿…翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻èŠè†è’è˜èšèŸè¢è¨è³è²è°è¶è¹è½è¿è‚„肆肅肛肓肚è‚å†è‚¬èƒ›èƒ¥èƒ™èƒèƒ„胚胖脉胯胱脛脩脣脯腋"], +["e440","éš‹è…†è„¾è…“è…‘èƒ¼è…±è…®è…¥è…¦è…´è†ƒè†ˆè†Šè†€è†‚è† è†•è†¤è†£è…Ÿè†“è†©è†°è†µè†¾è†¸è†½è‡€è‡‚è†ºè‡‰è‡è‡‘è‡™è‡˜è‡ˆè‡šè‡Ÿè‡ è‡§è‡ºè‡»è‡¾èˆèˆ‚舅與舊èˆèˆèˆ–舩舫舸舳艀艙艘è‰è‰šè‰Ÿè‰¤"], +["e480","艢艨艪艫舮艱艷艸艾èŠèŠ’èŠ«èŠŸèŠ»èŠ¬è‹¡è‹£è‹Ÿè‹’è‹´è‹³è‹ºèŽ“èŒƒè‹»è‹¹è‹žèŒ†è‹œèŒ‰è‹™èŒµèŒ´èŒ–èŒ²èŒ±è€èŒ¹èè…茯茫茗茘莅莚莪莟莢莖茣莎莇莊è¼è޵è³èµèŽ èŽ‰èŽ¨è´è“è«èŽè½èƒè˜è‹èè·è‡è è²èè¢è 莽è¸è”†è»è‘èªè¼è•šè’„è‘·è‘«è’葮蒂葩葆è¬è‘¯è‘¹èµè“Šè‘¢è’¹è’¿è’Ÿè“™è“蒻蓚è“è“蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"], +["e540","è•蘂蕋蕕薀薤薈薑薊薨è•薔薛藪薇薜蕷蕾è–藉薺è—è–¹è—è—•è—藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿è™ä¹•è™”è™Ÿè™§è™±èš“èš£èš©èšªèš‹èšŒèš¶èš¯è›„è›†èš°è›‰è £èš«è›”è›žè›©è›¬"], +["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉èœè›¹èœŠèœ´èœ¿èœ·èœ»èœ¥èœ©èœšè èŸè¸èŒèŽè´è—è¨è®è™è“è£èªè …螢螟螂螯蟋螽蟀èŸé›–èž«èŸ„èž³èŸ‡èŸ†èž»èŸ¯èŸ²èŸ è è èŸ¾èŸ¶èŸ·è ŽèŸ’è ‘è –è •è ¢è ¡è ±è ¶è ¹è §è »è¡„è¡‚è¡’è¡™è¡žè¡¢è¡«è¢è¡¾è¢žè¡µè¡½è¢µè¡²è¢‚袗袒袮袙袢è¢è¢¤è¢°è¢¿è¢±è£ƒè£„裔裘裙è£è£¹è¤‚裼裴裨裲褄褌褊褓襃褞褥褪褫è¥è¥„褻褶褸襌è¤è¥ 襞"], +["e640","襦襤è¥è¥ªè¥¯è¥´è¥·è¥¾è¦ƒè¦ˆè¦Šè¦“覘覡覩覦覬覯覲覺覽覿觀觚觜è§è§§è§´è§¸è¨ƒè¨–è¨è¨Œè¨›è¨è¨¥è¨¶è©è©›è©’詆詈詼è©è©¬è©¢èª…誂誄誨誡誑誥誦誚誣諄è«è«‚諚諫諳諧"], +["e680","è«¤è«±è¬”è« è«¢è«·è«žè«›è¬Œè¬‡è¬šè«¡è¬–è¬è¬—è¬ è¬³éž«è¬¦è¬«è¬¾è¬¨èèŒèèŽè‰è–è›èšè«èŸè¬è¯è´è½è®€è®Œè®Žè®’讓讖讙讚谺è±è°¿è±ˆè±Œè±Žè±è±•豢豬豸豺貂貉貅貊è²è²Žè²”豼貘æˆè²è²ªè²½è²²è²³è²®è²¶è³ˆè³è³¤è³£è³šè³½è³ºè³»è´„è´…è´Šè´‡è´è´è´é½Žè´“è³è´”è´–èµ§èµèµ±èµ³è¶è¶™è·‚趾趺è·è·šè·–跌跛跋跪跫跟跣跼踈踉跿è¸è¸žè¸è¸Ÿè¹‚踵踰踴蹊"], +["e740","蹇蹉蹌è¹è¹ˆè¹™è¹¤è¹ 踪蹣蹕蹶蹲蹼èºèº‡èº…躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"], +["e780","轢轣轤辜辟辣è¾è¾¯è¾·è¿šè¿¥è¿¢è¿ªè¿¯é‚‡è¿´é€…迹迺逑逕逡é€é€žé€–逋逧逶逵逹迸ééé‘é’逎é‰é€¾é–é˜éžé¨é¯é¶éš¨é²é‚‚é½é‚邀邊邉é‚邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀é‡é‡‰é‡‹é‡é‡–釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋é‰éŠœéŠ–éŠ“éŠ›é‰šé‹éŠ¹éŠ·é‹©éŒé‹ºé„錮"], +["e840","錙錢錚錣錺錵錻éœé é¼é®é–鎰鎬éŽéŽ”éŽ¹é–é—é¨é¥é˜éƒéééˆé¤éšé”é“éƒé‡éé¶é«éµé¡éºé‘é‘’é‘„é‘›é‘ é‘¢é‘žé‘ªéˆ©é‘°é‘µé‘·é‘½é‘šé‘¼é‘¾é’鑿閂閇閊閔閖閘閙"], +["e880","é– é–¨é–§é–閼閻閹閾闊濶闃é—闌闕闔闖關闡闥闢阡阨阮阯陂陌é™é™‹é™·é™œé™žé™é™Ÿé™¦é™²é™¬éšéš˜éš•隗險隧隱隲隰隴隶隸隹雎雋雉é›è¥é›œéœé›•雹霄霆霈霓霎霑éœéœ–霙霤霪霰霹霽霾é„é†éˆé‚é‰éœé é¤é¦é¨å‹’é«é±é¹éž…é¼éžéºéž†éž‹éžéžéžœéž¨éž¦éž£éž³éž´éŸƒéŸ†éŸˆéŸ‹éŸœéŸé½éŸ²ç«ŸéŸ¶éŸµé é Œé ¸é ¤é ¡é ·é ½é¡†é¡é¡‹é¡«é¡¯é¡°"], +["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡é¤é¤žé¤¤é¤ 餬餮餽餾饂饉饅é¥é¥‹é¥‘饒饌饕馗馘馥é¦é¦®é¦¼é§Ÿé§›é§é§˜é§‘é§é§®é§±é§²é§»é§¸é¨é¨é¨…駢騙騫騷驅驂驀驃"], +["e980","騾驕é©é©›é©—驟驢驥驤驩驫驪éªéª°éª¼é«€é«é«‘髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲é„éƒéééŽé‘é˜é´é®“é®ƒé®‘é®–é®—é®Ÿé® é®¨é®´é¯€é¯Šé®¹é¯†é¯é¯‘é¯’é¯£é¯¢é¯¤é¯”é¯¡é°ºé¯²é¯±é¯°é°•é°”é°‰é°“é°Œé°†é°ˆé°’é°Šé°„é°®é°›é°¥é°¤é°¡é°°é±‡é°²é±†é°¾é±šé± é±§é±¶é±¸é³§é³¬é³°é´‰é´ˆé³«é´ƒé´†é´ªé´¦é¶¯é´£é´Ÿéµ„é´•é´’éµé´¿é´¾éµ†éµˆ"], +["ea40","éµéµžéµ¤éµ‘éµéµ™éµ²é¶‰é¶‡é¶«éµ¯éµºé¶šé¶¤é¶©é¶²é·„é·é¶»é¶¸é¶ºé·†é·é·‚鷙鷓鷸鷦é·é·¯é·½é¸šé¸›é¸žé¹µé¹¹é¹½éºéºˆéº‹éºŒéº’麕麑éºéº¥éº©éº¸éºªéºé¡é»Œé»Žé»é»é»”黜點é»é» 黥黨黯"], +["ea80","é»´é»¶é»·é»¹é»»é»¼é»½é¼‡é¼ˆçš·é¼•é¼¡é¼¬é¼¾é½Šé½’é½”é½£é½Ÿé½ é½¡é½¦é½§é½¬é½ªé½·é½²é½¶é¾•é¾œé¾ å ¯æ§‡é™ç‘¤å‡œç†™"], +["ed40","纊褜éˆéŠˆè“œä¿‰ç‚»æ˜±æ£ˆé‹¹æ›»å½…ä¸¨ä»¡ä»¼ä¼€ä¼ƒä¼¹ä½–ä¾’ä¾Šä¾šä¾”ä¿å€å€¢ä¿¿å€žå†å°å‚傔僴僘兊兤å†å†¾å‡¬åˆ•劜劦勀勛匀匇匤å²åŽ“åŽ²å﨎咜咊咩哿喆å™å¥åž¬åŸˆåŸ‡ï¨"], +["ed80","ï¨å¢žå¢²å¤‹å¥“奛å¥å¥£å¦¤å¦ºå–寀甯寘寬尞岦岺峵崧嵓﨑嵂åµå¶¸å¶¹å·å¼¡å¼´å½§å¾·å¿žææ‚…æ‚Šæƒžæƒ•æ„ æƒ²æ„‘æ„·æ„°æ†˜æˆ“æŠ¦æµæ‘ æ’æ“Žæ•Žæ˜€æ˜•æ˜»æ˜‰æ˜®æ˜žæ˜¤æ™¥æ™—æ™™ï¨’æ™³æš™æš æš²æš¿æ›ºæœŽï¤©æ¦æž»æ¡’æŸ€æ æ¡„æ£ï¨“æ¥¨ï¨”æ¦˜æ§¢æ¨°æ©«æ©†æ©³æ©¾æ«¢æ«¤æ¯–æ°¿æ±œæ²†æ±¯æ³šæ´„æ¶‡æµ¯æ¶–æ¶¬æ·æ·¸æ·²æ·¼æ¸¹æ¹œæ¸§æ¸¼æº¿æ¾ˆæ¾µæ¿µç€…瀇瀨炅炫ç„焄煜煆煇凞ç‡ç‡¾çб"], +["ee40","犾猤猪ç·ç޽ç‰ç–ç£ç’ç‡çµç¦çªç©ç®ç‘¢ç’‰ç’Ÿç”畯皂皜皞皛皦益ç†åŠ¯ç ¡ç¡Žç¡¤ç¡ºç¤°ï¨˜ï¨™ï¨šç¦”ï¨›ç¦›ç«‘ç«§ï¨œç««ç®žï¨çµˆçµœç¶·ç¶ 緖繒罇羡羽èŒè¢è¿è‡è¶è‘ˆè’´è•“è•™"], +["ee80","è•«ï¨Ÿè–°ï¨ ï¨¡è ‡è£µè¨’è¨·è©¹èª§èª¾è«Ÿï¨¢è«¶è“è¿è³°è³´è´’赶﨣è»ï¨¤ï¨¥é§éƒžï¨¦é„•鄧釚釗釞é‡é‡®é‡¤é‡¥éˆ†éˆéˆŠéˆºé‰€éˆ¼é‰Žé‰™é‰‘鈹鉧銧鉷鉸鋧鋗鋙é‹ï¨§é‹•é‹ é‹“éŒ¥éŒ¡é‹»ï¨¨éŒžé‹¿éŒéŒ‚é°é—鎤é†éžé¸é±é‘…鑈閒隆﨩éšéš¯éœ³éœ»éƒééé‘é•顗顥飯飼餧館馞驎髙髜éµé²é®é®±é®»é°€éµ°éµ«ï¨é¸™é»‘"], +["eeef","â…°",9,"¬¦'""], +["f040","",62], +["f080","",124], +["f140","",62], +["f180","",124], +["f240","î…¸",62], +["f280","",124], +["f340","",62], +["f380","",124], +["f440","î‹°",62], +["f480","",124], +["f540","",62], +["f580","î«",124], +["f640","",62], +["f680","î’§",124], +["f740","",62], +["f780","î•£",124], +["f840","î— ",62], +["f880","",124], +["f940","îšœ"], +["fa40","â…°",9,"â… ",9,"¬¦'"㈱№℡∵纊褜éˆéŠˆè“œä¿‰ç‚»æ˜±æ£ˆé‹¹æ›»å½…ä¸¨ä»¡ä»¼ä¼€ä¼ƒä¼¹ä½–ä¾’ä¾Šä¾šä¾”ä¿å€å€¢ä¿¿å€žå†å°å‚傔僴僘兊"], +["fa80","å…¤å†å†¾å‡¬åˆ•劜劦勀勛匀匇匤å²åŽ“åŽ²å﨎咜咊咩哿喆å™å¥åž¬åŸˆåŸ‡ï¨ï¨å¢žå¢²å¤‹å¥“奛å¥å¥£å¦¤å¦ºå–寀甯寘寬尞岦岺峵崧嵓﨑嵂åµå¶¸å¶¹å·å¼¡å¼´å½§å¾·å¿žææ‚…æ‚Šæƒžæƒ•æ„ æƒ²æ„‘æ„·æ„°æ†˜æˆ“æŠ¦æµæ‘ æ’æ“Žæ•Žæ˜€æ˜•æ˜»æ˜‰æ˜®æ˜žæ˜¤æ™¥æ™—æ™™ï¨’æ™³æš™æš æš²æš¿æ›ºæœŽï¤©æ¦æž»æ¡’æŸ€æ æ¡„æ£ï¨“楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"], +["fb40","æ¶–æ¶¬æ·æ·¸æ·²æ·¼æ¸¹æ¹œæ¸§æ¸¼æº¿æ¾ˆæ¾µæ¿µç€…瀇瀨炅炫ç„焄煜煆煇凞ç‡ç‡¾çŠ±çŠ¾çŒ¤ï¨–ç·ç޽ç‰ç–ç£ç’ç‡çµç¦çªç©ç®ç‘¢ç’‰ç’Ÿç”畯皂皜皞皛皦益ç†åŠ¯ç ¡ç¡Žç¡¤ç¡ºç¤°ï¨˜ï¨™"], +["fb80","祥禔福禛竑竧靖竫箞ï¨çµˆçµœç¶·ç¶ 緖繒罇羡羽èŒè¢è¿è‡è¶è‘ˆè’´è•“è•™è•«ï¨Ÿè–°ï¨ ï¨¡è ‡è£µè¨’è¨·è©¹èª§èª¾è«Ÿï¨¢è«¶è“è¿è³°è³´è´’赶﨣è»ï¨¤ï¨¥é§éƒžï¨¦é„•鄧釚釗釞é‡é‡®é‡¤é‡¥éˆ†éˆéˆŠéˆºé‰€éˆ¼é‰Žé‰™é‰‘鈹鉧銧鉷鉸鋧鋗鋙é‹ï¨§é‹•é‹ é‹“éŒ¥éŒ¡é‹»ï¨¨éŒžé‹¿éŒéŒ‚é°é—鎤é†éžé¸é±é‘…鑈閒隆﨩éšéš¯éœ³éœ»éƒééé‘é•顗顥飯飼餧館馞驎髙"], +["fc40","髜éµé²é®é®±é®»é°€éµ°éµ«ï¨é¸™é»‘"] +] diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf16.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf16.js new file mode 100755 index 0000000..7e8f159 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf16.js @@ -0,0 +1,177 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js + +// == UTF16-BE codec. ========================================================== + +exports.utf16be = Utf16BECodec; +function Utf16BECodec() { +} + +Utf16BECodec.prototype.encoder = Utf16BEEncoder; +Utf16BECodec.prototype.decoder = Utf16BEDecoder; +Utf16BECodec.prototype.bomAware = true; + + +// -- Encoding + +function Utf16BEEncoder() { +} + +Utf16BEEncoder.prototype.write = function(str) { + var buf = new Buffer(str, 'ucs2'); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp; + } + return buf; +} + +Utf16BEEncoder.prototype.end = function() { +} + + +// -- Decoding + +function Utf16BEDecoder() { + this.overflowByte = -1; +} + +Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ''; + + var buf2 = new Buffer(buf.length + 1), + i = 0, j = 0; + + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; j = 2; + } + + for (; i < buf.length-1; i += 2, j+= 2) { + buf2[j] = buf[i+1]; + buf2[j+1] = buf[i]; + } + + this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1; + + return buf2.slice(0, j).toString('ucs2'); +} + +Utf16BEDecoder.prototype.end = function() { +} + + +// == UTF-16 codec ============================================================= +// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic. +// Defaults to UTF-16LE, as it's prevalent and default in Node. +// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le +// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'}); + +// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false). + +exports.utf16 = Utf16Codec; +function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; +} + +Utf16Codec.prototype.encoder = Utf16Encoder; +Utf16Codec.prototype.decoder = Utf16Decoder; + + +// -- Encoding (pass-through) + +function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === undefined) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder('utf-16le', options); +} + +Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); +} + +Utf16Encoder.prototype.end = function() { + return this.encoder.end(); +} + + +// -- Decoding + +function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBytes = []; + this.initialBytesLen = 0; + + this.options = options || {}; + this.iconv = codec.iconv; +} + +Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + // Codec is not chosen yet. Accumulate initial bytes. + this.initialBytes.push(buf); + this.initialBytesLen += buf.length; + + if (this.initialBytesLen < 16) // We need more bytes to use space heuristic (see below) + return ''; + + // We have enough bytes -> detect endianness. + var buf = Buffer.concat(this.initialBytes), + encoding = detectEncoding(buf, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + this.initialBytes.length = this.initialBytesLen = 0; + } + + return this.decoder.write(buf); +} + +Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var buf = Buffer.concat(this.initialBytes), + encoding = detectEncoding(buf, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + + var res = this.decoder.write(buf), + trail = this.decoder.end(); + + return trail ? (res + trail) : res; + } + return this.decoder.end(); +} + +function detectEncoding(buf, defaultEncoding) { + var enc = defaultEncoding || 'utf-16le'; + + if (buf.length >= 2) { + // Check BOM. + if (buf[0] == 0xFE && buf[1] == 0xFF) // UTF-16BE BOM + enc = 'utf-16be'; + else if (buf[0] == 0xFF && buf[1] == 0xFE) // UTF-16LE BOM + enc = 'utf-16le'; + else { + // No BOM found. Try to deduce encoding from initial content. + // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon. + // So, we count ASCII as if it was LE or BE, and decide from that. + var asciiCharsLE = 0, asciiCharsBE = 0, // Counts of chars in both positions + _len = Math.min(buf.length - (buf.length % 2), 64); // Len is always even. + + for (var i = 0; i < _len; i += 2) { + if (buf[i] === 0 && buf[i+1] !== 0) asciiCharsBE++; + if (buf[i] !== 0 && buf[i+1] === 0) asciiCharsLE++; + } + + if (asciiCharsBE > asciiCharsLE) + enc = 'utf-16be'; + else if (asciiCharsBE < asciiCharsLE) + enc = 'utf-16le'; + } + } + + return enc; +} + + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf7.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf7.js new file mode 100755 index 0000000..19b7194 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/encodings/utf7.js @@ -0,0 +1,290 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 +// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3 + +exports.utf7 = Utf7Codec; +exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7 +function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; +}; + +Utf7Codec.prototype.encoder = Utf7Encoder; +Utf7Codec.prototype.decoder = Utf7Decoder; +Utf7Codec.prototype.bomAware = true; + + +// -- Encoding + +var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + +function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; +} + +Utf7Encoder.prototype.write = function(str) { + // Naive implementation. + // Non-direct chars are encoded as "+<base64>-"; single "+" char is encoded as "+-". + return new Buffer(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === '+' ? '' : + this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) + + "-"; + }.bind(this))); +} + +Utf7Encoder.prototype.end = function() { +} + + +// -- Decoding + +function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ''; +} + +var base64Regex = /[A-Za-z0-9\/+]/; +var base64Chars = []; +for (var i = 0; i < 256; i++) + base64Chars[i] = base64Regex.test(String.fromCharCode(i)); + +var plusChar = '+'.charCodeAt(0), + minusChar = '-'.charCodeAt(0), + andChar = '&'.charCodeAt(0); + +Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, + inBase64 = this.inBase64, + base64Accum = this.base64Accum; + + // The decoder is more involved as we must handle chunks in stream. + + for (var i = 0; i < buf.length; i++) { + if (!inBase64) { // We're in direct mode. + // Write direct chars until '+' + if (buf[i] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. + lastI = i+1; + inBase64 = true; + } + } else { // We decode base64. + if (!base64Chars[buf[i]]) { // Base64 ended. + if (i == lastI && buf[i] == minusChar) {// "+-" -> "+" + res += "+"; + } else { + var b64str = base64Accum + buf.slice(lastI, i).toString(); + res += this.iconv.decode(new Buffer(b64str, 'base64'), "utf16-be"); + } + + if (buf[i] != minusChar) // Minus is absorbed after base64. + i--; + + lastI = i+1; + inBase64 = false; + base64Accum = ''; + } + } + } + + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. + } else { + var b64str = base64Accum + buf.slice(lastI).toString(); + + var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. + base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. + b64str = b64str.slice(0, canBeDecoded); + + res += this.iconv.decode(new Buffer(b64str, 'base64'), "utf16-be"); + } + + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + + return res; +} + +Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(new Buffer(this.base64Accum, 'base64'), "utf16-be"); + + this.inBase64 = false; + this.base64Accum = ''; + return res; +} + + +// UTF-7-IMAP codec. +// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3) +// Differences: +// * Base64 part is started by "&" instead of "+" +// * Direct characters are 0x20-0x7E, except "&" (0x26) +// * In Base64, "," is used instead of "/" +// * Base64 must not be used to represent direct characters. +// * No implicit shift back from Base64 (should always end with '-') +// * String must end in non-shifted position. +// * "-&" while in base64 is not allowed. + + +exports.utf7imap = Utf7IMAPCodec; +function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; +}; + +Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; +Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; +Utf7IMAPCodec.prototype.bomAware = true; + + +// -- Encoding + +function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = new Buffer(6); + this.base64AccumIdx = 0; +} + +Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, + base64Accum = this.base64Accum, + base64AccumIdx = this.base64AccumIdx, + buf = new Buffer(str.length*5 + 10), bufIdx = 0; + + for (var i = 0; i < str.length; i++) { + var uChar = str.charCodeAt(i); + if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'. + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); + base64AccumIdx = 0; + } + + buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. + inBase64 = false; + } + + if (!inBase64) { + buf[bufIdx++] = uChar; // Write direct character + + if (uChar === andChar) // Ampersand -> '&-' + buf[bufIdx++] = minusChar; + } + + } else { // Non-direct character + if (!inBase64) { + buf[bufIdx++] = andChar; // Write '&', then go to base64 mode. + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 0xFF; + + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString('base64').replace(/\//g, ','), bufIdx); + base64AccumIdx = 0; + } + } + } + } + + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + + return buf.slice(0, bufIdx); +} + +Utf7IMAPEncoder.prototype.end = function() { + var buf = new Buffer(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); + this.base64AccumIdx = 0; + } + + buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. + this.inBase64 = false; + } + + return buf.slice(0, bufIdx); +} + + +// -- Decoding + +function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ''; +} + +var base64IMAPChars = base64Chars.slice(); +base64IMAPChars[','.charCodeAt(0)] = true; + +Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, + inBase64 = this.inBase64, + base64Accum = this.base64Accum; + + // The decoder is more involved as we must handle chunks in stream. + // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end). + + for (var i = 0; i < buf.length; i++) { + if (!inBase64) { // We're in direct mode. + // Write direct chars until '&' + if (buf[i] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. + lastI = i+1; + inBase64 = true; + } + } else { // We decode base64. + if (!base64IMAPChars[buf[i]]) { // Base64 ended. + if (i == lastI && buf[i] == minusChar) { // "&-" -> "&" + res += "&"; + } else { + var b64str = base64Accum + buf.slice(lastI, i).toString().replace(/,/g, '/'); + res += this.iconv.decode(new Buffer(b64str, 'base64'), "utf16-be"); + } + + if (buf[i] != minusChar) // Minus may be absorbed after base64. + i--; + + lastI = i+1; + inBase64 = false; + base64Accum = ''; + } + } + } + + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. + } else { + var b64str = base64Accum + buf.slice(lastI).toString().replace(/,/g, '/'); + + var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. + base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. + b64str = b64str.slice(0, canBeDecoded); + + res += this.iconv.decode(new Buffer(b64str, 'base64'), "utf16-be"); + } + + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + + return res; +} + +Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(new Buffer(this.base64Accum, 'base64'), "utf16-be"); + + this.inBase64 = false; + this.base64Accum = ''; + return res; +} + + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/bom-handling.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/bom-handling.js new file mode 100755 index 0000000..1050872 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/bom-handling.js @@ -0,0 +1,52 @@ +"use strict"; + +var BOMChar = '\uFEFF'; + +exports.PrependBOM = PrependBOMWrapper +function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; +} + +PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + + return this.encoder.write(str); +} + +PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); +} + + +//------------------------------------------------------------------------------ + +exports.StripBOM = StripBOMWrapper; +function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; +} + +StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; + + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === 'function') + this.options.stripBOM(); + } + + this.pass = true; + return res; +} + +StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); +} + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/extend-node.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/extend-node.js new file mode 100755 index 0000000..a120400 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/extend-node.js @@ -0,0 +1,215 @@ +"use strict"; +var Buffer = require("buffer").Buffer; + +// == Extend Node primitives to use iconv-lite ================================= + +module.exports = function (iconv) { + var original = undefined; // Place to keep original methods. + + // Node authors rewrote Buffer internals to make it compatible with + // Uint8Array and we cannot patch key functions since then. + iconv.supportsNodeEncodingsExtension = !(new Buffer(0) instanceof Uint8Array); + + iconv.extendNodeEncodings = function extendNodeEncodings() { + if (original) return; + original = {}; + + if (!iconv.supportsNodeEncodingsExtension) { + console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"); + console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility"); + return; + } + + var nodeNativeEncodings = { + 'hex': true, 'utf8': true, 'utf-8': true, 'ascii': true, 'binary': true, + 'base64': true, 'ucs2': true, 'ucs-2': true, 'utf16le': true, 'utf-16le': true, + }; + + Buffer.isNativeEncoding = function(enc) { + return enc && nodeNativeEncodings[enc.toLowerCase()]; + } + + // -- SlowBuffer ----------------------------------------------------------- + var SlowBuffer = require('buffer').SlowBuffer; + + original.SlowBufferToString = SlowBuffer.prototype.toString; + SlowBuffer.prototype.toString = function(encoding, start, end) { + encoding = String(encoding || 'utf8').toLowerCase(); + + // Use native conversion when possible + if (Buffer.isNativeEncoding(encoding)) + return original.SlowBufferToString.call(this, encoding, start, end); + + // Otherwise, use our decoding method. + if (typeof start == 'undefined') start = 0; + if (typeof end == 'undefined') end = this.length; + return iconv.decode(this.slice(start, end), encoding); + } + + original.SlowBufferWrite = SlowBuffer.prototype.write; + SlowBuffer.prototype.write = function(string, offset, length, encoding) { + // Support both (string, offset, length, encoding) + // and the legacy (string, encoding, offset, length) + if (isFinite(offset)) { + if (!isFinite(length)) { + encoding = length; + length = undefined; + } + } else { // legacy + var swap = encoding; + encoding = offset; + offset = length; + length = swap; + } + + offset = +offset || 0; + var remaining = this.length - offset; + if (!length) { + length = remaining; + } else { + length = +length; + if (length > remaining) { + length = remaining; + } + } + encoding = String(encoding || 'utf8').toLowerCase(); + + // Use native conversion when possible + if (Buffer.isNativeEncoding(encoding)) + return original.SlowBufferWrite.call(this, string, offset, length, encoding); + + if (string.length > 0 && (length < 0 || offset < 0)) + throw new RangeError('attempt to write beyond buffer bounds'); + + // Otherwise, use our encoding method. + var buf = iconv.encode(string, encoding); + if (buf.length < length) length = buf.length; + buf.copy(this, offset, 0, length); + return length; + } + + // -- Buffer --------------------------------------------------------------- + + original.BufferIsEncoding = Buffer.isEncoding; + Buffer.isEncoding = function(encoding) { + return Buffer.isNativeEncoding(encoding) || iconv.encodingExists(encoding); + } + + original.BufferByteLength = Buffer.byteLength; + Buffer.byteLength = SlowBuffer.byteLength = function(str, encoding) { + encoding = String(encoding || 'utf8').toLowerCase(); + + // Use native conversion when possible + if (Buffer.isNativeEncoding(encoding)) + return original.BufferByteLength.call(this, str, encoding); + + // Slow, I know, but we don't have a better way yet. + return iconv.encode(str, encoding).length; + } + + original.BufferToString = Buffer.prototype.toString; + Buffer.prototype.toString = function(encoding, start, end) { + encoding = String(encoding || 'utf8').toLowerCase(); + + // Use native conversion when possible + if (Buffer.isNativeEncoding(encoding)) + return original.BufferToString.call(this, encoding, start, end); + + // Otherwise, use our decoding method. + if (typeof start == 'undefined') start = 0; + if (typeof end == 'undefined') end = this.length; + return iconv.decode(this.slice(start, end), encoding); + } + + original.BufferWrite = Buffer.prototype.write; + Buffer.prototype.write = function(string, offset, length, encoding) { + var _offset = offset, _length = length, _encoding = encoding; + // Support both (string, offset, length, encoding) + // and the legacy (string, encoding, offset, length) + if (isFinite(offset)) { + if (!isFinite(length)) { + encoding = length; + length = undefined; + } + } else { // legacy + var swap = encoding; + encoding = offset; + offset = length; + length = swap; + } + + encoding = String(encoding || 'utf8').toLowerCase(); + + // Use native conversion when possible + if (Buffer.isNativeEncoding(encoding)) + return original.BufferWrite.call(this, string, _offset, _length, _encoding); + + offset = +offset || 0; + var remaining = this.length - offset; + if (!length) { + length = remaining; + } else { + length = +length; + if (length > remaining) { + length = remaining; + } + } + + if (string.length > 0 && (length < 0 || offset < 0)) + throw new RangeError('attempt to write beyond buffer bounds'); + + // Otherwise, use our encoding method. + var buf = iconv.encode(string, encoding); + if (buf.length < length) length = buf.length; + buf.copy(this, offset, 0, length); + return length; + + // TODO: Set _charsWritten. + } + + + // -- Readable ------------------------------------------------------------- + if (iconv.supportsStreams) { + var Readable = require('stream').Readable; + + original.ReadableSetEncoding = Readable.prototype.setEncoding; + Readable.prototype.setEncoding = function setEncoding(enc, options) { + // Use our own decoder, it has the same interface. + // We cannot use original function as it doesn't handle BOM-s. + this._readableState.decoder = iconv.getDecoder(enc, options); + this._readableState.encoding = enc; + } + + Readable.prototype.collect = iconv._collect; + } + } + + // Remove iconv-lite Node primitive extensions. + iconv.undoExtendNodeEncodings = function undoExtendNodeEncodings() { + if (!iconv.supportsNodeEncodingsExtension) + return; + if (!original) + throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called.") + + delete Buffer.isNativeEncoding; + + var SlowBuffer = require('buffer').SlowBuffer; + + SlowBuffer.prototype.toString = original.SlowBufferToString; + SlowBuffer.prototype.write = original.SlowBufferWrite; + + Buffer.isEncoding = original.BufferIsEncoding; + Buffer.byteLength = original.BufferByteLength; + Buffer.prototype.toString = original.BufferToString; + Buffer.prototype.write = original.BufferWrite; + + if (iconv.supportsStreams) { + var Readable = require('stream').Readable; + + Readable.prototype.setEncoding = original.ReadableSetEncoding; + delete Readable.prototype.collect; + } + + original = undefined; + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.d.ts b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.d.ts new file mode 100755 index 0000000..b9c8361 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.d.ts @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. + * REQUIREMENT: This definition is dependent on the @types/node definition. + * Install with `npm install @types/node --save-dev` + *--------------------------------------------------------------------------------------------*/ + +declare module 'iconv-lite' { + export function decode(buffer: NodeBuffer, encoding: string, options?: Options): string; + + export function encode(content: string, encoding: string, options?: Options): NodeBuffer; + + export function encodingExists(encoding: string): boolean; + + export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; + + export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; +} + +export interface Options { + stripBOM?: boolean; + addBOM?: boolean; + defaultEncoding?: string; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.js new file mode 100755 index 0000000..9a52472 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/index.js @@ -0,0 +1,148 @@ +"use strict"; + +// Some environments don't have global Buffer (e.g. React Native). +// Solution would be installing npm modules "buffer" and "stream" explicitly. +var Buffer = require("buffer").Buffer; + +var bomHandling = require("./bom-handling"), + iconv = module.exports; + +// All codecs and aliases are kept here, keyed by encoding name/alias. +// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`. +iconv.encodings = null; + +// Characters emitted in case of error. +iconv.defaultCharUnicode = '�'; +iconv.defaultCharSingleByte = '?'; + +// Public API. +iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); // Ensure string. + + var encoder = iconv.getEncoder(encoding, options); + + var res = encoder.write(str); + var trail = encoder.end(); + + return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res; +} + +iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === 'string') { + if (!iconv.skipDecodeWarning) { + console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding'); + iconv.skipDecodeWarning = true; + } + + buf = new Buffer("" + (buf || ""), "binary"); // Ensure buffer. + } + + var decoder = iconv.getDecoder(encoding, options); + + var res = decoder.write(buf); + var trail = decoder.end(); + + return trail ? (res + trail) : res; +} + +iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; + } +} + +// Legacy aliases to convert functions +iconv.toEncoding = iconv.encode; +iconv.fromEncoding = iconv.decode; + +// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache. +iconv._codecDataCache = {}; +iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = require("../encodings"); // Lazy load all encoding definitions. + + // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. + var enc = (''+encoding).toLowerCase().replace(/[^0-9a-z]|:\d{4}$/g, ""); + + // Traverse iconv.encodings to find actual codec. + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + + var codecDef = iconv.encodings[enc]; + + switch (typeof codecDef) { + case "string": // Direct alias to other encoding. + enc = codecDef; + break; + + case "object": // Alias with options. Can be layered. + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + + enc = codecDef.type; + break; + + case "function": // Codec itself. + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + + // The codec function must load all tables and return object with .encoder and .decoder methods. + // It'll be called only once (for each different options object). + codec = new codecDef(codecOptions, iconv); + + iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later. + return codec; + + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')"); + } + } +} + +iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), + encoder = new codec.encoder(options, codec); + + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + + return encoder; +} + +iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), + decoder = new codec.decoder(options, codec); + + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + + return decoder; +} + + +// Load extensions in Node. All of them are omitted in Browserify build via 'browser' field in package.json. +var nodeVer = typeof process !== 'undefined' && process.versions && process.versions.node; +if (nodeVer) { + + // Load streaming support in Node v0.10+ + var nodeVerArr = nodeVer.split(".").map(Number); + if (nodeVerArr[0] > 0 || nodeVerArr[1] >= 10) { + require("./streams")(iconv); + } + + // Load Node primitive extensions. + require("./extend-node")(iconv); +} + +if ("Ä€" != "\u0100") { + console.error("iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/streams.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/streams.js new file mode 100755 index 0000000..4409552 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/lib/streams.js @@ -0,0 +1,121 @@ +"use strict"; + +var Buffer = require("buffer").Buffer, + Transform = require("stream").Transform; + + +// == Exports ================================================================== +module.exports = function(iconv) { + + // Additional Public API. + iconv.encodeStream = function encodeStream(encoding, options) { + return new IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); + } + + iconv.decodeStream = function decodeStream(encoding, options) { + return new IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); + } + + iconv.supportsStreams = true; + + + // Not published yet. + iconv.IconvLiteEncoderStream = IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = IconvLiteDecoderStream; + iconv._collect = IconvLiteDecoderStream.prototype.collect; +}; + + +// == Encoder stream ======================================================= +function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; // We accept only strings, so we don't need to decode them. + Transform.call(this, options); +} + +IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } +}); + +IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != 'string') + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res); + done(); + } + catch (e) { + done(e); + } +} + +IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res); + done(); + } + catch (e) { + done(e); + } +} + +IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on('error', cb); + this.on('data', function(chunk) { chunks.push(chunk); }); + this.on('end', function() { + cb(null, Buffer.concat(chunks)); + }); + return this; +} + + +// == Decoder stream ======================================================= +function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = 'utf8'; // We output strings. + Transform.call(this, options); +} + +IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } +}); + +IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer.isBuffer(chunk)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res, this.encoding); + done(); + } + catch (e) { + done(e); + } +} + +IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res, this.encoding); + done(); + } + catch (e) { + done(e); + } +} + +IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ''; + this.on('error', cb); + this.on('data', function(chunk) { res += chunk; }); + this.on('end', function() { + cb(null, res); + }); + return this; +} + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/package.json new file mode 100755 index 0000000..47f1b9f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/iconv-lite/package.json @@ -0,0 +1,161 @@ +{ + "_args": [ + [ + { + "raw": "iconv-lite@0.4.19", + "scope": null, + "escapedName": "iconv-lite", + "name": "iconv-lite", + "rawSpec": "0.4.19", + "spec": "0.4.19", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser" + ] + ], + "_from": "iconv-lite@0.4.19", + "_id": "iconv-lite@0.4.19", + "_inCache": true, + "_location": "/iconv-lite", + "_nodeVersion": "8.1.0", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/iconv-lite-0.4.19.tgz_1505015801484_0.10463660513050854" + }, + "_npmUser": { + "name": "ashtuchkin", + "email": "ashtuchkin@gmail.com" + }, + "_npmVersion": "5.0.3", + "_phantomChildren": {}, + "_requested": { + "raw": "iconv-lite@0.4.19", + "scope": null, + "escapedName": "iconv-lite", + "name": "iconv-lite", + "rawSpec": "0.4.19", + "spec": "0.4.19", + "type": "version" + }, + "_requiredBy": [ + "/body-parser", + "/raw-body" + ], + "_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "_shasum": "f7468f60135f5e5dad3399c0a81be9a1603a082b", + "_shrinkwrap": null, + "_spec": "iconv-lite@0.4.19", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser", + "author": { + "name": "Alexander Shtuchkin", + "email": "ashtuchkin@gmail.com" + }, + "browser": { + "./extend-node": false, + "./streams": false + }, + "bugs": { + "url": "https://github.com/ashtuchkin/iconv-lite/issues" + }, + "contributors": [ + { + "name": "Jinwu Zhan", + "url": "https://github.com/jenkinv" + }, + { + "name": "Adamansky Anton", + "url": "https://github.com/adamansky" + }, + { + "name": "George Stagas", + "url": "https://github.com/stagas" + }, + { + "name": "Mike D Pilsbury", + "url": "https://github.com/pekim" + }, + { + "name": "Niggler", + "url": "https://github.com/Niggler" + }, + { + "name": "wychi", + "url": "https://github.com/wychi" + }, + { + "name": "David Kuo", + "url": "https://github.com/david50407" + }, + { + "name": "ChangZhuo Chen", + "url": "https://github.com/czchen" + }, + { + "name": "Lee Treveil", + "url": "https://github.com/leetreveil" + }, + { + "name": "Brian White", + "url": "https://github.com/mscdex" + }, + { + "name": "Mithgol", + "url": "https://github.com/Mithgol" + }, + { + "name": "Nazar Leush", + "url": "https://github.com/nleush" + } + ], + "dependencies": {}, + "description": "Convert character encodings in pure javascript.", + "devDependencies": { + "async": "*", + "errto": "*", + "iconv": "*", + "istanbul": "*", + "mocha": "*", + "request": "*", + "semver": "*", + "unorm": "*" + }, + "directories": {}, + "dist": { + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "shasum": "f7468f60135f5e5dad3399c0a81be9a1603a082b", + "tarball": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz" + }, + "engines": { + "node": ">=0.10.0" + }, + "gitHead": "5255c1b3c81a0f276619cce3151a1923cba90431", + "homepage": "https://github.com/ashtuchkin/iconv-lite", + "keywords": [ + "iconv", + "convert", + "charset", + "icu" + ], + "license": "MIT", + "main": "./lib/index.js", + "maintainers": [ + { + "name": "ashtuchkin", + "email": "ashtuchkin@gmail.com" + } + ], + "name": "iconv-lite", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/ashtuchkin/iconv-lite.git" + }, + "scripts": { + "coverage": "istanbul cover _mocha -- --grep .", + "coverage-open": "open coverage/lcov-report/index.html", + "test": "mocha --reporter spec --grep ." + }, + "typings": "./lib/index.d.ts", + "version": "0.4.19" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/LICENSE new file mode 100755 index 0000000..dea3013 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/LICENSE @@ -0,0 +1,16 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/README.md new file mode 100755 index 0000000..b1c5665 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/README.md @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits.js new file mode 100755 index 0000000..3b94763 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits.js @@ -0,0 +1,7 @@ +try { + var util = require('util'); + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + module.exports = require('./inherits_browser.js'); +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits_browser.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits_browser.js new file mode 100755 index 0000000..c1e78a7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/inherits_browser.js @@ -0,0 +1,23 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/package.json new file mode 100755 index 0000000..f4cb894 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/inherits/package.json @@ -0,0 +1,97 @@ +{ + "_args": [ + [ + { + "raw": "inherits@2.0.3", + "scope": null, + "escapedName": "inherits", + "name": "inherits", + "rawSpec": "2.0.3", + "spec": "2.0.3", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\http-errors" + ] + ], + "_from": "inherits@2.0.3", + "_id": "inherits@2.0.3", + "_inCache": true, + "_location": "/inherits", + "_nodeVersion": "6.5.0", + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" + }, + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "_npmVersion": "3.10.7", + "_phantomChildren": {}, + "_requested": { + "raw": "inherits@2.0.3", + "scope": null, + "escapedName": "inherits", + "name": "inherits", + "rawSpec": "2.0.3", + "spec": "2.0.3", + "type": "version" + }, + "_requiredBy": [ + "/http-errors" + ], + "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "_shasum": "633c2c83e3da42a502f52466022480f4208261de", + "_shrinkwrap": null, + "_spec": "inherits@2.0.3", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\http-errors", + "browser": "./inherits_browser.js", + "bugs": { + "url": "https://github.com/isaacs/inherits/issues" + }, + "dependencies": {}, + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "devDependencies": { + "tap": "^7.1.0" + }, + "directories": {}, + "dist": { + "shasum": "633c2c83e3da42a502f52466022480f4208261de", + "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ], + "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", + "homepage": "https://github.com/isaacs/inherits#readme", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "license": "ISC", + "main": "./inherits.js", + "maintainers": [ + { + "name": "isaacs", + "email": "i@izs.me" + } + ], + "name": "inherits", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/inherits.git" + }, + "scripts": { + "test": "node test" + }, + "version": "2.0.3" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.npmignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.npmignore new file mode 100755 index 0000000..7a1537b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.npmignore @@ -0,0 +1,2 @@ +.idea +node_modules diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.travis.yml b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.travis.yml new file mode 100755 index 0000000..aa3d14a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/.travis.yml @@ -0,0 +1,10 @@ +language: node_js + +node_js: + - "0.10" + - "0.11" + - "0.12" + - "4.0" + - "4.1" + - "4.2" + - "5" diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/Cakefile b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/Cakefile new file mode 100755 index 0000000..a6de48f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/Cakefile @@ -0,0 +1,18 @@ +fs = require 'fs' +CoffeeScript = require 'coffee-script' +nodeunit = require 'nodeunit' +UglifyJS = require 'uglify-js' + +task 'build', 'build the JavaScript files from CoffeeScript source', build = (cb) -> + source = fs.readFileSync 'src/ipaddr.coffee', 'utf-8' + fs.writeFileSync 'lib/ipaddr.js', CoffeeScript.compile source.toString() + + invoke 'test' + invoke 'compress' + +task 'test', 'run the bundled tests', (cb) -> + nodeunit.reporters.default.run ['test'] + +task 'compress', 'uglify the resulting javascript', (cb) -> + source = fs.readFileSync 'lib/ipaddr.js', 'utf-8' + fs.writeFileSync('ipaddr.min.js', UglifyJS.minify(source).code) diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/LICENSE new file mode 100755 index 0000000..f6b37b5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2011-2017 whitequark <whitequark@whitequark.org> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/README.md new file mode 100755 index 0000000..6876a3b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/README.md @@ -0,0 +1,233 @@ +# ipaddr.js — an IPv6 and IPv4 address manipulation library [](https://travis-ci.org/whitequark/ipaddr.js) + +ipaddr.js is a small (1.9K minified and gzipped) library for manipulating +IP addresses in JavaScript environments. It runs on both CommonJS runtimes +(e.g. [nodejs]) and in a web browser. + +ipaddr.js allows you to verify and parse string representation of an IP +address, match it against a CIDR range or range list, determine if it falls +into some reserved ranges (examples include loopback and private ranges), +and convert between IPv4 and IPv4-mapped IPv6 addresses. + +[nodejs]: http://nodejs.org + +## Installation + +`npm install ipaddr.js` + +or + +`bower install ipaddr.js` + +## API + +ipaddr.js defines one object in the global scope: `ipaddr`. In CommonJS, +it is exported from the module: + +```js +var ipaddr = require('ipaddr.js'); +``` + +The API consists of several global methods and two classes: ipaddr.IPv6 and ipaddr.IPv4. + +### Global methods + +There are three global methods defined: `ipaddr.isValid`, `ipaddr.parse` and +`ipaddr.process`. All of them receive a string as a single parameter. + +The `ipaddr.isValid` method returns `true` if the address is a valid IPv4 or +IPv6 address, and `false` otherwise. It does not throw any exceptions. + +The `ipaddr.parse` method returns an object representing the IP address, +or throws an `Error` if the passed string is not a valid representation of an +IP address. + +The `ipaddr.process` method works just like the `ipaddr.parse` one, but it +automatically converts IPv4-mapped IPv6 addresses to their IPv4 counterparts +before returning. It is useful when you have a Node.js instance listening +on an IPv6 socket, and the `net.ivp6.bindv6only` sysctl parameter (or its +equivalent on non-Linux OS) is set to 0. In this case, you can accept IPv4 +connections on your IPv6-only socket, but the remote address will be mangled. +Use `ipaddr.process` method to automatically demangle it. + +### Object representation + +Parsing methods return an object which descends from `ipaddr.IPv6` or +`ipaddr.IPv4`. These objects share some properties, but most of them differ. + +#### Shared properties + +One can determine the type of address by calling `addr.kind()`. It will return +either `"ipv6"` or `"ipv4"`. + +An address can be converted back to its string representation with `addr.toString()`. +Note that this method: + * does not return the original string used to create the object (in fact, there is + no way of getting that string) + * returns a compact representation (when it is applicable) + +A `match(range, bits)` method can be used to check if the address falls into a +certain CIDR range. +Note that an address can be (obviously) matched only against an address of the same type. + +For example: + +```js +var addr = ipaddr.parse("2001:db8:1234::1"); +var range = ipaddr.parse("2001:db8::"); + +addr.match(range, 32); // => true +``` + +Alternatively, `match` can also be called as `match([range, bits])`. In this way, +it can be used together with the `parseCIDR(string)` method, which parses an IP +address together with a CIDR range. + +For example: + +```js +var addr = ipaddr.parse("2001:db8:1234::1"); + +addr.match(ipaddr.parseCIDR("2001:db8::/32")); // => true +``` + +A `range()` method returns one of predefined names for several special ranges defined +by IP protocols. The exact names (and their respective CIDR ranges) can be looked up +in the source: [IPv6 ranges] and [IPv4 ranges]. Some common ones include `"unicast"` +(the default one) and `"reserved"`. + +You can match against your own range list by using +`ipaddr.subnetMatch(address, rangeList, defaultName)` method. It can work with a mix of IPv6 or IPv4 addresses, and accepts a name-to-subnet map as the range list. For example: + +```js +var rangeList = { + documentationOnly: [ ipaddr.parse('2001:db8::'), 32 ], + tunnelProviders: [ + [ ipaddr.parse('2001:470::'), 32 ], // he.net + [ ipaddr.parse('2001:5c0::'), 32 ] // freenet6 + ] +}; +ipaddr.subnetMatch(ipaddr.parse('2001:470:8:66::1'), rangeList, 'unknown'); // => "tunnelProviders" +``` + +The addresses can be converted to their byte representation with `toByteArray()`. +(Actually, JavaScript mostly does not know about byte buffers. They are emulated with +arrays of numbers, each in range of 0..255.) + +```js +var bytes = ipaddr.parse('2a00:1450:8007::68').toByteArray(); // ipv6.google.com +bytes // => [42, 0x00, 0x14, 0x50, 0x80, 0x07, 0x00, <zeroes...>, 0x00, 0x68 ] +``` + +The `ipaddr.IPv4` and `ipaddr.IPv6` objects have some methods defined, too. All of them +have the same interface for both protocols, and are similar to global methods. + +`ipaddr.IPvX.isValid(string)` can be used to check if the string is a valid address +for particular protocol, and `ipaddr.IPvX.parse(string)` is the error-throwing parser. + +`ipaddr.IPvX.isValid(string)` uses the same format for parsing as the POSIX `inet_ntoa` function, which accepts unusual formats like `0xc0.168.1.1` or `0x10000000`. The function `ipaddr.IPv4.isValidFourPartDecimal(string)` validates the IPv4 address and also ensures that it is written in four-part decimal format. + +[IPv6 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L186 +[IPv4 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L71 + +#### IPv6 properties + +Sometimes you will want to convert IPv6 not to a compact string representation (with +the `::` substitution); the `toNormalizedString()` method will return an address where +all zeroes are explicit. + +For example: + +```js +var addr = ipaddr.parse("2001:0db8::0001"); +addr.toString(); // => "2001:db8::1" +addr.toNormalizedString(); // => "2001:db8:0:0:0:0:0:1" +``` + +The `isIPv4MappedAddress()` method will return `true` if this address is an IPv4-mapped +one, and `toIPv4Address()` will return an IPv4 object address. + +To access the underlying binary representation of the address, use `addr.parts`. + +```js +var addr = ipaddr.parse("2001:db8:10::1234:DEAD"); +addr.parts // => [0x2001, 0xdb8, 0x10, 0, 0, 0, 0x1234, 0xdead] +``` + +A IPv6 zone index can be accessed via `addr.zoneId`: + +```js +var addr = ipaddr.parse("2001:db8::%eth0"); +addr.zoneId // => 'eth0' +``` + +#### IPv4 properties + +`toIPv4MappedAddress()` will return a corresponding IPv4-mapped IPv6 address. + +To access the underlying representation of the address, use `addr.octets`. + +```js +var addr = ipaddr.parse("192.168.1.1"); +addr.octets // => [192, 168, 1, 1] +``` + +`prefixLengthFromSubnetMask()` will return a CIDR prefix length for a valid IPv4 netmask or +false if the netmask is not valid. + +```js +ipaddr.IPv4.parse('255.255.255.240').prefixLengthFromSubnetMask() == 28 +ipaddr.IPv4.parse('255.192.164.0').prefixLengthFromSubnetMask() == null +``` + +`subnetMaskFromPrefixLength()` will return an IPv4 netmask for a valid CIDR prefix length. + +```js +ipaddr.IPv4.subnetMaskFromPrefixLength(24) == "255.255.255.0" +ipaddr.IPv4.subnetMaskFromPrefixLength(29) == "255.255.255.248" +``` + +`broadcastAddressFromCIDR()` will return the broadcast address for a given IPv4 interface and netmask in CIDR notation. +```js +ipaddr.IPv4.broadcastAddressFromCIDR("172.0.0.1/24") == "172.0.0.255" +``` +`networkAddressFromCIDR()` will return the network address for a given IPv4 interface and netmask in CIDR notation. +```js +ipaddr.IPv4.networkAddressFromCIDR("172.0.0.1/24") == "172.0.0.0" +``` + +#### Conversion + +IPv4 and IPv6 can be converted bidirectionally to and from network byte order (MSB) byte arrays. + +The `fromByteArray()` method will take an array and create an appropriate IPv4 or IPv6 object +if the input satisfies the requirements. For IPv4 it has to be an array of four 8-bit values, +while for IPv6 it has to be an array of sixteen 8-bit values. + +For example: +```js +var addr = ipaddr.fromByteArray([0x7f, 0, 0, 1]); +addr.toString(); // => "127.0.0.1" +``` + +or + +```js +var addr = ipaddr.fromByteArray([0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]) +addr.toString(); // => "2001:db8::1" +``` + +Both objects also offer a `toByteArray()` method, which returns an array in network byte order (MSB). + +For example: +```js +var addr = ipaddr.parse("127.0.0.1"); +addr.toByteArray(); // => [0x7f, 0, 0, 1] +``` + +or + +```js +var addr = ipaddr.parse("2001:db8::1"); +addr.toByteArray(); // => [0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] +``` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/bower.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/bower.json new file mode 100755 index 0000000..96e98cd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/bower.json @@ -0,0 +1,29 @@ +{ + "name": "ipaddr.js", + "version": "1.5.2", + "homepage": "https://github.com/whitequark/ipaddr.js", + "authors": [ + "whitequark <whitequark@whitequark.org>" + ], + "description": "IP address manipulation library in JavaScript (CoffeeScript, actually)", + "main": "lib/ipaddr.js", + "moduleType": [ + "globals", + "node" + ], + "keywords": [ + "javscript", + "ip", + "address", + "ipv4", + "ipv6" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/ipaddr.min.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/ipaddr.min.js new file mode 100755 index 0000000..52f9138 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/ipaddr.min.js @@ -0,0 +1 @@ +(function(){var r,t,n,e,i,o,a,s;t={},s=this,"undefined"!=typeof module&&null!==module&&module.exports?module.exports=t:s.ipaddr=t,a=function(r,t,n,e){var i,o;if(r.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(i=0;e>0;){if((o=n-e)<0&&(o=0),r[i]>>o!=t[i]>>o)return!1;e-=n,i+=1}return!0},t.subnetMatch=function(r,t,n){var e,i,o,a,s;null==n&&(n="unicast");for(o in t)for(!(a=t[o])[0]||a[0]instanceof Array||(a=[a]),e=0,i=a.length;e<i;e++)if(s=a[e],r.kind()===s[0].kind()&&r.match.apply(r,s))return o;return n},t.IPv4=function(){function r(r){var t,n,e;if(4!==r.length)throw new Error("ipaddr: ipv4 octet count should be 4");for(t=0,n=r.length;t<n;t++)if(!(0<=(e=r[t])&&e<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=r}return r.prototype.kind=function(){return"ipv4"},r.prototype.toString=function(){return this.octets.join(".")},r.prototype.toNormalizedString=function(){return this.toString()},r.prototype.toByteArray=function(){return this.octets.slice(0)},r.prototype.match=function(r,t){var n;if(void 0===t&&(r=(n=r)[0],t=n[1]),"ipv4"!==r.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return a(this.octets,r.octets,8,t)},r.prototype.SpecialRanges={unspecified:[[new r([0,0,0,0]),8]],broadcast:[[new r([255,255,255,255]),32]],multicast:[[new r([224,0,0,0]),4]],linkLocal:[[new r([169,254,0,0]),16]],loopback:[[new r([127,0,0,0]),8]],carrierGradeNat:[[new r([100,64,0,0]),10]],private:[[new r([10,0,0,0]),8],[new r([172,16,0,0]),12],[new r([192,168,0,0]),16]],reserved:[[new r([192,0,0,0]),24],[new r([192,0,2,0]),24],[new r([192,88,99,0]),24],[new r([198,51,100,0]),24],[new r([203,0,113,0]),24],[new r([240,0,0,0]),4]]},r.prototype.range=function(){return t.subnetMatch(this,this.SpecialRanges)},r.prototype.toIPv4MappedAddress=function(){return t.IPv6.parse("::ffff:"+this.toString())},r.prototype.prefixLengthFromSubnetMask=function(){var r,t,n,e,i,o,a;for(a={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},r=0,i=!1,t=n=3;n>=0;t=n+=-1){if(!((e=this.octets[t])in a))return null;if(o=a[e],i&&0!==o)return null;8!==o&&(i=!0),r+=o}return 32-r},r}(),n="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp("^"+n+"\\."+n+"\\."+n+"\\."+n+"$","i"),longValue:new RegExp("^"+n+"$","i")},t.IPv4.parser=function(r){var t,n,i,o,a;if(n=function(r){return"0"===r[0]&&"x"!==r[1]?parseInt(r,8):parseInt(r)},t=r.match(e.fourOctet))return function(){var r,e,o,a;for(a=[],r=0,e=(o=t.slice(1,6)).length;r<e;r++)i=o[r],a.push(n(i));return a}();if(t=r.match(e.longValue)){if((a=n(t[1]))>4294967295||a<0)throw new Error("ipaddr: address outside defined range");return function(){var r,t;for(t=[],o=r=0;r<=24;o=r+=8)t.push(a>>o&255);return t}().reverse()}return null},t.IPv6=function(){function r(r,t){var n,e,i,o,a,s;if(16===r.length)for(this.parts=[],n=e=0;e<=14;n=e+=2)this.parts.push(r[n]<<8|r[n+1]);else{if(8!==r.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=r}for(i=0,o=(s=this.parts).length;i<o;i++)if(!(0<=(a=s[i])&&a<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");t&&(this.zoneId=t)}return r.prototype.kind=function(){return"ipv6"},r.prototype.toString=function(){var r,t,n,e,i,o,a,s,p;for(s=function(){var r,t,n,e;for(e=[],r=0,t=(n=this.parts).length;r<t;r++)i=n[r],e.push(i.toString(16));return e}.call(this),t=[],o=function(r){return t.push(r)},a=0,n=0,e=s.length;n<e;n++)switch(i=s[n],a){case 0:o("0"===i?"":i),a=1;break;case 1:"0"===i?a=2:o(i);break;case 2:"0"!==i&&(o(""),o(i),a=3);break;case 3:o(i)}return 2===a&&(o(""),o("")),r=t.join(":"),p="",this.zoneId&&(p="%"+this.zoneId),r+p},r.prototype.toByteArray=function(){var r,t,n,e,i;for(r=[],t=0,n=(i=this.parts).length;t<n;t++)e=i[t],r.push(e>>8),r.push(255&e);return r},r.prototype.toNormalizedString=function(){var r,t,n;return r=function(){var r,n,e,i;for(i=[],r=0,n=(e=this.parts).length;r<n;r++)t=e[r],i.push(t.toString(16));return i}.call(this).join(":"),n="",this.zoneId&&(n="%"+this.zoneId),r+n},r.prototype.match=function(r,t){var n;if(void 0===t&&(r=(n=r)[0],t=n[1]),"ipv6"!==r.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return a(this.parts,r.parts,16,t)},r.prototype.SpecialRanges={unspecified:[new r([0,0,0,0,0,0,0,0]),128],linkLocal:[new r([65152,0,0,0,0,0,0,0]),10],multicast:[new r([65280,0,0,0,0,0,0,0]),8],loopback:[new r([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new r([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new r([0,0,0,0,0,65535,0,0]),96],rfc6145:[new r([0,0,0,0,65535,0,0,0]),96],rfc6052:[new r([100,65435,0,0,0,0,0,0]),96],"6to4":[new r([8194,0,0,0,0,0,0,0]),16],teredo:[new r([8193,0,0,0,0,0,0,0]),32],reserved:[[new r([8193,3512,0,0,0,0,0,0]),32]]},r.prototype.range=function(){return t.subnetMatch(this,this.SpecialRanges)},r.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()},r.prototype.toIPv4Address=function(){var r,n,e;if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");return e=this.parts.slice(-2),r=e[0],n=e[1],new t.IPv4([r>>8,255&r,n>>8,255&n])},r.prototype.prefixLengthFromSubnetMask=function(){var r,t,n,e,i,o,a;for(a={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},r=0,i=!1,t=n=7;n>=0;t=n+=-1){if(!((e=this.parts[t])in a))return null;if(o=a[e],i&&0!==o)return null;16!==o&&(i=!0),r+=o}return 128-r},r}(),i="(?:[0-9a-f]+::?)+",o={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?(%[0-9a-z]{1,})?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+n+"\\."+n+"\\."+n+"\\."+n+"(%[0-9a-z]{1,})?$","i")},r=function(r,t){var n,e,i,a,s,p;if(r.indexOf("::")!==r.lastIndexOf("::"))return null;for((p=(r.match(o.zoneIndex)||[])[0])&&(p=p.substring(1),r=r.replace(/%.+$/,"")),n=0,e=-1;(e=r.indexOf(":",e+1))>=0;)n++;if("::"===r.substr(0,2)&&n--,"::"===r.substr(-2,2)&&n--,n>t)return null;for(s=t-n,a=":";s--;)a+="0:";return":"===(r=r.replace("::",a))[0]&&(r=r.slice(1)),":"===r[r.length-1]&&(r=r.slice(0,-1)),t=function(){var t,n,e,o;for(o=[],t=0,n=(e=r.split(":")).length;t<n;t++)i=e[t],o.push(parseInt(i,16));return o}(),{parts:t,zoneId:p}},t.IPv6.parser=function(t){var n,e,i,a,s,p,u;if(o.native.test(t))return r(t,8);if((a=t.match(o.transitional))&&(u=a[6]||"",(n=r(a[1].slice(0,-1)+u,6)).parts)){for(e=0,i=(p=[parseInt(a[2]),parseInt(a[3]),parseInt(a[4]),parseInt(a[5])]).length;e<i;e++)if(!(0<=(s=p[e])&&s<=255))return null;return n.parts.push(p[0]<<8|p[1]),n.parts.push(p[2]<<8|p[3]),{parts:n.parts,zoneId:n.zoneId}}return null},t.IPv4.isIPv4=t.IPv6.isIPv6=function(r){return null!==this.parser(r)},t.IPv4.isValid=function(r){try{return new this(this.parser(r)),!0}catch(r){return r,!1}},t.IPv4.isValidFourPartDecimal=function(r){return!(!t.IPv4.isValid(r)||!r.match(/^\d+(\.\d+){3}$/))},t.IPv6.isValid=function(r){var t;if("string"==typeof r&&-1===r.indexOf(":"))return!1;try{return t=this.parser(r),new this(t.parts,t.zoneId),!0}catch(r){return r,!1}},t.IPv4.parse=function(r){var t;if(null===(t=this.parser(r)))throw new Error("ipaddr: string is not formatted like ip address");return new this(t)},t.IPv6.parse=function(r){var t;if(null===(t=this.parser(r)).parts)throw new Error("ipaddr: string is not formatted like ip address");return new this(t.parts,t.zoneId)},t.IPv4.parseCIDR=function(r){var t,n;if((n=r.match(/^(.+)\/(\d+)$/))&&(t=parseInt(n[2]))>=0&&t<=32)return[this.parse(n[1]),t];throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},t.IPv4.subnetMaskFromPrefixLength=function(r){var t,n,e;if((r=parseInt(r))<0||r>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(e=[0,0,0,0],n=0,t=Math.floor(r/8);n<t;)e[n]=255,n++;return t<4&&(e[t]=Math.pow(2,r%8)-1<<8-r%8),new this(e)},t.IPv4.broadcastAddressFromCIDR=function(r){var t,n,e,i,o;try{for(e=(t=this.parseCIDR(r))[0].toByteArray(),o=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],n=0;n<4;)i.push(parseInt(e[n],10)|255^parseInt(o[n],10)),n++;return new this(i)}catch(r){throw r,new Error("ipaddr: the address does not have IPv4 CIDR format")}},t.IPv4.networkAddressFromCIDR=function(r){var t,n,e,i,o;try{for(e=(t=this.parseCIDR(r))[0].toByteArray(),o=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],n=0;n<4;)i.push(parseInt(e[n],10)&parseInt(o[n],10)),n++;return new this(i)}catch(r){throw r,new Error("ipaddr: the address does not have IPv4 CIDR format")}},t.IPv6.parseCIDR=function(r){var t,n;if((n=r.match(/^(.+)\/(\d+)$/))&&(t=parseInt(n[2]))>=0&&t<=128)return[this.parse(n[1]),t];throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},t.isValid=function(r){return t.IPv6.isValid(r)||t.IPv4.isValid(r)},t.parse=function(r){if(t.IPv6.isValid(r))return t.IPv6.parse(r);if(t.IPv4.isValid(r))return t.IPv4.parse(r);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},t.parseCIDR=function(r){try{return t.IPv6.parseCIDR(r)}catch(n){n;try{return t.IPv4.parseCIDR(r)}catch(r){throw r,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},t.fromByteArray=function(r){var n;if(4===(n=r.length))return new t.IPv4(r);if(16===n)return new t.IPv6(r);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},t.process=function(r){var t;return"ipv6"===(t=this.parse(r)).kind()&&t.isIPv4MappedAddress()?t.toIPv4Address():t}}).call(this); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/lib/ipaddr.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/lib/ipaddr.js new file mode 100755 index 0000000..360230b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/lib/ipaddr.js @@ -0,0 +1,678 @@ +(function() { + var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex; + + ipaddr = {}; + + root = this; + + if ((typeof module !== "undefined" && module !== null) && module.exports) { + module.exports = ipaddr; + } else { + root['ipaddr'] = ipaddr; + } + + matchCIDR = function(first, second, partSize, cidrBits) { + var part, shift; + if (first.length !== second.length) { + throw new Error("ipaddr: cannot match CIDR for objects with different lengths"); + } + part = 0; + while (cidrBits > 0) { + shift = partSize - cidrBits; + if (shift < 0) { + shift = 0; + } + if (first[part] >> shift !== second[part] >> shift) { + return false; + } + cidrBits -= partSize; + part += 1; + } + return true; + }; + + ipaddr.subnetMatch = function(address, rangeList, defaultName) { + var k, len, rangeName, rangeSubnets, subnet; + if (defaultName == null) { + defaultName = 'unicast'; + } + for (rangeName in rangeList) { + rangeSubnets = rangeList[rangeName]; + if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) { + rangeSubnets = [rangeSubnets]; + } + for (k = 0, len = rangeSubnets.length; k < len; k++) { + subnet = rangeSubnets[k]; + if (address.kind() === subnet[0].kind()) { + if (address.match.apply(address, subnet)) { + return rangeName; + } + } + } + } + return defaultName; + }; + + ipaddr.IPv4 = (function() { + function IPv4(octets) { + var k, len, octet; + if (octets.length !== 4) { + throw new Error("ipaddr: ipv4 octet count should be 4"); + } + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!((0 <= octet && octet <= 255))) { + throw new Error("ipaddr: ipv4 octet should fit in 8 bits"); + } + } + this.octets = octets; + } + + IPv4.prototype.kind = function() { + return 'ipv4'; + }; + + IPv4.prototype.toString = function() { + return this.octets.join("."); + }; + + IPv4.prototype.toNormalizedString = function() { + return this.toString(); + }; + + IPv4.prototype.toByteArray = function() { + return this.octets.slice(0); + }; + + IPv4.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== 'ipv4') { + throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one"); + } + return matchCIDR(this.octets, other.octets, 8, cidrRange); + }; + + IPv4.prototype.SpecialRanges = { + unspecified: [[new IPv4([0, 0, 0, 0]), 8]], + broadcast: [[new IPv4([255, 255, 255, 255]), 32]], + multicast: [[new IPv4([224, 0, 0, 0]), 4]], + linkLocal: [[new IPv4([169, 254, 0, 0]), 16]], + loopback: [[new IPv4([127, 0, 0, 0]), 8]], + carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]], + "private": [[new IPv4([10, 0, 0, 0]), 8], [new IPv4([172, 16, 0, 0]), 12], [new IPv4([192, 168, 0, 0]), 16]], + reserved: [[new IPv4([192, 0, 0, 0]), 24], [new IPv4([192, 0, 2, 0]), 24], [new IPv4([192, 88, 99, 0]), 24], [new IPv4([198, 51, 100, 0]), 24], [new IPv4([203, 0, 113, 0]), 24], [new IPv4([240, 0, 0, 0]), 4]] + }; + + IPv4.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + + IPv4.prototype.toIPv4MappedAddress = function() { + return ipaddr.IPv6.parse("::ffff:" + (this.toString())); + }; + + IPv4.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, octet, stop, zeros, zerotable; + zerotable = { + 0: 8, + 128: 7, + 192: 6, + 224: 5, + 240: 4, + 248: 3, + 252: 2, + 254: 1, + 255: 0 + }; + cidr = 0; + stop = false; + for (i = k = 3; k >= 0; i = k += -1) { + octet = this.octets[i]; + if (octet in zerotable) { + zeros = zerotable[octet]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 8) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 32 - cidr; + }; + + return IPv4; + + })(); + + ipv4Part = "(0?\\d+|0x[a-f0-9]+)"; + + ipv4Regexes = { + fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", 'i'), + longValue: new RegExp("^" + ipv4Part + "$", 'i') + }; + + ipaddr.IPv4.parser = function(string) { + var match, parseIntAuto, part, shift, value; + parseIntAuto = function(string) { + if (string[0] === "0" && string[1] !== "x") { + return parseInt(string, 8); + } else { + return parseInt(string); + } + }; + if (match = string.match(ipv4Regexes.fourOctet)) { + return (function() { + var k, len, ref, results; + ref = match.slice(1, 6); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseIntAuto(part)); + } + return results; + })(); + } else if (match = string.match(ipv4Regexes.longValue)) { + value = parseIntAuto(match[1]); + if (value > 0xffffffff || value < 0) { + throw new Error("ipaddr: address outside defined range"); + } + return ((function() { + var k, results; + results = []; + for (shift = k = 0; k <= 24; shift = k += 8) { + results.push((value >> shift) & 0xff); + } + return results; + })()).reverse(); + } else { + return null; + } + }; + + ipaddr.IPv6 = (function() { + function IPv6(parts, zoneId) { + var i, k, l, len, part, ref; + if (parts.length === 16) { + this.parts = []; + for (i = k = 0; k <= 14; i = k += 2) { + this.parts.push((parts[i] << 8) | parts[i + 1]); + } + } else if (parts.length === 8) { + this.parts = parts; + } else { + throw new Error("ipaddr: ipv6 part count should be 8 or 16"); + } + ref = this.parts; + for (l = 0, len = ref.length; l < len; l++) { + part = ref[l]; + if (!((0 <= part && part <= 0xffff))) { + throw new Error("ipaddr: ipv6 part should fit in 16 bits"); + } + } + if (zoneId) { + this.zoneId = zoneId; + } + } + + IPv6.prototype.kind = function() { + return 'ipv6'; + }; + + IPv6.prototype.toString = function() { + var addr, compactStringParts, k, len, part, pushPart, state, stringParts, suffix; + stringParts = (function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16)); + } + return results; + }).call(this); + compactStringParts = []; + pushPart = function(part) { + return compactStringParts.push(part); + }; + state = 0; + for (k = 0, len = stringParts.length; k < len; k++) { + part = stringParts[k]; + switch (state) { + case 0: + if (part === '0') { + pushPart(''); + } else { + pushPart(part); + } + state = 1; + break; + case 1: + if (part === '0') { + state = 2; + } else { + pushPart(part); + } + break; + case 2: + if (part !== '0') { + pushPart(''); + pushPart(part); + state = 3; + } + break; + case 3: + pushPart(part); + } + } + if (state === 2) { + pushPart(''); + pushPart(''); + } + addr = compactStringParts.join(":"); + suffix = ''; + if (this.zoneId) { + suffix = '%' + this.zoneId; + } + return addr + suffix; + }; + + IPv6.prototype.toByteArray = function() { + var bytes, k, len, part, ref; + bytes = []; + ref = this.parts; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + bytes.push(part >> 8); + bytes.push(part & 0xff); + } + return bytes; + }; + + IPv6.prototype.toNormalizedString = function() { + var addr, part, suffix; + addr = ((function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16)); + } + return results; + }).call(this)).join(":"); + suffix = ''; + if (this.zoneId) { + suffix = '%' + this.zoneId; + } + return addr + suffix; + }; + + IPv6.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== 'ipv6') { + throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one"); + } + return matchCIDR(this.parts, other.parts, 16, cidrRange); + }; + + IPv6.prototype.SpecialRanges = { + unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128], + linkLocal: [new IPv6([0xfe80, 0, 0, 0, 0, 0, 0, 0]), 10], + multicast: [new IPv6([0xff00, 0, 0, 0, 0, 0, 0, 0]), 8], + loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128], + uniqueLocal: [new IPv6([0xfc00, 0, 0, 0, 0, 0, 0, 0]), 7], + ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 0xffff, 0, 0]), 96], + rfc6145: [new IPv6([0, 0, 0, 0, 0xffff, 0, 0, 0]), 96], + rfc6052: [new IPv6([0x64, 0xff9b, 0, 0, 0, 0, 0, 0]), 96], + '6to4': [new IPv6([0x2002, 0, 0, 0, 0, 0, 0, 0]), 16], + teredo: [new IPv6([0x2001, 0, 0, 0, 0, 0, 0, 0]), 32], + reserved: [[new IPv6([0x2001, 0xdb8, 0, 0, 0, 0, 0, 0]), 32]] + }; + + IPv6.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + + IPv6.prototype.isIPv4MappedAddress = function() { + return this.range() === 'ipv4Mapped'; + }; + + IPv6.prototype.toIPv4Address = function() { + var high, low, ref; + if (!this.isIPv4MappedAddress()) { + throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4"); + } + ref = this.parts.slice(-2), high = ref[0], low = ref[1]; + return new ipaddr.IPv4([high >> 8, high & 0xff, low >> 8, low & 0xff]); + }; + + IPv6.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, part, stop, zeros, zerotable; + zerotable = { + 0: 16, + 32768: 15, + 49152: 14, + 57344: 13, + 61440: 12, + 63488: 11, + 64512: 10, + 65024: 9, + 65280: 8, + 65408: 7, + 65472: 6, + 65504: 5, + 65520: 4, + 65528: 3, + 65532: 2, + 65534: 1, + 65535: 0 + }; + cidr = 0; + stop = false; + for (i = k = 7; k >= 0; i = k += -1) { + part = this.parts[i]; + if (part in zerotable) { + zeros = zerotable[part]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 16) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 128 - cidr; + }; + + return IPv6; + + })(); + + ipv6Part = "(?:[0-9a-f]+::?)+"; + + zoneIndex = "%[0-9a-z]{1,}"; + + ipv6Regexes = { + zoneIndex: new RegExp(zoneIndex, 'i'), + "native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", 'i'), + transitional: new RegExp(("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)") + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), 'i') + }; + + expandIPv6 = function(string, parts) { + var colonCount, lastColon, part, replacement, replacementCount, zoneId; + if (string.indexOf('::') !== string.lastIndexOf('::')) { + return null; + } + zoneId = (string.match(ipv6Regexes['zoneIndex']) || [])[0]; + if (zoneId) { + zoneId = zoneId.substring(1); + string = string.replace(/%.+$/, ''); + } + colonCount = 0; + lastColon = -1; + while ((lastColon = string.indexOf(':', lastColon + 1)) >= 0) { + colonCount++; + } + if (string.substr(0, 2) === '::') { + colonCount--; + } + if (string.substr(-2, 2) === '::') { + colonCount--; + } + if (colonCount > parts) { + return null; + } + replacementCount = parts - colonCount; + replacement = ':'; + while (replacementCount--) { + replacement += '0:'; + } + string = string.replace('::', replacement); + if (string[0] === ':') { + string = string.slice(1); + } + if (string[string.length - 1] === ':') { + string = string.slice(0, -1); + } + parts = (function() { + var k, len, ref, results; + ref = string.split(":"); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseInt(part, 16)); + } + return results; + })(); + return { + parts: parts, + zoneId: zoneId + }; + }; + + ipaddr.IPv6.parser = function(string) { + var addr, k, len, match, octet, octets, zoneId; + if (ipv6Regexes['native'].test(string)) { + return expandIPv6(string, 8); + } else if (match = string.match(ipv6Regexes['transitional'])) { + zoneId = match[6] || ''; + addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6); + if (addr.parts) { + octets = [parseInt(match[2]), parseInt(match[3]), parseInt(match[4]), parseInt(match[5])]; + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!((0 <= octet && octet <= 255))) { + return null; + } + } + addr.parts.push(octets[0] << 8 | octets[1]); + addr.parts.push(octets[2] << 8 | octets[3]); + return { + parts: addr.parts, + zoneId: addr.zoneId + }; + } + } + return null; + }; + + ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = function(string) { + return this.parser(string) !== null; + }; + + ipaddr.IPv4.isValid = function(string) { + var e; + try { + new this(this.parser(string)); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + + ipaddr.IPv4.isValidFourPartDecimal = function(string) { + if (ipaddr.IPv4.isValid(string) && string.match(/^\d+(\.\d+){3}$/)) { + return true; + } else { + return false; + } + }; + + ipaddr.IPv6.isValid = function(string) { + var addr, e; + if (typeof string === "string" && string.indexOf(":") === -1) { + return false; + } + try { + addr = this.parser(string); + new this(addr.parts, addr.zoneId); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + + ipaddr.IPv4.parse = function(string) { + var parts; + parts = this.parser(string); + if (parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(parts); + }; + + ipaddr.IPv6.parse = function(string) { + var addr; + addr = this.parser(string); + if (addr.parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(addr.parts, addr.zoneId); + }; + + ipaddr.IPv4.parseCIDR = function(string) { + var maskLength, match; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 32) { + return [this.parse(match[1]), maskLength]; + } + } + throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range"); + }; + + ipaddr.IPv4.subnetMaskFromPrefixLength = function(prefix) { + var filledOctetCount, j, octets; + prefix = parseInt(prefix); + if (prefix < 0 || prefix > 32) { + throw new Error('ipaddr: invalid IPv4 prefix length'); + } + octets = [0, 0, 0, 0]; + j = 0; + filledOctetCount = Math.floor(prefix / 8); + while (j < filledOctetCount) { + octets[j] = 255; + j++; + } + if (filledOctetCount < 4) { + octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - (prefix % 8); + } + return new this(octets); + }; + + ipaddr.IPv4.broadcastAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error('ipaddr: the address does not have IPv4 CIDR format'); + } + }; + + ipaddr.IPv4.networkAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10)); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error('ipaddr: the address does not have IPv4 CIDR format'); + } + }; + + ipaddr.IPv6.parseCIDR = function(string) { + var maskLength, match; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 128) { + return [this.parse(match[1]), maskLength]; + } + } + throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range"); + }; + + ipaddr.isValid = function(string) { + return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string); + }; + + ipaddr.parse = function(string) { + if (ipaddr.IPv6.isValid(string)) { + return ipaddr.IPv6.parse(string); + } else if (ipaddr.IPv4.isValid(string)) { + return ipaddr.IPv4.parse(string); + } else { + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format"); + } + }; + + ipaddr.parseCIDR = function(string) { + var e; + try { + return ipaddr.IPv6.parseCIDR(string); + } catch (error1) { + e = error1; + try { + return ipaddr.IPv4.parseCIDR(string); + } catch (error1) { + e = error1; + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format"); + } + } + }; + + ipaddr.fromByteArray = function(bytes) { + var length; + length = bytes.length; + if (length === 4) { + return new ipaddr.IPv4(bytes); + } else if (length === 16) { + return new ipaddr.IPv6(bytes); + } else { + throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address"); + } + }; + + ipaddr.process = function(string) { + var addr; + addr = this.parse(string); + if (addr.kind() === 'ipv6' && addr.isIPv4MappedAddress()) { + return addr.toIPv4Address(); + } else { + return addr; + } + }; + +}).call(this); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/package.json new file mode 100755 index 0000000..38760ac --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/package.json @@ -0,0 +1,97 @@ +{ + "_args": [ + [ + { + "raw": "ipaddr.js@1.5.2", + "scope": null, + "escapedName": "ipaddr.js", + "name": "ipaddr.js", + "rawSpec": "1.5.2", + "spec": "1.5.2", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\proxy-addr" + ] + ], + "_from": "ipaddr.js@1.5.2", + "_id": "ipaddr.js@1.5.2", + "_inCache": true, + "_location": "/ipaddr.js", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/ipaddr.js-1.5.2.tgz_1503546462209_0.10381372715346515" + }, + "_npmUser": { + "name": "whitequark", + "email": "whitequark@whitequark.org" + }, + "_npmVersion": "1.4.21", + "_phantomChildren": {}, + "_requested": { + "raw": "ipaddr.js@1.5.2", + "scope": null, + "escapedName": "ipaddr.js", + "name": "ipaddr.js", + "rawSpec": "1.5.2", + "spec": "1.5.2", + "type": "version" + }, + "_requiredBy": [ + "/proxy-addr" + ], + "_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", + "_shasum": "d4b505bde9946987ccf0fc58d9010ff9607e3fa0", + "_shrinkwrap": null, + "_spec": "ipaddr.js@1.5.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\proxy-addr", + "author": { + "name": "whitequark", + "email": "whitequark@whitequark.org" + }, + "bugs": { + "url": "https://github.com/whitequark/ipaddr.js/issues" + }, + "dependencies": {}, + "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", + "devDependencies": { + "coffee-script": "~1.12.6", + "nodeunit": ">=0.8.2 <0.8.7", + "uglify-js": "~3.0.19" + }, + "directories": { + "lib": "./lib" + }, + "dist": { + "shasum": "d4b505bde9946987ccf0fc58d9010ff9607e3fa0", + "tarball": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz" + }, + "engines": { + "node": ">= 0.10" + }, + "gitHead": "8f6e21058792cf6e38c6f461219fb25f0caecf27", + "homepage": "https://github.com/whitequark/ipaddr.js#readme", + "keywords": [ + "ip", + "ipv4", + "ipv6" + ], + "license": "MIT", + "main": "./lib/ipaddr", + "maintainers": [ + { + "name": "whitequark", + "email": "whitequark@whitequark.org" + } + ], + "name": "ipaddr.js", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/whitequark/ipaddr.js.git" + }, + "scripts": { + "test": "cake build test" + }, + "version": "1.5.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/src/ipaddr.coffee b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/src/ipaddr.coffee new file mode 100755 index 0000000..6d7236e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/src/ipaddr.coffee @@ -0,0 +1,591 @@ +# Define the main object +ipaddr = {} + +root = this + +# Export for both the CommonJS and browser-like environment +if module? && module.exports + module.exports = ipaddr +else + root['ipaddr'] = ipaddr + +# A generic CIDR (Classless Inter-Domain Routing) RFC1518 range matcher. +matchCIDR = (first, second, partSize, cidrBits) -> + if first.length != second.length + throw new Error "ipaddr: cannot match CIDR for objects with different lengths" + + part = 0 + while cidrBits > 0 + shift = partSize - cidrBits + shift = 0 if shift < 0 + + if first[part] >> shift != second[part] >> shift + return false + + cidrBits -= partSize + part += 1 + + return true + +# An utility function to ease named range matching. See examples below. +# rangeList can contain both IPv4 and IPv6 subnet entries and will not throw errors +# on matching IPv4 addresses to IPv6 ranges or vice versa. +ipaddr.subnetMatch = (address, rangeList, defaultName='unicast') -> + for rangeName, rangeSubnets of rangeList + # ECMA5 Array.isArray isn't available everywhere + if rangeSubnets[0] && !(rangeSubnets[0] instanceof Array) + rangeSubnets = [ rangeSubnets ] + + for subnet in rangeSubnets + if address.kind() == subnet[0].kind() + if address.match.apply(address, subnet) + return rangeName + + return defaultName + +# An IPv4 address (RFC791). +class ipaddr.IPv4 + # Constructs a new IPv4 address from an array of four octets + # in network order (MSB first) + # Verifies the input. + constructor: (octets) -> + if octets.length != 4 + throw new Error "ipaddr: ipv4 octet count should be 4" + + for octet in octets + if !(0 <= octet <= 255) + throw new Error "ipaddr: ipv4 octet should fit in 8 bits" + + @octets = octets + + # The 'kind' method exists on both IPv4 and IPv6 classes. + kind: -> + return 'ipv4' + + # Returns the address in convenient, decimal-dotted format. + toString: -> + return @octets.join "." + + # Symmetrical method strictly for aligning with the IPv6 methods. + toNormalizedString: -> + return this.toString() + + # Returns an array of byte-sized values in network order (MSB first) + toByteArray: -> + return @octets.slice(0) # octets.clone + + # Checks if this address matches other one within given CIDR range. + match: (other, cidrRange) -> + if cidrRange == undefined + [other, cidrRange] = other + + if other.kind() != 'ipv4' + throw new Error "ipaddr: cannot match ipv4 address with non-ipv4 one" + + return matchCIDR(this.octets, other.octets, 8, cidrRange) + + # Special IPv4 address ranges. + # See also https://en.wikipedia.org/wiki/Reserved_IP_addresses + SpecialRanges: + unspecified: [ + [ new IPv4([0, 0, 0, 0]), 8 ] + ] + broadcast: [ + [ new IPv4([255, 255, 255, 255]), 32 ] + ] + multicast: [ # RFC3171 + [ new IPv4([224, 0, 0, 0]), 4 ] + ] + linkLocal: [ # RFC3927 + [ new IPv4([169, 254, 0, 0]), 16 ] + ] + loopback: [ # RFC5735 + [ new IPv4([127, 0, 0, 0]), 8 ] + ] + carrierGradeNat: [ # RFC6598 + [ new IPv4([100, 64, 0, 0]), 10 ] + ] + private: [ # RFC1918 + [ new IPv4([10, 0, 0, 0]), 8 ] + [ new IPv4([172, 16, 0, 0]), 12 ] + [ new IPv4([192, 168, 0, 0]), 16 ] + ] + reserved: [ # Reserved and testing-only ranges; RFCs 5735, 5737, 2544, 1700 + [ new IPv4([192, 0, 0, 0]), 24 ] + [ new IPv4([192, 0, 2, 0]), 24 ] + [ new IPv4([192, 88, 99, 0]), 24 ] + [ new IPv4([198, 51, 100, 0]), 24 ] + [ new IPv4([203, 0, 113, 0]), 24 ] + [ new IPv4([240, 0, 0, 0]), 4 ] + ] + + # Checks if the address corresponds to one of the special ranges. + range: -> + return ipaddr.subnetMatch(this, @SpecialRanges) + + # Convrets this IPv4 address to an IPv4-mapped IPv6 address. + toIPv4MappedAddress: -> + return ipaddr.IPv6.parse "::ffff:#{@toString()}" + + # returns a number of leading ones in IPv4 address, making sure that + # the rest is a solid sequence of 0's (valid netmask) + # returns either the CIDR length or null if mask is not valid + prefixLengthFromSubnetMask: -> + # number of zeroes in octet + zerotable = + 0: 8 + 128: 7 + 192: 6 + 224: 5 + 240: 4 + 248: 3 + 252: 2 + 254: 1 + 255: 0 + + cidr = 0 + # non-zero encountered stop scanning for zeroes + stop = false + for i in [3..0] by -1 + octet = @octets[i] + if octet of zerotable + zeros = zerotable[octet] + if stop and zeros != 0 + return null + unless zeros == 8 + stop = true + cidr += zeros + else + return null + return 32 - cidr + +# A list of regular expressions that match arbitrary IPv4 addresses, +# for which a number of weird notations exist. +# Note that an address like 0010.0xa5.1.1 is considered legal. +ipv4Part = "(0?\\d+|0x[a-f0-9]+)" +ipv4Regexes = + fourOctet: new RegExp "^#{ipv4Part}\\.#{ipv4Part}\\.#{ipv4Part}\\.#{ipv4Part}$", 'i' + longValue: new RegExp "^#{ipv4Part}$", 'i' + +# Classful variants (like a.b, where a is an octet, and b is a 24-bit +# value representing last three octets; this corresponds to a class C +# address) are omitted due to classless nature of modern Internet. +ipaddr.IPv4.parser = (string) -> + parseIntAuto = (string) -> + if string[0] == "0" && string[1] != "x" + parseInt(string, 8) + else + parseInt(string) + + # parseInt recognizes all that octal & hexadecimal weirdness for us + if match = string.match(ipv4Regexes.fourOctet) + return (parseIntAuto(part) for part in match[1..5]) + else if match = string.match(ipv4Regexes.longValue) + value = parseIntAuto(match[1]) + if value > 0xffffffff || value < 0 + throw new Error "ipaddr: address outside defined range" + return ((value >> shift) & 0xff for shift in [0..24] by 8).reverse() + else + return null + +# An IPv6 address (RFC2460) +class ipaddr.IPv6 + # Constructs an IPv6 address from an array of eight 16-bit parts + # or sixteen 8-bit parts in network order (MSB first). + # Throws an error if the input is invalid. + constructor: (parts, zoneId) -> + if parts.length == 16 + @parts = [] + for i in [0..14] by 2 + @parts.push((parts[i] << 8) | parts[i + 1]) + else if parts.length == 8 + @parts = parts + else + throw new Error "ipaddr: ipv6 part count should be 8 or 16" + + for part in @parts + if !(0 <= part <= 0xffff) + throw new Error "ipaddr: ipv6 part should fit in 16 bits" + + if zoneId + @zoneId = zoneId + + # The 'kind' method exists on both IPv4 and IPv6 classes. + kind: -> + return 'ipv6' + + # Returns the address in compact, human-readable format like + # 2001:db8:8:66::1 + toString: -> + stringParts = (part.toString(16) for part in @parts) + + compactStringParts = [] + pushPart = (part) -> compactStringParts.push part + + state = 0 + for part in stringParts + switch state + when 0 + if part == '0' + pushPart('') + else + pushPart(part) + + state = 1 + when 1 + if part == '0' + state = 2 + else + pushPart(part) + when 2 + unless part == '0' + pushPart('') + pushPart(part) + state = 3 + when 3 + pushPart(part) + + if state == 2 + pushPart('') + pushPart('') + + addr = compactStringParts.join ":" + + suffix = '' + if @zoneId + suffix = '%' + @zoneId + + return addr + suffix + + # Returns an array of byte-sized values in network order (MSB first) + toByteArray: -> + bytes = [] + for part in @parts + bytes.push(part >> 8) + bytes.push(part & 0xff) + + return bytes + + # Returns the address in expanded format with all zeroes included, like + # 2001:db8:8:66:0:0:0:1 + toNormalizedString: -> + addr = (part.toString(16) for part in @parts).join ":" + + suffix = '' + if @zoneId + suffix = '%' + @zoneId + + return addr + suffix + + # Checks if this address matches other one within given CIDR range. + match: (other, cidrRange) -> + if cidrRange == undefined + [other, cidrRange] = other + + if other.kind() != 'ipv6' + throw new Error "ipaddr: cannot match ipv6 address with non-ipv6 one" + + return matchCIDR(this.parts, other.parts, 16, cidrRange) + + # Special IPv6 ranges + SpecialRanges: + unspecified: [ new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128 ] # RFC4291, here and after + linkLocal: [ new IPv6([0xfe80, 0, 0, 0, 0, 0, 0, 0]), 10 ] + multicast: [ new IPv6([0xff00, 0, 0, 0, 0, 0, 0, 0]), 8 ] + loopback: [ new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128 ] + uniqueLocal: [ new IPv6([0xfc00, 0, 0, 0, 0, 0, 0, 0]), 7 ] + ipv4Mapped: [ new IPv6([0, 0, 0, 0, 0, 0xffff, 0, 0]), 96 ] + rfc6145: [ new IPv6([0, 0, 0, 0, 0xffff, 0, 0, 0]), 96 ] # RFC6145 + rfc6052: [ new IPv6([0x64, 0xff9b, 0, 0, 0, 0, 0, 0]), 96 ] # RFC6052 + '6to4': [ new IPv6([0x2002, 0, 0, 0, 0, 0, 0, 0]), 16 ] # RFC3056 + teredo: [ new IPv6([0x2001, 0, 0, 0, 0, 0, 0, 0]), 32 ] # RFC6052, RFC6146 + reserved: [ + [ new IPv6([ 0x2001, 0xdb8, 0, 0, 0, 0, 0, 0]), 32 ] # RFC4291 + ] + + # Checks if the address corresponds to one of the special ranges. + range: -> + return ipaddr.subnetMatch(this, @SpecialRanges) + + # Checks if this address is an IPv4-mapped IPv6 address. + isIPv4MappedAddress: -> + return @range() == 'ipv4Mapped' + + # Converts this address to IPv4 address if it is an IPv4-mapped IPv6 address. + # Throws an error otherwise. + toIPv4Address: -> + unless @isIPv4MappedAddress() + throw new Error "ipaddr: trying to convert a generic ipv6 address to ipv4" + + [high, low] = @parts[-2..-1] + + return new ipaddr.IPv4([high >> 8, high & 0xff, low >> 8, low & 0xff]) + + # returns a number of leading ones in IPv6 address, making sure that + # the rest is a solid sequence of 0's (valid netmask) + # returns either the CIDR length or null if mask is not valid + prefixLengthFromSubnetMask: -> + # number of zeroes in octet + zerotable = + 0 : 16 + 32768: 15 + 49152: 14 + 57344: 13 + 61440: 12 + 63488: 11 + 64512: 10 + 65024: 9 + 65280: 8 + 65408: 7 + 65472: 6 + 65504: 5 + 65520: 4 + 65528: 3 + 65532: 2 + 65534: 1 + 65535: 0 + + cidr = 0 + # non-zero encountered stop scanning for zeroes + stop = false + for i in [7..0] by -1 + part = @parts[i] + if part of zerotable + zeros = zerotable[part] + if stop and zeros != 0 + return null + unless zeros == 16 + stop = true + cidr += zeros + else + return null + return 128 - cidr + +# IPv6-matching regular expressions. +# For IPv6, the task is simpler: it is enough to match the colon-delimited +# hexadecimal IPv6 and a transitional variant with dotted-decimal IPv4 at +# the end. +ipv6Part = "(?:[0-9a-f]+::?)+" +zoneIndex = "%[0-9a-z]{1,}" +ipv6Regexes = + zoneIndex: new RegExp zoneIndex, 'i' + native: new RegExp "^(::)?(#{ipv6Part})?([0-9a-f]+)?(::)?(#{zoneIndex})?$", 'i' + transitional: new RegExp "^((?:#{ipv6Part})|(?:::)(?:#{ipv6Part})?)" + + "#{ipv4Part}\\.#{ipv4Part}\\.#{ipv4Part}\\.#{ipv4Part}" + + "(#{zoneIndex})?$", 'i' + +# Expand :: in an IPv6 address or address part consisting of `parts` groups. +expandIPv6 = (string, parts) -> + # More than one '::' means invalid adddress + if string.indexOf('::') != string.lastIndexOf('::') + return null + + # Remove zone index and save it for later + zoneId = (string.match(ipv6Regexes['zoneIndex']) || [])[0] + if zoneId + zoneId = zoneId.substring(1) + string = string.replace(/%.+$/, '') + + # How many parts do we already have? + colonCount = 0 + lastColon = -1 + while (lastColon = string.indexOf(':', lastColon + 1)) >= 0 + colonCount++ + + # 0::0 is two parts more than :: + colonCount-- if string.substr(0, 2) == '::' + colonCount-- if string.substr(-2, 2) == '::' + + # The following loop would hang if colonCount > parts + if colonCount > parts + return null + + # replacement = ':' + '0:' * (parts - colonCount) + replacementCount = parts - colonCount + replacement = ':' + while replacementCount-- + replacement += '0:' + + # Insert the missing zeroes + string = string.replace('::', replacement) + + # Trim any garbage which may be hanging around if :: was at the edge in + # the source string + string = string[1..-1] if string[0] == ':' + string = string[0..-2] if string[string.length-1] == ':' + + parts = (parseInt(part, 16) for part in string.split(":")) + return { parts: parts, zoneId: zoneId } + +# Parse an IPv6 address. +ipaddr.IPv6.parser = (string) -> + if ipv6Regexes['native'].test(string) + return expandIPv6(string, 8) + + else if match = string.match(ipv6Regexes['transitional']) + zoneId = match[6] || '' + addr = expandIPv6(match[1][0..-2] + zoneId, 6) + if addr.parts + octets = [parseInt(match[2]), parseInt(match[3]), + parseInt(match[4]), parseInt(match[5])] + for octet in octets + if !(0 <= octet <= 255) + return null + + addr.parts.push(octets[0] << 8 | octets[1]) + addr.parts.push(octets[2] << 8 | octets[3]) + return { parts: addr.parts, zoneId: addr.zoneId } + + return null + +# Checks if a given string is formatted like IPv4/IPv6 address. +ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = (string) -> + return @parser(string) != null + +# Checks if a given string is a valid IPv4/IPv6 address. +ipaddr.IPv4.isValid = (string) -> + try + new this(@parser(string)) + return true + catch e + return false + +ipaddr.IPv4.isValidFourPartDecimal = (string) -> + if ipaddr.IPv4.isValid(string) and string.match(/^\d+(\.\d+){3}$/) + return true + else + return false + +ipaddr.IPv6.isValid = (string) -> + # Since IPv6.isValid is always called first, this shortcut + # provides a substantial performance gain. + if typeof string == "string" and string.indexOf(":") == -1 + return false + + try + addr = @parser(string) + new this(addr.parts, addr.zoneId) + return true + catch e + return false + +# Tries to parse and validate a string with IPv4/IPv6 address. +# Throws an error if it fails. +ipaddr.IPv4.parse = (string) -> + parts = @parser(string) + if parts == null + throw new Error "ipaddr: string is not formatted like ip address" + + return new this(parts) + +ipaddr.IPv6.parse = (string) -> + addr = @parser(string) + if addr.parts == null + throw new Error "ipaddr: string is not formatted like ip address" + + return new this(addr.parts, addr.zoneId) + +ipaddr.IPv4.parseCIDR = (string) -> + if match = string.match(/^(.+)\/(\d+)$/) + maskLength = parseInt(match[2]) + if maskLength >= 0 and maskLength <= 32 + return [@parse(match[1]), maskLength] + + throw new Error "ipaddr: string is not formatted like an IPv4 CIDR range" + +# A utility function to return subnet mask in IPv4 format given the prefix length +ipaddr.IPv4.subnetMaskFromPrefixLength = (prefix) -> + prefix = parseInt(prefix) + if prefix < 0 or prefix > 32 + throw new Error('ipaddr: invalid IPv4 prefix length') + octets = [0, 0, 0, 0] + j = 0 + filledOctetCount = Math.floor(prefix / 8) + while j < filledOctetCount + octets[j] = 255 + j++ + if filledOctetCount < 4 + octets[filledOctetCount] = Math.pow(2, (prefix % 8)) - 1 << 8 - (prefix % 8) + new @(octets) + +# A utility function to return broadcast address given the IPv4 interface and prefix length in CIDR notation +ipaddr.IPv4.broadcastAddressFromCIDR = (string) -> + try + cidr = @parseCIDR(string) + ipInterfaceOctets = cidr[0].toByteArray() + subnetMaskOctets = @subnetMaskFromPrefixLength(cidr[1]).toByteArray() + octets = [] + i = 0 + while i < 4 + # Broadcast address is bitwise OR between ip interface and inverted mask + octets.push parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255 + i++ + return new @(octets) + catch error + throw new Error('ipaddr: the address does not have IPv4 CIDR format') + return + +# A utility function to return network address given the IPv4 interface and prefix length in CIDR notation +ipaddr.IPv4.networkAddressFromCIDR = (string) -> + try + cidr = @parseCIDR(string) + ipInterfaceOctets = cidr[0].toByteArray() + subnetMaskOctets = @subnetMaskFromPrefixLength(cidr[1]).toByteArray() + octets = [] + i = 0 + while i < 4 + # Network address is bitwise AND between ip interface and mask + octets.push parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10) + i++ + return new @(octets) + catch error + throw new Error('ipaddr: the address does not have IPv4 CIDR format') + return + +ipaddr.IPv6.parseCIDR = (string) -> + if match = string.match(/^(.+)\/(\d+)$/) + maskLength = parseInt(match[2]) + if maskLength >= 0 and maskLength <= 128 + return [@parse(match[1]), maskLength] + + throw new Error "ipaddr: string is not formatted like an IPv6 CIDR range" + +# Checks if the address is valid IP address +ipaddr.isValid = (string) -> + return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string) + +# Try to parse an address and throw an error if it is impossible +ipaddr.parse = (string) -> + if ipaddr.IPv6.isValid(string) + return ipaddr.IPv6.parse(string) + else if ipaddr.IPv4.isValid(string) + return ipaddr.IPv4.parse(string) + else + throw new Error "ipaddr: the address has neither IPv6 nor IPv4 format" + +ipaddr.parseCIDR = (string) -> + try + return ipaddr.IPv6.parseCIDR(string) + catch e + try + return ipaddr.IPv4.parseCIDR(string) + catch e + throw new Error "ipaddr: the address has neither IPv6 nor IPv4 CIDR format" + +# Try to parse an array in network order (MSB first) for IPv4 and IPv6 +ipaddr.fromByteArray = (bytes) -> + length = bytes.length + if length == 4 + return new ipaddr.IPv4(bytes) + else if length == 16 + return new ipaddr.IPv6(bytes) + else + throw new Error "ipaddr: the binary input is neither an IPv6 nor IPv4 address" + +# Parse an address and return plain IPv4 address if it is an IPv4-mapped address +ipaddr.process = (string) -> + addr = @parse(string) + if addr.kind() == 'ipv6' && addr.isIPv4MappedAddress() + return addr.toIPv4Address() + else + return addr diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/test/ipaddr.test.coffee b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/test/ipaddr.test.coffee new file mode 100755 index 0000000..eef7a09 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ipaddr.js/test/ipaddr.test.coffee @@ -0,0 +1,483 @@ +ipaddr = require '../lib/ipaddr' + +module.exports = + 'should define main classes': (test) -> + test.ok(ipaddr.IPv4?, 'defines IPv4 class') + test.ok(ipaddr.IPv6?, 'defines IPv6 class') + test.done() + + 'can construct IPv4 from octets': (test) -> + test.doesNotThrow -> + new ipaddr.IPv4([192, 168, 1, 2]) + test.done() + + 'refuses to construct invalid IPv4': (test) -> + test.throws -> + new ipaddr.IPv4([300, 1, 2, 3]) + test.throws -> + new ipaddr.IPv4([8, 8, 8]) + test.done() + + 'converts IPv4 to string correctly': (test) -> + addr = new ipaddr.IPv4([192, 168, 1, 1]) + test.equal(addr.toString(), '192.168.1.1') + test.equal(addr.toNormalizedString(), '192.168.1.1') + test.done() + + 'returns correct kind for IPv4': (test) -> + addr = new ipaddr.IPv4([1, 2, 3, 4]) + test.equal(addr.kind(), 'ipv4') + test.done() + + 'allows to access IPv4 octets': (test) -> + addr = new ipaddr.IPv4([42, 0, 0, 0]) + test.equal(addr.octets[0], 42) + test.done() + + 'checks IPv4 address format': (test) -> + test.equal(ipaddr.IPv4.isIPv4('192.168.007.0xa'), true) + test.equal(ipaddr.IPv4.isIPv4('1024.0.0.1'), true) + test.equal(ipaddr.IPv4.isIPv4('8.0xa.wtf.6'), false) + test.done() + + 'validates IPv4 addresses': (test) -> + test.equal(ipaddr.IPv4.isValid('192.168.007.0xa'), true) + test.equal(ipaddr.IPv4.isValid('1024.0.0.1'), false) + test.equal(ipaddr.IPv4.isValid('8.0xa.wtf.6'), false) + test.done() + + 'parses IPv4 in several weird formats': (test) -> + test.deepEqual(ipaddr.IPv4.parse('192.168.1.1').octets, [192, 168, 1, 1]) + test.deepEqual(ipaddr.IPv4.parse('0xc0.168.1.1').octets, [192, 168, 1, 1]) + test.deepEqual(ipaddr.IPv4.parse('192.0250.1.1').octets, [192, 168, 1, 1]) + test.deepEqual(ipaddr.IPv4.parse('0xc0a80101').octets, [192, 168, 1, 1]) + test.deepEqual(ipaddr.IPv4.parse('030052000401').octets, [192, 168, 1, 1]) + test.deepEqual(ipaddr.IPv4.parse('3232235777').octets, [192, 168, 1, 1]) + test.done() + + 'barfs at invalid IPv4': (test) -> + test.throws -> + ipaddr.IPv4.parse('10.0.0.wtf') + test.done() + + 'matches IPv4 CIDR correctly': (test) -> + addr = new ipaddr.IPv4([10, 5, 0, 1]) + test.equal(addr.match(ipaddr.IPv4.parse('0.0.0.0'), 0), true) + test.equal(addr.match(ipaddr.IPv4.parse('11.0.0.0'), 8), false) + test.equal(addr.match(ipaddr.IPv4.parse('10.0.0.0'), 8), true) + test.equal(addr.match(ipaddr.IPv4.parse('10.0.0.1'), 8), true) + test.equal(addr.match(ipaddr.IPv4.parse('10.0.0.10'), 8), true) + test.equal(addr.match(ipaddr.IPv4.parse('10.5.5.0'), 16), true) + test.equal(addr.match(ipaddr.IPv4.parse('10.4.5.0'), 16), false) + test.equal(addr.match(ipaddr.IPv4.parse('10.4.5.0'), 15), true) + test.equal(addr.match(ipaddr.IPv4.parse('10.5.0.2'), 32), false) + test.equal(addr.match(addr, 32), true) + test.done() + + 'parses IPv4 CIDR correctly': (test) -> + addr = new ipaddr.IPv4([10, 5, 0, 1]) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('0.0.0.0/0')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('11.0.0.0/8')), false) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.0.0.0/8')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.0.0.1/8')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.0.0.10/8')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.5.5.0/16')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.4.5.0/16')), false) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.4.5.0/15')), true) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.5.0.2/32')), false) + test.equal(addr.match(ipaddr.IPv4.parseCIDR('10.5.0.1/32')), true) + test.throws -> + ipaddr.IPv4.parseCIDR('10.5.0.1') + test.throws -> + ipaddr.IPv4.parseCIDR('0.0.0.0/-1') + test.throws -> + ipaddr.IPv4.parseCIDR('0.0.0.0/33') + test.done() + + 'detects reserved IPv4 networks': (test) -> + test.equal(ipaddr.IPv4.parse('0.0.0.0').range(), 'unspecified') + test.equal(ipaddr.IPv4.parse('0.1.0.0').range(), 'unspecified') + test.equal(ipaddr.IPv4.parse('10.1.0.1').range(), 'private') + test.equal(ipaddr.IPv4.parse('100.64.0.0').range(), 'carrierGradeNat') + test.equal(ipaddr.IPv4.parse('100.127.255.255').range(), 'carrierGradeNat') + test.equal(ipaddr.IPv4.parse('192.168.2.1').range(), 'private') + test.equal(ipaddr.IPv4.parse('224.100.0.1').range(), 'multicast') + test.equal(ipaddr.IPv4.parse('169.254.15.0').range(), 'linkLocal') + test.equal(ipaddr.IPv4.parse('127.1.1.1').range(), 'loopback') + test.equal(ipaddr.IPv4.parse('255.255.255.255').range(), 'broadcast') + test.equal(ipaddr.IPv4.parse('240.1.2.3').range(), 'reserved') + test.equal(ipaddr.IPv4.parse('8.8.8.8').range(), 'unicast') + test.done() + + 'checks the conventional IPv4 address format': (test) -> + test.equal(ipaddr.IPv4.isValidFourPartDecimal('192.168.1.1'), true) + test.equal(ipaddr.IPv4.isValidFourPartDecimal('0xc0.168.1.1'), false) + test.done() + + 'can construct IPv6 from 16bit parts': (test) -> + test.doesNotThrow -> + new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1]) + test.done() + + 'can construct IPv6 from 8bit parts': (test) -> + test.doesNotThrow -> + new ipaddr.IPv6([0x20, 0x01, 0xd, 0xb8, 0xf5, 0x3a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]) + test.deepEqual(new ipaddr.IPv6([0x20, 0x01, 0xd, 0xb8, 0xf5, 0x3a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]), + new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1])) + test.done() + + 'refuses to construct invalid IPv6': (test) -> + test.throws -> + new ipaddr.IPv6([0xfffff, 0, 0, 0, 0, 0, 0, 1]) + test.throws -> + new ipaddr.IPv6([0xfffff, 0, 0, 0, 0, 0, 1]) + test.throws -> + new ipaddr.IPv6([0xffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]) + test.done() + + 'converts IPv6 to string correctly': (test) -> + addr = new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1]) + test.equal(addr.toNormalizedString(), '2001:db8:f53a:0:0:0:0:1') + test.equal(addr.toString(), '2001:db8:f53a::1') + test.equal(new ipaddr.IPv6([0, 0, 0, 0, 0, 0, 0, 1]).toString(), '::1') + test.equal(new ipaddr.IPv6([0x2001, 0xdb8, 0, 0, 0, 0, 0, 0]).toString(), '2001:db8::') + test.done() + + 'returns IPv6 zoneIndex': (test) -> + addr = new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1], 'utun0') + test.equal(addr.toNormalizedString(), '2001:db8:f53a:0:0:0:0:1%utun0') + test.equal(addr.toString(), '2001:db8:f53a::1%utun0') + + test.equal( + ipaddr.parse('2001:db8:f53a::1%2').toString(), + '2001:db8:f53a::1%2' + ) + test.equal( + ipaddr.parse('2001:db8:f53a::1%WAT').toString(), + '2001:db8:f53a::1%WAT' + ) + test.equal( + ipaddr.parse('2001:db8:f53a::1%sUp').toString(), + '2001:db8:f53a::1%sUp' + ) + + test.done() + + 'returns IPv6 zoneIndex for IPv4-mapped IPv6 addresses': (test) -> + addr = ipaddr.parse('::ffff:192.168.1.1%eth0') + test.equal(addr.toNormalizedString(), '0:0:0:0:0:ffff:c0a8:101%eth0') + test.equal(addr.toString(), '::ffff:c0a8:101%eth0') + + test.equal( + ipaddr.parse('::ffff:192.168.1.1%2').toString(), + '::ffff:c0a8:101%2' + ) + test.equal( + ipaddr.parse('::ffff:192.168.1.1%WAT').toString(), + '::ffff:c0a8:101%WAT' + ) + test.equal( + ipaddr.parse('::ffff:192.168.1.1%sUp').toString(), + '::ffff:c0a8:101%sUp' + ) + + test.done() + + 'returns correct kind for IPv6': (test) -> + addr = new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1]) + test.equal(addr.kind(), 'ipv6') + test.done() + + 'allows to access IPv6 address parts': (test) -> + addr = new ipaddr.IPv6([0x2001, 0xdb8, 0xf53a, 0, 0, 42, 0, 1]) + test.equal(addr.parts[5], 42) + test.done() + + 'checks IPv6 address format': (test) -> + test.equal(ipaddr.IPv6.isIPv6('2001:db8:F53A::1'), true) + test.equal(ipaddr.IPv6.isIPv6('200001::1'), true) + test.equal(ipaddr.IPv6.isIPv6('::ffff:192.168.1.1'), true) + test.equal(ipaddr.IPv6.isIPv6('::ffff:192.168.1.1%z'), true) + test.equal(ipaddr.IPv6.isIPv6('::ffff:300.168.1.1'), false) + test.equal(ipaddr.IPv6.isIPv6('::ffff:300.168.1.1:0'), false) + test.equal(ipaddr.IPv6.isIPv6('fe80::wtf'), false) + test.equal(ipaddr.IPv6.isIPv6('fe80::%'), false) + test.done() + + 'validates IPv6 addresses': (test) -> + test.equal(ipaddr.IPv6.isValid('2001:db8:F53A::1'), true) + test.equal(ipaddr.IPv6.isValid('200001::1'), false) + test.equal(ipaddr.IPv6.isValid('::ffff:192.168.1.1'), true) + test.equal(ipaddr.IPv6.isValid('::ffff:192.168.1.1%z'), true) + test.equal(ipaddr.IPv6.isValid('::ffff:300.168.1.1'), false) + test.equal(ipaddr.IPv6.isValid('::ffff:300.168.1.1:0'), false) + test.equal(ipaddr.IPv6.isValid('::ffff:222.1.41.9000'), false) + test.equal(ipaddr.IPv6.isValid('2001:db8::F53A::1'), false) + test.equal(ipaddr.IPv6.isValid('fe80::wtf'), false) + test.equal(ipaddr.IPv6.isValid('fe80::%'), false) + test.equal(ipaddr.IPv6.isValid('2002::2:'), false) + test.equal(ipaddr.IPv6.isValid('::%z'), true) + + test.equal(ipaddr.IPv6.isValid(undefined), false) + test.done() + + 'parses IPv6 in different formats': (test) -> + test.deepEqual(ipaddr.IPv6.parse('2001:db8:F53A:0:0:0:0:1').parts, [0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 1]) + test.deepEqual(ipaddr.IPv6.parse('fe80::10').parts, [0xfe80, 0, 0, 0, 0, 0, 0, 0x10]) + test.deepEqual(ipaddr.IPv6.parse('2001:db8:F53A::').parts, [0x2001, 0xdb8, 0xf53a, 0, 0, 0, 0, 0]) + test.deepEqual(ipaddr.IPv6.parse('::1').parts, [0, 0, 0, 0, 0, 0, 0, 1]) + test.deepEqual(ipaddr.IPv6.parse('::').parts, [0, 0, 0, 0, 0, 0, 0, 0]) + test.deepEqual(ipaddr.IPv6.parse('::%z').parts, [0, 0, 0, 0, 0, 0, 0, 0]) + test.deepEqual(ipaddr.IPv6.parse('::%z').zoneId, 'z') + test.done() + + 'barfs at invalid IPv6': (test) -> + test.throws -> + ipaddr.IPv6.parse('fe80::0::1') + test.done() + + 'matches IPv6 CIDR correctly': (test) -> + addr = ipaddr.IPv6.parse('2001:db8:f53a::1') + test.equal(addr.match(ipaddr.IPv6.parse('::'), 0), true) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db8:f53a::1:1'), 64), true) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db8:f53b::1:1'), 48), false) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db8:f531::1:1'), 44), true) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db8:f500::1'), 40), true) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db8:f500::1%z'), 40), true) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db9:f500::1'), 40), false) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db9:f500::1'), 40), false) + test.equal(addr.match(ipaddr.IPv6.parse('2001:db9:f500::1%z'), 40), false) + test.equal(addr.match(addr, 128), true) + test.done() + + 'parses IPv6 CIDR correctly': (test) -> + addr = ipaddr.IPv6.parse('2001:db8:f53a::1') + test.equal(addr.match(ipaddr.IPv6.parseCIDR('::/0')), true) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f53a::1:1/64')), true) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f53b::1:1/48')), false) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f531::1:1/44')), true) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f500::1/40')), true) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f500::1%z/40')), true) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db9:f500::1/40')), false) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db9:f500::1%z/40')), false) + test.equal(addr.match(ipaddr.IPv6.parseCIDR('2001:db8:f53a::1/128')), true) + test.throws -> + ipaddr.IPv6.parseCIDR('2001:db8:f53a::1') + test.throws -> + ipaddr.IPv6.parseCIDR('2001:db8:f53a::1/-1') + test.throws -> + ipaddr.IPv6.parseCIDR('2001:db8:f53a::1/129') + test.done() + + 'converts between IPv4-mapped IPv6 addresses and IPv4 addresses': (test) -> + addr = ipaddr.IPv4.parse('77.88.21.11') + mapped = addr.toIPv4MappedAddress() + test.deepEqual(mapped.parts, [0, 0, 0, 0, 0, 0xffff, 0x4d58, 0x150b]) + test.deepEqual(mapped.toIPv4Address().octets, addr.octets) + test.done() + + 'refuses to convert non-IPv4-mapped IPv6 address to IPv4 address': (test) -> + test.throws -> + ipaddr.IPv6.parse('2001:db8::1').toIPv4Address() + test.done() + + 'detects reserved IPv6 networks': (test) -> + test.equal(ipaddr.IPv6.parse('::').range(), 'unspecified') + test.equal(ipaddr.IPv6.parse('fe80::1234:5678:abcd:0123').range(), 'linkLocal') + test.equal(ipaddr.IPv6.parse('ff00::1234').range(), 'multicast') + test.equal(ipaddr.IPv6.parse('::1').range(), 'loopback') + test.equal(ipaddr.IPv6.parse('fc00::').range(), 'uniqueLocal') + test.equal(ipaddr.IPv6.parse('::ffff:192.168.1.10').range(), 'ipv4Mapped') + test.equal(ipaddr.IPv6.parse('::ffff:0:192.168.1.10').range(), 'rfc6145') + test.equal(ipaddr.IPv6.parse('64:ff9b::1234').range(), 'rfc6052') + test.equal(ipaddr.IPv6.parse('2002:1f63:45e8::1').range(), '6to4') + test.equal(ipaddr.IPv6.parse('2001::4242').range(), 'teredo') + test.equal(ipaddr.IPv6.parse('2001:db8::3210').range(), 'reserved') + test.equal(ipaddr.IPv6.parse('2001:470:8:66::1').range(), 'unicast') + test.equal(ipaddr.IPv6.parse('2001:470:8:66::1%z').range(), 'unicast') + test.done() + + 'is able to determine IP address type': (test) -> + test.equal(ipaddr.parse('8.8.8.8').kind(), 'ipv4') + test.equal(ipaddr.parse('2001:db8:3312::1').kind(), 'ipv6') + test.equal(ipaddr.parse('2001:db8:3312::1%z').kind(), 'ipv6') + test.done() + + 'throws an error if tried to parse an invalid address': (test) -> + test.throws -> + ipaddr.parse('::some.nonsense') + test.done() + + 'correctly processes IPv4-mapped addresses': (test) -> + test.equal(ipaddr.process('8.8.8.8').kind(), 'ipv4') + test.equal(ipaddr.process('2001:db8:3312::1').kind(), 'ipv6') + test.equal(ipaddr.process('::ffff:192.168.1.1').kind(), 'ipv4') + test.equal(ipaddr.process('::ffff:192.168.1.1%z').kind(), 'ipv4') + test.done() + + 'correctly converts IPv6 and IPv4 addresses to byte arrays': (test) -> + test.deepEqual(ipaddr.parse('1.2.3.4').toByteArray(), + [0x1, 0x2, 0x3, 0x4]); + # Fuck yeah. The first byte of Google's IPv6 address is 42. 42! + test.deepEqual(ipaddr.parse('2a00:1450:8007::68').toByteArray(), + [42, 0x00, 0x14, 0x50, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68 ]) + test.deepEqual(ipaddr.parse('2a00:1450:8007::68%z').toByteArray(), + [42, 0x00, 0x14, 0x50, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68 ]) + + test.done() + + 'correctly parses 1 as an IPv4 address': (test) -> + test.equal(ipaddr.IPv6.isValid('1'), false) + test.equal(ipaddr.IPv4.isValid('1'), true) + test.deepEqual(new ipaddr.IPv4([0, 0, 0, 1]), ipaddr.parse('1')) + test.done() + + 'correctly detects IPv4 and IPv6 CIDR addresses': (test) -> + test.deepEqual([ipaddr.IPv6.parse('fc00::'), 64], + ipaddr.parseCIDR('fc00::/64')) + test.deepEqual([ipaddr.IPv4.parse('1.2.3.4'), 5], + ipaddr.parseCIDR('1.2.3.4/5')) + test.done() + + 'does not consider a very large or very small number a valid IP address': (test) -> + test.equal(ipaddr.isValid('4999999999'), false) + test.equal(ipaddr.isValid('-1'), false) + test.done() + + 'does not hang on ::8:8:8:8:8:8:8:8:8': (test) -> + test.equal(ipaddr.IPv6.isValid('::8:8:8:8:8:8:8:8:8'), false) + test.equal(ipaddr.IPv6.isValid('::8:8:8:8:8:8:8:8:8%z'), false) + test.done() + + 'subnetMatch does not fail on empty range': (test) -> + ipaddr.subnetMatch(new ipaddr.IPv4([1,2,3,4]), {}, false) + ipaddr.subnetMatch(new ipaddr.IPv4([1,2,3,4]), {subnet: []}, false) + test.done() + + 'subnetMatch returns default subnet on empty range': (test) -> + test.equal(ipaddr.subnetMatch(new ipaddr.IPv4([1,2,3,4]), {}, false), false) + test.equal(ipaddr.subnetMatch(new ipaddr.IPv4([1,2,3,4]), {subnet: []}, false), false) + test.done() + + 'subnetMatch does not fail on IPv4 when looking for IPv6': (test) -> + rangelist = {subnet6: ipaddr.parseCIDR('fe80::/64')} + test.equal(ipaddr.subnetMatch(new ipaddr.IPv4([1,2,3,4]), rangelist, false), false) + test.done() + + 'subnetMatch does not fail on IPv6 when looking for IPv4': (test) -> + rangelist = {subnet4: ipaddr.parseCIDR('1.2.3.0/24')} + test.equal(ipaddr.subnetMatch(new ipaddr.IPv6([0xfe80, 0, 0, 0, 0, 0, 0, 1]), rangelist, false), false) + test.done() + + 'subnetMatch can use a hybrid IPv4/IPv6 range list': (test) -> + rangelist = {dual64: [ipaddr.parseCIDR('1.2.4.0/24'), ipaddr.parseCIDR('2001:1:2:3::/64')]} + test.equal(ipaddr.subnetMatch(new ipaddr.IPv4([1,2,4,1]), rangelist, false), 'dual64') + test.equal(ipaddr.subnetMatch(new ipaddr.IPv6([0x2001, 1, 2, 3, 0, 0, 0, 1]), rangelist, false), 'dual64') + test.done() + + 'is able to determine IP address type from byte array input': (test) -> + test.equal(ipaddr.fromByteArray([0x7f, 0, 0, 1]).kind(), 'ipv4') + test.equal(ipaddr.fromByteArray([0x20, 0x01, 0xd, 0xb8, 0xf5, 0x3a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]).kind(), 'ipv6') + test.throws -> + ipaddr.fromByteArray([1]) + test.done() + + 'prefixLengthFromSubnetMask returns proper CIDR notation for standard IPv4 masks': (test) -> + test.equal(ipaddr.IPv4.parse('255.255.255.255').prefixLengthFromSubnetMask(), 32) + test.equal(ipaddr.IPv4.parse('255.255.255.254').prefixLengthFromSubnetMask(), 31) + test.equal(ipaddr.IPv4.parse('255.255.255.252').prefixLengthFromSubnetMask(), 30) + test.equal(ipaddr.IPv4.parse('255.255.255.248').prefixLengthFromSubnetMask(), 29) + test.equal(ipaddr.IPv4.parse('255.255.255.240').prefixLengthFromSubnetMask(), 28) + test.equal(ipaddr.IPv4.parse('255.255.255.224').prefixLengthFromSubnetMask(), 27) + test.equal(ipaddr.IPv4.parse('255.255.255.192').prefixLengthFromSubnetMask(), 26) + test.equal(ipaddr.IPv4.parse('255.255.255.128').prefixLengthFromSubnetMask(), 25) + test.equal(ipaddr.IPv4.parse('255.255.255.0').prefixLengthFromSubnetMask(), 24) + test.equal(ipaddr.IPv4.parse('255.255.254.0').prefixLengthFromSubnetMask(), 23) + test.equal(ipaddr.IPv4.parse('255.255.252.0').prefixLengthFromSubnetMask(), 22) + test.equal(ipaddr.IPv4.parse('255.255.248.0').prefixLengthFromSubnetMask(), 21) + test.equal(ipaddr.IPv4.parse('255.255.240.0').prefixLengthFromSubnetMask(), 20) + test.equal(ipaddr.IPv4.parse('255.255.224.0').prefixLengthFromSubnetMask(), 19) + test.equal(ipaddr.IPv4.parse('255.255.192.0').prefixLengthFromSubnetMask(), 18) + test.equal(ipaddr.IPv4.parse('255.255.128.0').prefixLengthFromSubnetMask(), 17) + test.equal(ipaddr.IPv4.parse('255.255.0.0').prefixLengthFromSubnetMask(), 16) + test.equal(ipaddr.IPv4.parse('255.254.0.0').prefixLengthFromSubnetMask(), 15) + test.equal(ipaddr.IPv4.parse('255.252.0.0').prefixLengthFromSubnetMask(), 14) + test.equal(ipaddr.IPv4.parse('255.248.0.0').prefixLengthFromSubnetMask(), 13) + test.equal(ipaddr.IPv4.parse('255.240.0.0').prefixLengthFromSubnetMask(), 12) + test.equal(ipaddr.IPv4.parse('255.224.0.0').prefixLengthFromSubnetMask(), 11) + test.equal(ipaddr.IPv4.parse('255.192.0.0').prefixLengthFromSubnetMask(), 10) + test.equal(ipaddr.IPv4.parse('255.128.0.0').prefixLengthFromSubnetMask(), 9) + test.equal(ipaddr.IPv4.parse('255.0.0.0').prefixLengthFromSubnetMask(), 8) + test.equal(ipaddr.IPv4.parse('254.0.0.0').prefixLengthFromSubnetMask(), 7) + test.equal(ipaddr.IPv4.parse('252.0.0.0').prefixLengthFromSubnetMask(), 6) + test.equal(ipaddr.IPv4.parse('248.0.0.0').prefixLengthFromSubnetMask(), 5) + test.equal(ipaddr.IPv4.parse('240.0.0.0').prefixLengthFromSubnetMask(), 4) + test.equal(ipaddr.IPv4.parse('224.0.0.0').prefixLengthFromSubnetMask(), 3) + test.equal(ipaddr.IPv4.parse('192.0.0.0').prefixLengthFromSubnetMask(), 2) + test.equal(ipaddr.IPv4.parse('128.0.0.0').prefixLengthFromSubnetMask(), 1) + test.equal(ipaddr.IPv4.parse('0.0.0.0').prefixLengthFromSubnetMask(), 0) + # negative cases + test.equal(ipaddr.IPv4.parse('192.168.255.0').prefixLengthFromSubnetMask(), null) + test.equal(ipaddr.IPv4.parse('255.0.255.0').prefixLengthFromSubnetMask(), null) + test.done() + + 'prefixLengthFromSubnetMask returns proper CIDR notation for standard IPv6 masks': (test) -> + test.equal(ipaddr.IPv6.parse('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff').prefixLengthFromSubnetMask(), 128) + test.equal(ipaddr.IPv6.parse('ffff:ffff:ffff:ffff::').prefixLengthFromSubnetMask(), 64) + test.equal(ipaddr.IPv6.parse('ffff:ffff:ffff:ff80::').prefixLengthFromSubnetMask(), 57) + test.equal(ipaddr.IPv6.parse('ffff:ffff:ffff::').prefixLengthFromSubnetMask(), 48) + test.equal(ipaddr.IPv6.parse('ffff:ffff:ffff::%z').prefixLengthFromSubnetMask(), 48) + test.equal(ipaddr.IPv6.parse('::').prefixLengthFromSubnetMask(), 0) + test.equal(ipaddr.IPv6.parse('::%z').prefixLengthFromSubnetMask(), 0) + # negative cases + test.equal(ipaddr.IPv6.parse('2001:db8::').prefixLengthFromSubnetMask(), null) + test.equal(ipaddr.IPv6.parse('ffff:0:0:ffff::').prefixLengthFromSubnetMask(), null) + test.equal(ipaddr.IPv6.parse('ffff:0:0:ffff::%z').prefixLengthFromSubnetMask(), null) + test.done() + + 'subnetMaskFromPrefixLength returns correct IPv4 subnet mask given prefix length': (test) -> + + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(0), "0.0.0.0"); + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(1), "128.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(2), "192.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(3), "224.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(4), "240.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(5), "248.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(6), "252.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(7), "254.0.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(8), "255.0.0.0"); + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(9), "255.128.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(10), "255.192.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(11), "255.224.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(12), "255.240.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(13), "255.248.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(14), "255.252.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(15), "255.254.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(16), "255.255.0.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(17), "255.255.128.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(18), "255.255.192.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(19), "255.255.224.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(20), "255.255.240.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(21), "255.255.248.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(22), "255.255.252.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(23), "255.255.254.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(24), "255.255.255.0") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(25), "255.255.255.128") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(26), "255.255.255.192") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(27), "255.255.255.224") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(28), "255.255.255.240") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(29), "255.255.255.248") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(30), "255.255.255.252") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(31), "255.255.255.254") + test.equal(ipaddr.IPv4.subnetMaskFromPrefixLength(32), "255.255.255.255") + test.done() + + 'broadcastAddressFromCIDR returns correct IPv4 broadcast address': (test) -> + test.equal(ipaddr.IPv4.broadcastAddressFromCIDR("172.0.0.1/24"), "172.0.0.255") + test.equal(ipaddr.IPv4.broadcastAddressFromCIDR("172.0.0.1/26"), "172.0.0.63") + test.done() + + 'networkAddressFromCIDR returns correct IPv4 network address': (test) -> + test.equal(ipaddr.IPv4.networkAddressFromCIDR("172.0.0.1/24"), "172.0.0.0") + test.equal(ipaddr.IPv4.networkAddressFromCIDR("172.0.0.1/5"), "168.0.0.0") + test.done() diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/HISTORY.md new file mode 100755 index 0000000..62c2003 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/HISTORY.md @@ -0,0 +1,22 @@ +0.3.0 / 2014-09-07 +================== + + * Support Node.js 0.6 + * Throw error when parameter format invalid on parse + +0.2.0 / 2014-06-18 +================== + + * Add `typer.format()` to format media types + +0.1.0 / 2014-06-17 +================== + + * Accept `req` as argument to `parse` + * Accept `res` as argument to `parse` + * Parse media type with extra LWS between type and first parameter + +0.0.0 / 2014-06-13 +================== + + * Initial implementation diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/LICENSE new file mode 100755 index 0000000..b7dce6c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/README.md new file mode 100755 index 0000000..d8df623 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/README.md @@ -0,0 +1,81 @@ +# media-typer + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Simple RFC 6838 media type parser + +## Installation + +```sh +$ npm install media-typer +``` + +## API + +```js +var typer = require('media-typer') +``` + +### typer.parse(string) + +```js +var obj = typer.parse('image/svg+xml; charset=utf-8') +``` + +Parse a media type string. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The type of the media type (always lower case). Example: `'image'` + + - `subtype`: The subtype of the media type (always lower case). Example: `'svg'` + + - `suffix`: The suffix of the media type (always lower case). Example: `'xml'` + + - `parameters`: An object of the parameters in the media type (name of parameter always lower case). Example: `{charset: 'utf-8'}` + +### typer.parse(req) + +```js +var obj = typer.parse(req) +``` + +Parse the `content-type` header from the given `req`. Short-cut for +`typer.parse(req.headers['content-type'])`. + +### typer.parse(res) + +```js +var obj = typer.parse(res) +``` + +Parse the `content-type` header set on the given `res`. Short-cut for +`typer.parse(res.getHeader('content-type'))`. + +### typer.format(obj) + +```js +var obj = typer.format({type: 'image', subtype: 'svg', suffix: 'xml'}) +``` + +Format an object into a media type string. This will return a string of the +mime type for the given object. For the properties of the object, see the +documentation for `typer.parse(string)`. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/media-typer.svg?style=flat +[npm-url]: https://npmjs.org/package/media-typer +[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat +[node-version-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/jshttp/media-typer.svg?style=flat +[travis-url]: https://travis-ci.org/jshttp/media-typer +[coveralls-image]: https://img.shields.io/coveralls/jshttp/media-typer.svg?style=flat +[coveralls-url]: https://coveralls.io/r/jshttp/media-typer +[downloads-image]: https://img.shields.io/npm/dm/media-typer.svg?style=flat +[downloads-url]: https://npmjs.org/package/media-typer diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/index.js new file mode 100755 index 0000000..07f7295 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/index.js @@ -0,0 +1,270 @@ +/*! + * media-typer + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * RegExp to match *( ";" parameter ) in RFC 2616 sec 3.7 + * + * parameter = token "=" ( token | quoted-string ) + * token = 1*<any CHAR except CTLs or separators> + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = <any TEXT except <">> + * quoted-pair = "\" CHAR + * CHAR = <any US-ASCII character (octets 0 - 127)> + * TEXT = <any OCTET except CTLs, but including LWS> + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = <US-ASCII CR, carriage return (13)> + * LF = <US-ASCII LF, linefeed (10)> + * SP = <US-ASCII SP, space (32)> + * SHT = <US-ASCII HT, horizontal-tab (9)> + * CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)> + * OCTET = <any 8-bit sequence of data> + */ +var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g; +var textRegExp = /^[\u0020-\u007e\u0080-\u00ff]+$/ +var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/ + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = <any US-ASCII character (octets 0 - 127)> + */ +var qescRegExp = /\\([\u0000-\u007f])/g; + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + */ +var quoteRegExp = /([\\"])/g; + +/** + * RegExp to match type in RFC 6838 + * + * type-name = restricted-name + * subtype-name = restricted-name + * restricted-name = restricted-name-first *126restricted-name-chars + * restricted-name-first = ALPHA / DIGIT + * restricted-name-chars = ALPHA / DIGIT / "!" / "#" / + * "$" / "&" / "-" / "^" / "_" + * restricted-name-chars =/ "." ; Characters before first dot always + * ; specify a facet name + * restricted-name-chars =/ "+" ; Characters after last plus always + * ; specify a structured syntax suffix + * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + * DIGIT = %x30-39 ; 0-9 + */ +var subtypeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/ +var typeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/ +var typeRegExp = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/; + +/** + * Module exports. + */ + +exports.format = format +exports.parse = parse + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @api public + */ + +function format(obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var parameters = obj.parameters + var subtype = obj.subtype + var suffix = obj.suffix + var type = obj.type + + if (!type || !typeNameRegExp.test(type)) { + throw new TypeError('invalid type') + } + + if (!subtype || !subtypeNameRegExp.test(subtype)) { + throw new TypeError('invalid subtype') + } + + // format as type/subtype + var string = type + '/' + subtype + + // append +suffix + if (suffix) { + if (!typeNameRegExp.test(suffix)) { + throw new TypeError('invalid suffix') + } + + string += '+' + suffix + } + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + if (!tokenRegExp.test(param)) { + throw new TypeError('invalid parameter name') + } + + string += '; ' + param + '=' + qstring(parameters[param]) + } + } + + return string +} + +/** + * Parse media type to object. + * + * @param {string|object} string + * @return {Object} + * @api public + */ + +function parse(string) { + if (!string) { + throw new TypeError('argument string is required') + } + + // support req/res-like objects as argument + if (typeof string === 'object') { + string = getcontenttype(string) + } + + if (typeof string !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var index = string.indexOf(';') + var type = index !== -1 + ? string.substr(0, index) + : string + + var key + var match + var obj = splitType(type) + var params = {} + var value + + paramRegExp.lastIndex = index + + while (match = paramRegExp.exec(string)) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .substr(1, value.length - 2) + .replace(qescRegExp, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + obj.parameters = params + + return obj +} + +/** + * Get content-type from req/res objects. + * + * @param {object} + * @return {Object} + * @api private + */ + +function getcontenttype(obj) { + if (typeof obj.getHeader === 'function') { + // res-like + return obj.getHeader('content-type') + } + + if (typeof obj.headers === 'object') { + // req-like + return obj.headers && obj.headers['content-type'] + } +} + +/** + * Quote a string if necessary. + * + * @param {string} val + * @return {string} + * @api private + */ + +function qstring(val) { + var str = String(val) + + // no need to quote tokens + if (tokenRegExp.test(str)) { + return str + } + + if (str.length > 0 && !textRegExp.test(str)) { + throw new TypeError('invalid parameter value') + } + + return '"' + str.replace(quoteRegExp, '\\$1') + '"' +} + +/** + * Simply "type/subtype+siffx" into parts. + * + * @param {string} string + * @return {Object} + * @api private + */ + +function splitType(string) { + var match = typeRegExp.exec(string.toLowerCase()) + + if (!match) { + throw new TypeError('invalid media type') + } + + var type = match[1] + var subtype = match[2] + var suffix + + // suffix after last + + var index = subtype.lastIndexOf('+') + if (index !== -1) { + suffix = subtype.substr(index + 1) + subtype = subtype.substr(0, index) + } + + var obj = { + type: type, + subtype: subtype, + suffix: suffix + } + + return obj +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/package.json new file mode 100755 index 0000000..390ec2d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/media-typer/package.json @@ -0,0 +1,92 @@ +{ + "_args": [ + [ + { + "raw": "media-typer@0.3.0", + "scope": null, + "escapedName": "media-typer", + "name": "media-typer", + "rawSpec": "0.3.0", + "spec": "0.3.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\type-is" + ] + ], + "_from": "media-typer@0.3.0", + "_id": "media-typer@0.3.0", + "_inCache": true, + "_location": "/media-typer", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.21", + "_phantomChildren": {}, + "_requested": { + "raw": "media-typer@0.3.0", + "scope": null, + "escapedName": "media-typer", + "name": "media-typer", + "rawSpec": "0.3.0", + "spec": "0.3.0", + "type": "version" + }, + "_requiredBy": [ + "/type-is" + ], + "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "_shasum": "8710d7af0aa626f8fffa1ce00168545263255748", + "_shrinkwrap": null, + "_spec": "media-typer@0.3.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\type-is", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/jshttp/media-typer/issues" + }, + "dependencies": {}, + "description": "Simple RFC 6838 media type parser and formatter", + "devDependencies": { + "istanbul": "0.3.2", + "mocha": "~1.21.4", + "should": "~4.0.4" + }, + "directories": {}, + "dist": { + "shasum": "8710d7af0aa626f8fffa1ce00168545263255748", + "tarball": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "d49d41ffd0bb5a0655fa44a59df2ec0bfc835b16", + "homepage": "https://github.com/jshttp/media-typer", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "media-typer", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/media-typer.git" + }, + "scripts": { + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "0.3.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/HISTORY.md new file mode 100755 index 0000000..486771f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/HISTORY.md @@ -0,0 +1,21 @@ +1.0.1 / 2016-01-17 +================== + + * perf: enable strict mode + +1.0.0 / 2015-03-01 +================== + + * Add option to only add new descriptors + * Add simple argument validation + * Add jsdoc to source file + +0.0.2 / 2013-12-14 +================== + + * Move repository to `component` organization + +0.0.1 / 2013-10-29 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/LICENSE new file mode 100755 index 0000000..274bfd8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2013 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/README.md new file mode 100755 index 0000000..d593c0e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/README.md @@ -0,0 +1,48 @@ +# Merge Descriptors + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Merge objects using descriptors. + +```js +var thing = { + get name() { + return 'jon' + } +} + +var animal = { + +} + +merge(animal, thing) + +animal.name === 'jon' +``` + +## API + +### merge(destination, source) + +Redefines `destination`'s descriptors with `source`'s. + +### merge(destination, source, false) + +Defines `source`'s descriptors on `destination` if `destination` does not have +a descriptor by the same name. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/merge-descriptors.svg +[npm-url]: https://npmjs.org/package/merge-descriptors +[travis-image]: https://img.shields.io/travis/component/merge-descriptors/master.svg +[travis-url]: https://travis-ci.org/component/merge-descriptors +[coveralls-image]: https://img.shields.io/coveralls/component/merge-descriptors/master.svg +[coveralls-url]: https://coveralls.io/r/component/merge-descriptors?branch=master +[downloads-image]: https://img.shields.io/npm/dm/merge-descriptors.svg +[downloads-url]: https://npmjs.org/package/merge-descriptors diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/index.js new file mode 100755 index 0000000..573b132 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/index.js @@ -0,0 +1,60 @@ +/*! + * merge-descriptors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = merge + +/** + * Module variables. + * @private + */ + +var hasOwnProperty = Object.prototype.hasOwnProperty + +/** + * Merge the property descriptors of `src` into `dest` + * + * @param {object} dest Object to add descriptors to + * @param {object} src Object to clone descriptors from + * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties + * @returns {object} Reference to dest + * @public + */ + +function merge(dest, src, redefine) { + if (!dest) { + throw new TypeError('argument dest is required') + } + + if (!src) { + throw new TypeError('argument src is required') + } + + if (redefine === undefined) { + // Default to true + redefine = true + } + + Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { + if (!redefine && hasOwnProperty.call(dest, name)) { + // Skip desriptor + return + } + + // Copy descriptor + var descriptor = Object.getOwnPropertyDescriptor(src, name) + Object.defineProperty(dest, name, descriptor) + }) + + return dest +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/package.json new file mode 100755 index 0000000..5582bf9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/merge-descriptors/package.json @@ -0,0 +1,172 @@ +{ + "_args": [ + [ + { + "raw": "merge-descriptors@1.0.1", + "scope": null, + "escapedName": "merge-descriptors", + "name": "merge-descriptors", + "rawSpec": "1.0.1", + "spec": "1.0.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "merge-descriptors@1.0.1", + "_id": "merge-descriptors@1.0.1", + "_inCache": true, + "_location": "/merge-descriptors", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "merge-descriptors@1.0.1", + "scope": null, + "escapedName": "merge-descriptors", + "name": "merge-descriptors", + "rawSpec": "1.0.1", + "spec": "1.0.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "_shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61", + "_shrinkwrap": null, + "_spec": "merge-descriptors@1.0.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/component/merge-descriptors/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Mike Grabowski", + "email": "grabbou@gmail.com" + } + ], + "dependencies": {}, + "description": "Merge objects using descriptors", + "devDependencies": { + "istanbul": "0.4.1", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61", + "tarball": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "gitHead": "f26c49c3b423b0b2ac31f6e32a84e1632f2d7ac2", + "homepage": "https://github.com/component/merge-descriptors", + "license": "MIT", + "maintainers": [ + { + "name": "anthonyshort", + "email": "antshort@gmail.com" + }, + { + "name": "clintwood", + "email": "clint@anotherway.co.za" + }, + { + "name": "dfcreative", + "email": "df.creative@gmail.com" + }, + { + "name": "dominicbarnes", + "email": "dominic@dbarnes.info" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "ianstormtaylor", + "email": "ian@ianstormtaylor.com" + }, + { + "name": "jonathanong", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "juliangruber", + "email": "julian@juliangruber.com" + }, + { + "name": "mattmueller", + "email": "mattmuelle@gmail.com" + }, + { + "name": "queckezz", + "email": "fabian.eichenberger@gmail.com" + }, + { + "name": "stephenmathieson", + "email": "me@stephenmathieson.com" + }, + { + "name": "thehydroimpulse", + "email": "dnfagnan@gmail.com" + }, + { + "name": "timaschew", + "email": "timaschew@gmail.com" + }, + { + "name": "timoxley", + "email": "secoif@gmail.com" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + { + "name": "trevorgerhardt", + "email": "trevorgerhardt@gmail.com" + }, + { + "name": "yields", + "email": "yields@icloud.com" + } + ], + "name": "merge-descriptors", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/component/merge-descriptors.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + }, + "version": "1.0.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/HISTORY.md new file mode 100755 index 0000000..c0ecf07 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/HISTORY.md @@ -0,0 +1,29 @@ +1.1.2 / 2016-01-17 +================== + + * perf: enable strict mode + +1.1.1 / 2014-12-30 +================== + + * Improve `browserify` support + +1.1.0 / 2014-07-05 +================== + + * Add `CONNECT` method + +1.0.1 / 2014-06-02 +================== + + * Fix module to work with harmony transform + +1.0.0 / 2014-05-08 +================== + + * Add `PURGE` method + +0.1.0 / 2013-10-28 +================== + + * Add `http.METHODS` support diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/LICENSE new file mode 100755 index 0000000..220dc1a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2013-2014 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2015-2016 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/README.md new file mode 100755 index 0000000..672a32b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/README.md @@ -0,0 +1,51 @@ +# Methods + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +HTTP verbs that Node.js core's HTTP parser supports. + +This module provides an export that is just like `http.METHODS` from Node.js core, +with the following differences: + + * All method names are lower-cased. + * Contains a fallback list of methods for Node.js versions that do not have a + `http.METHODS` export (0.10 and lower). + * Provides the fallback list when using tools like `browserify` without pulling + in the `http` shim module. + +## Install + +```bash +$ npm install methods +``` + +## API + +```js +var methods = require('methods') +``` + +### methods + +This is an array of lower-cased method names that Node.js supports. If Node.js +provides the `http.METHODS` export, then this is the same array lower-cased, +otherwise it is a snapshot of the verbs from Node.js 0.10. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat +[npm-url]: https://npmjs.org/package/methods +[node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat +[travis-url]: https://travis-ci.org/jshttp/methods +[coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat +[coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master +[downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat +[downloads-url]: https://npmjs.org/package/methods diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/index.js new file mode 100755 index 0000000..667a50b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/index.js @@ -0,0 +1,69 @@ +/*! + * methods + * Copyright(c) 2013-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var http = require('http'); + +/** + * Module exports. + * @public + */ + +module.exports = getCurrentNodeMethods() || getBasicNodeMethods(); + +/** + * Get the current Node.js methods. + * @private + */ + +function getCurrentNodeMethods() { + return http.METHODS && http.METHODS.map(function lowerCaseMethod(method) { + return method.toLowerCase(); + }); +} + +/** + * Get the "basic" Node.js methods, a snapshot from Node.js 0.10. + * @private + */ + +function getBasicNodeMethods() { + return [ + 'get', + 'post', + 'put', + 'head', + 'delete', + 'options', + 'trace', + 'copy', + 'lock', + 'mkcol', + 'move', + 'purge', + 'propfind', + 'proppatch', + 'unlock', + 'report', + 'mkactivity', + 'checkout', + 'merge', + 'm-search', + 'notify', + 'subscribe', + 'unsubscribe', + 'patch', + 'search', + 'connect' + ]; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/package.json new file mode 100755 index 0000000..ee0a88b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/methods/package.json @@ -0,0 +1,122 @@ +{ + "_args": [ + [ + { + "raw": "methods@~1.1.2", + "scope": null, + "escapedName": "methods", + "name": "methods", + "rawSpec": "~1.1.2", + "spec": ">=1.1.2 <1.2.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "methods@>=1.1.2 <1.2.0", + "_id": "methods@1.1.2", + "_inCache": true, + "_location": "/methods", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "methods@~1.1.2", + "scope": null, + "escapedName": "methods", + "name": "methods", + "rawSpec": "~1.1.2", + "spec": ">=1.1.2 <1.2.0", + "type": "range" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "_shasum": "5529a4d67654134edcc5266656835b0f851afcee", + "_shrinkwrap": null, + "_spec": "methods@~1.1.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "browser": { + "http": false + }, + "bugs": { + "url": "https://github.com/jshttp/methods/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": "http://tjholowaychuk.com" + } + ], + "dependencies": {}, + "description": "HTTP methods that node supports", + "devDependencies": { + "istanbul": "0.4.1", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "5529a4d67654134edcc5266656835b0f851afcee", + "tarball": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "index.js", + "HISTORY.md", + "LICENSE" + ], + "gitHead": "25d257d913f1b94bd2d73581521ff72c81469140", + "homepage": "https://github.com/jshttp/methods", + "keywords": [ + "http", + "methods" + ], + "license": "MIT", + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "jonathanong", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "methods", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/methods.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.1.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/HISTORY.md new file mode 100755 index 0000000..b2870c4 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/HISTORY.md @@ -0,0 +1,343 @@ +1.30.0 / 2017-08-27 +=================== + + * Add `application/vnd.ms-outlook` + * Add `application/x-arj` + * Add extension `.mjs` to `application/javascript` + * Add glTF types and extensions + * Add new upstream MIME types + * Add `text/x-org` + * Add VirtualBox MIME types + * Fix `source` records for `video/*` types that are IANA + * Update `font/opentype` to registered `font/otf` + +1.29.0 / 2017-07-10 +=================== + + * Add `application/fido.trusted-apps+json` + * Add extension `.wadl` to `application/vnd.sun.wadl+xml` + * Add new upstream MIME types + * Add `UTF-8` as default charset for `text/css` + +1.28.0 / 2017-05-14 +=================== + + * Add new upstream MIME types + * Add extension `.gz` to `application/gzip` + * Update extensions `.md` and `.markdown` to be `text/markdown` + +1.27.0 / 2017-03-16 +=================== + + * Add new upstream MIME types + * Add `image/apng` with extension `.apng` + +1.26.0 / 2017-01-14 +=================== + + * Add new upstream MIME types + * Add extension `.geojson` to `application/geo+json` + +1.25.0 / 2016-11-11 +=================== + + * Add new upstream MIME types + +1.24.0 / 2016-09-18 +=================== + + * Add `audio/mp3` + * Add new upstream MIME types + +1.23.0 / 2016-05-01 +=================== + + * Add new upstream MIME types + * Add extension `.3gpp` to `audio/3gpp` + +1.22.0 / 2016-02-15 +=================== + + * Add `text/slim` + * Add extension `.rng` to `application/xml` + * Add new upstream MIME types + * Fix extension of `application/dash+xml` to be `.mpd` + * Update primary extension to `.m4a` for `audio/mp4` + +1.21.0 / 2016-01-06 +=================== + + * Add Google document types + * Add new upstream MIME types + +1.20.0 / 2015-11-10 +=================== + + * Add `text/x-suse-ymp` + * Add new upstream MIME types + +1.19.0 / 2015-09-17 +=================== + + * Add `application/vnd.apple.pkpass` + * Add new upstream MIME types + +1.18.0 / 2015-09-03 +=================== + + * Add new upstream MIME types + +1.17.0 / 2015-08-13 +=================== + + * Add `application/x-msdos-program` + * Add `audio/g711-0` + * Add `image/vnd.mozilla.apng` + * Add extension `.exe` to `application/x-msdos-program` + +1.16.0 / 2015-07-29 +=================== + + * Add `application/vnd.uri-map` + +1.15.0 / 2015-07-13 +=================== + + * Add `application/x-httpd-php` + +1.14.0 / 2015-06-25 +=================== + + * Add `application/scim+json` + * Add `application/vnd.3gpp.ussd+xml` + * Add `application/vnd.biopax.rdf+xml` + * Add `text/x-processing` + +1.13.0 / 2015-06-07 +=================== + + * Add nginx as a source + * Add `application/x-cocoa` + * Add `application/x-java-archive-diff` + * Add `application/x-makeself` + * Add `application/x-perl` + * Add `application/x-pilot` + * Add `application/x-redhat-package-manager` + * Add `application/x-sea` + * Add `audio/x-m4a` + * Add `audio/x-realaudio` + * Add `image/x-jng` + * Add `text/mathml` + +1.12.0 / 2015-06-05 +=================== + + * Add `application/bdoc` + * Add `application/vnd.hyperdrive+json` + * Add `application/x-bdoc` + * Add extension `.rtf` to `text/rtf` + +1.11.0 / 2015-05-31 +=================== + + * Add `audio/wav` + * Add `audio/wave` + * Add extension `.litcoffee` to `text/coffeescript` + * Add extension `.sfd-hdstx` to `application/vnd.hydrostatix.sof-data` + * Add extension `.n-gage` to `application/vnd.nokia.n-gage.symbian.install` + +1.10.0 / 2015-05-19 +=================== + + * Add `application/vnd.balsamiq.bmpr` + * Add `application/vnd.microsoft.portable-executable` + * Add `application/x-ns-proxy-autoconfig` + +1.9.1 / 2015-04-19 +================== + + * Remove `.json` extension from `application/manifest+json` + - This is causing bugs downstream + +1.9.0 / 2015-04-19 +================== + + * Add `application/manifest+json` + * Add `application/vnd.micro+json` + * Add `image/vnd.zbrush.pcx` + * Add `image/x-ms-bmp` + +1.8.0 / 2015-03-13 +================== + + * Add `application/vnd.citationstyles.style+xml` + * Add `application/vnd.fastcopy-disk-image` + * Add `application/vnd.gov.sk.xmldatacontainer+xml` + * Add extension `.jsonld` to `application/ld+json` + +1.7.0 / 2015-02-08 +================== + + * Add `application/vnd.gerber` + * Add `application/vnd.msa-disk-image` + +1.6.1 / 2015-02-05 +================== + + * Community extensions ownership transferred from `node-mime` + +1.6.0 / 2015-01-29 +================== + + * Add `application/jose` + * Add `application/jose+json` + * Add `application/json-seq` + * Add `application/jwk+json` + * Add `application/jwk-set+json` + * Add `application/jwt` + * Add `application/rdap+json` + * Add `application/vnd.gov.sk.e-form+xml` + * Add `application/vnd.ims.imsccv1p3` + +1.5.0 / 2014-12-30 +================== + + * Add `application/vnd.oracle.resource+json` + * Fix various invalid MIME type entries + - `application/mbox+xml` + - `application/oscp-response` + - `application/vwg-multiplexed` + - `audio/g721` + +1.4.0 / 2014-12-21 +================== + + * Add `application/vnd.ims.imsccv1p2` + * Fix various invalid MIME type entries + - `application/vnd-acucobol` + - `application/vnd-curl` + - `application/vnd-dart` + - `application/vnd-dxr` + - `application/vnd-fdf` + - `application/vnd-mif` + - `application/vnd-sema` + - `application/vnd-wap-wmlc` + - `application/vnd.adobe.flash-movie` + - `application/vnd.dece-zip` + - `application/vnd.dvb_service` + - `application/vnd.micrografx-igx` + - `application/vnd.sealed-doc` + - `application/vnd.sealed-eml` + - `application/vnd.sealed-mht` + - `application/vnd.sealed-ppt` + - `application/vnd.sealed-tiff` + - `application/vnd.sealed-xls` + - `application/vnd.sealedmedia.softseal-html` + - `application/vnd.sealedmedia.softseal-pdf` + - `application/vnd.wap-slc` + - `application/vnd.wap-wbxml` + - `audio/vnd.sealedmedia.softseal-mpeg` + - `image/vnd-djvu` + - `image/vnd-svf` + - `image/vnd-wap-wbmp` + - `image/vnd.sealed-png` + - `image/vnd.sealedmedia.softseal-gif` + - `image/vnd.sealedmedia.softseal-jpg` + - `model/vnd-dwf` + - `model/vnd.parasolid.transmit-binary` + - `model/vnd.parasolid.transmit-text` + - `text/vnd-a` + - `text/vnd-curl` + - `text/vnd.wap-wml` + * Remove example template MIME types + - `application/example` + - `audio/example` + - `image/example` + - `message/example` + - `model/example` + - `multipart/example` + - `text/example` + - `video/example` + +1.3.1 / 2014-12-16 +================== + + * Fix missing extensions + - `application/json5` + - `text/hjson` + +1.3.0 / 2014-12-07 +================== + + * Add `application/a2l` + * Add `application/aml` + * Add `application/atfx` + * Add `application/atxml` + * Add `application/cdfx+xml` + * Add `application/dii` + * Add `application/json5` + * Add `application/lxf` + * Add `application/mf4` + * Add `application/vnd.apache.thrift.compact` + * Add `application/vnd.apache.thrift.json` + * Add `application/vnd.coffeescript` + * Add `application/vnd.enphase.envoy` + * Add `application/vnd.ims.imsccv1p1` + * Add `text/csv-schema` + * Add `text/hjson` + * Add `text/markdown` + * Add `text/yaml` + +1.2.0 / 2014-11-09 +================== + + * Add `application/cea` + * Add `application/dit` + * Add `application/vnd.gov.sk.e-form+zip` + * Add `application/vnd.tmd.mediaflex.api+xml` + * Type `application/epub+zip` is now IANA-registered + +1.1.2 / 2014-10-23 +================== + + * Rebuild database for `application/x-www-form-urlencoded` change + +1.1.1 / 2014-10-20 +================== + + * Mark `application/x-www-form-urlencoded` as compressible. + +1.1.0 / 2014-09-28 +================== + + * Add `application/font-woff2` + +1.0.3 / 2014-09-25 +================== + + * Fix engine requirement in package + +1.0.2 / 2014-09-25 +================== + + * Add `application/coap-group+json` + * Add `application/dcd` + * Add `application/vnd.apache.thrift.binary` + * Add `image/vnd.tencent.tap` + * Mark all JSON-derived types as compressible + * Update `text/vtt` data + +1.0.1 / 2014-08-30 +================== + + * Fix extension ordering + +1.0.0 / 2014-08-30 +================== + + * Add `application/atf` + * Add `application/merge-patch+json` + * Add `multipart/x-mixed-replace` + * Add `source: 'apache'` metadata + * Add `source: 'iana'` metadata + * Remove badly-assumed charset data diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/LICENSE new file mode 100755 index 0000000..a7ae8ee --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/README.md new file mode 100755 index 0000000..320c1c9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/README.md @@ -0,0 +1,94 @@ +# mime-db + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +This is a database of all mime types. +It consists of a single, public JSON file and does not include any logic, +allowing it to remain as un-opinionated as possible with an API. +It aggregates data from the following sources: + +- http://www.iana.org/assignments/media-types/media-types.xhtml +- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types +- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types + +## Installation + +```bash +npm install mime-db +``` + +### Database Download + +If you're crazy enough to use this in the browser, you can just grab the +JSON file using [RawGit](https://rawgit.com/). It is recommended to replace +`master` with [a release tag](https://github.com/jshttp/mime-db/tags) as the +JSON format may change in the future. + +``` +https://cdn.rawgit.com/jshttp/mime-db/master/db.json +``` + +## Usage + +```js +var db = require('mime-db'); + +// grab data on .js files +var data = db['application/javascript']; +``` + +## Data Structure + +The JSON file is a map lookup for lowercased mime types. +Each mime type has the following properties: + +- `.source` - where the mime type is defined. + If not set, it's probably a custom media type. + - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types) + - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml) + - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types) +- `.extensions[]` - known extensions associated with this mime type. +- `.compressible` - whether a file of this type can be gzipped. +- `.charset` - the default charset associated with this type, if any. + +If unknown, every property could be `undefined`. + +## Contributing + +To edit the database, only make PRs against `src/custom.json` or +`src/custom-suffix.json`. + +The `src/custom.json` file is a JSON object with the MIME type as the keys +and the values being an object with the following keys: + +- `compressible` - leave out if you don't know, otherwise `true`/`false` for + if the data represented by the time is typically compressible. +- `extensions` - include an array of file extensions that are associated with + the type. +- `notes` - human-readable notes about the type, typically what the type is. +- `sources` - include an array of URLs of where the MIME type and the associated + extensions are sourced from. This needs to be a [primary source](https://en.wikipedia.org/wiki/Primary_source); + links to type aggregating sites and Wikipedia are _not acceptible_. + +To update the build, run `npm run build`. + +## Adding Custom Media Types + +The best way to get new media types included in this library is to register +them with the IANA. The community registration procedure is outlined in +[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types +registered with the IANA are automatically pulled into this library. + +[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg +[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg +[npm-url]: https://npmjs.org/package/mime-db +[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg +[travis-url]: https://travis-ci.org/jshttp/mime-db +[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master +[node-image]: https://img.shields.io/node/v/mime-db.svg +[node-url]: http://nodejs.org/download/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/db.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/db.json new file mode 100755 index 0000000..0fc2a72 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/db.json @@ -0,0 +1,6966 @@ +{ + "application/1d-interleaved-parityfec": { + "source": "iana" + }, + "application/3gpdash-qoe-report+xml": { + "source": "iana" + }, + "application/3gpp-ims+xml": { + "source": "iana" + }, + "application/a2l": { + "source": "iana" + }, + "application/activemessage": { + "source": "iana" + }, + "application/alto-costmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-costmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-directory+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcost+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcostparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointprop+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointpropparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-error+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/aml": { + "source": "iana" + }, + "application/andrew-inset": { + "source": "iana", + "extensions": ["ez"] + }, + "application/applefile": { + "source": "iana" + }, + "application/applixware": { + "source": "apache", + "extensions": ["aw"] + }, + "application/atf": { + "source": "iana" + }, + "application/atfx": { + "source": "iana" + }, + "application/atom+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atom"] + }, + "application/atomcat+xml": { + "source": "iana", + "extensions": ["atomcat"] + }, + "application/atomdeleted+xml": { + "source": "iana" + }, + "application/atomicmail": { + "source": "iana" + }, + "application/atomsvc+xml": { + "source": "iana", + "extensions": ["atomsvc"] + }, + "application/atxml": { + "source": "iana" + }, + "application/auth-policy+xml": { + "source": "iana" + }, + "application/bacnet-xdd+zip": { + "source": "iana" + }, + "application/batch-smtp": { + "source": "iana" + }, + "application/bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/beep+xml": { + "source": "iana" + }, + "application/calendar+json": { + "source": "iana", + "compressible": true + }, + "application/calendar+xml": { + "source": "iana" + }, + "application/call-completion": { + "source": "iana" + }, + "application/cals-1840": { + "source": "iana" + }, + "application/cbor": { + "source": "iana" + }, + "application/cccex": { + "source": "iana" + }, + "application/ccmp+xml": { + "source": "iana" + }, + "application/ccxml+xml": { + "source": "iana", + "extensions": ["ccxml"] + }, + "application/cdfx+xml": { + "source": "iana" + }, + "application/cdmi-capability": { + "source": "iana", + "extensions": ["cdmia"] + }, + "application/cdmi-container": { + "source": "iana", + "extensions": ["cdmic"] + }, + "application/cdmi-domain": { + "source": "iana", + "extensions": ["cdmid"] + }, + "application/cdmi-object": { + "source": "iana", + "extensions": ["cdmio"] + }, + "application/cdmi-queue": { + "source": "iana", + "extensions": ["cdmiq"] + }, + "application/cdni": { + "source": "iana" + }, + "application/cea": { + "source": "iana" + }, + "application/cea-2018+xml": { + "source": "iana" + }, + "application/cellml+xml": { + "source": "iana" + }, + "application/cfw": { + "source": "iana" + }, + "application/clue_info+xml": { + "source": "iana" + }, + "application/cms": { + "source": "iana" + }, + "application/cnrp+xml": { + "source": "iana" + }, + "application/coap-group+json": { + "source": "iana", + "compressible": true + }, + "application/coap-payload": { + "source": "iana" + }, + "application/commonground": { + "source": "iana" + }, + "application/conference-info+xml": { + "source": "iana" + }, + "application/cose": { + "source": "iana" + }, + "application/cose-key": { + "source": "iana" + }, + "application/cose-key-set": { + "source": "iana" + }, + "application/cpl+xml": { + "source": "iana" + }, + "application/csrattrs": { + "source": "iana" + }, + "application/csta+xml": { + "source": "iana" + }, + "application/cstadata+xml": { + "source": "iana" + }, + "application/csvm+json": { + "source": "iana", + "compressible": true + }, + "application/cu-seeme": { + "source": "apache", + "extensions": ["cu"] + }, + "application/cybercash": { + "source": "iana" + }, + "application/dart": { + "compressible": true + }, + "application/dash+xml": { + "source": "iana", + "extensions": ["mpd"] + }, + "application/dashdelta": { + "source": "iana" + }, + "application/davmount+xml": { + "source": "iana", + "extensions": ["davmount"] + }, + "application/dca-rft": { + "source": "iana" + }, + "application/dcd": { + "source": "iana" + }, + "application/dec-dx": { + "source": "iana" + }, + "application/dialog-info+xml": { + "source": "iana" + }, + "application/dicom": { + "source": "iana" + }, + "application/dicom+json": { + "source": "iana", + "compressible": true + }, + "application/dicom+xml": { + "source": "iana" + }, + "application/dii": { + "source": "iana" + }, + "application/dit": { + "source": "iana" + }, + "application/dns": { + "source": "iana" + }, + "application/docbook+xml": { + "source": "apache", + "extensions": ["dbk"] + }, + "application/dskpp+xml": { + "source": "iana" + }, + "application/dssc+der": { + "source": "iana", + "extensions": ["dssc"] + }, + "application/dssc+xml": { + "source": "iana", + "extensions": ["xdssc"] + }, + "application/dvcs": { + "source": "iana" + }, + "application/ecmascript": { + "source": "iana", + "compressible": true, + "extensions": ["ecma"] + }, + "application/edi-consent": { + "source": "iana" + }, + "application/edi-x12": { + "source": "iana", + "compressible": false + }, + "application/edifact": { + "source": "iana", + "compressible": false + }, + "application/efi": { + "source": "iana" + }, + "application/emergencycalldata.comment+xml": { + "source": "iana" + }, + "application/emergencycalldata.control+xml": { + "source": "iana" + }, + "application/emergencycalldata.deviceinfo+xml": { + "source": "iana" + }, + "application/emergencycalldata.ecall.msd": { + "source": "iana" + }, + "application/emergencycalldata.providerinfo+xml": { + "source": "iana" + }, + "application/emergencycalldata.serviceinfo+xml": { + "source": "iana" + }, + "application/emergencycalldata.subscriberinfo+xml": { + "source": "iana" + }, + "application/emergencycalldata.veds+xml": { + "source": "iana" + }, + "application/emma+xml": { + "source": "iana", + "extensions": ["emma"] + }, + "application/emotionml+xml": { + "source": "iana" + }, + "application/encaprtp": { + "source": "iana" + }, + "application/epp+xml": { + "source": "iana" + }, + "application/epub+zip": { + "source": "iana", + "extensions": ["epub"] + }, + "application/eshop": { + "source": "iana" + }, + "application/exi": { + "source": "iana", + "extensions": ["exi"] + }, + "application/fastinfoset": { + "source": "iana" + }, + "application/fastsoap": { + "source": "iana" + }, + "application/fdt+xml": { + "source": "iana" + }, + "application/fido.trusted-apps+json": { + "compressible": true + }, + "application/fits": { + "source": "iana" + }, + "application/font-sfnt": { + "source": "iana" + }, + "application/font-tdpfr": { + "source": "iana", + "extensions": ["pfr"] + }, + "application/font-woff": { + "source": "iana", + "compressible": false, + "extensions": ["woff"] + }, + "application/font-woff2": { + "compressible": false, + "extensions": ["woff2"] + }, + "application/framework-attributes+xml": { + "source": "iana" + }, + "application/geo+json": { + "source": "iana", + "compressible": true, + "extensions": ["geojson"] + }, + "application/geo+json-seq": { + "source": "iana" + }, + "application/geoxacml+xml": { + "source": "iana" + }, + "application/gml+xml": { + "source": "iana", + "extensions": ["gml"] + }, + "application/gpx+xml": { + "source": "apache", + "extensions": ["gpx"] + }, + "application/gxf": { + "source": "apache", + "extensions": ["gxf"] + }, + "application/gzip": { + "source": "iana", + "compressible": false, + "extensions": ["gz"] + }, + "application/h224": { + "source": "iana" + }, + "application/held+xml": { + "source": "iana" + }, + "application/http": { + "source": "iana" + }, + "application/hyperstudio": { + "source": "iana", + "extensions": ["stk"] + }, + "application/ibe-key-request+xml": { + "source": "iana" + }, + "application/ibe-pkg-reply+xml": { + "source": "iana" + }, + "application/ibe-pp-data": { + "source": "iana" + }, + "application/iges": { + "source": "iana" + }, + "application/im-iscomposing+xml": { + "source": "iana" + }, + "application/index": { + "source": "iana" + }, + "application/index.cmd": { + "source": "iana" + }, + "application/index.obj": { + "source": "iana" + }, + "application/index.response": { + "source": "iana" + }, + "application/index.vnd": { + "source": "iana" + }, + "application/inkml+xml": { + "source": "iana", + "extensions": ["ink","inkml"] + }, + "application/iotp": { + "source": "iana" + }, + "application/ipfix": { + "source": "iana", + "extensions": ["ipfix"] + }, + "application/ipp": { + "source": "iana" + }, + "application/isup": { + "source": "iana" + }, + "application/its+xml": { + "source": "iana" + }, + "application/java-archive": { + "source": "apache", + "compressible": false, + "extensions": ["jar","war","ear"] + }, + "application/java-serialized-object": { + "source": "apache", + "compressible": false, + "extensions": ["ser"] + }, + "application/java-vm": { + "source": "apache", + "compressible": false, + "extensions": ["class"] + }, + "application/javascript": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js","mjs"] + }, + "application/jf2feed+json": { + "source": "iana", + "compressible": true + }, + "application/jose": { + "source": "iana" + }, + "application/jose+json": { + "source": "iana", + "compressible": true + }, + "application/jrd+json": { + "source": "iana", + "compressible": true + }, + "application/json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["json","map"] + }, + "application/json-patch+json": { + "source": "iana", + "compressible": true + }, + "application/json-seq": { + "source": "iana" + }, + "application/json5": { + "extensions": ["json5"] + }, + "application/jsonml+json": { + "source": "apache", + "compressible": true, + "extensions": ["jsonml"] + }, + "application/jwk+json": { + "source": "iana", + "compressible": true + }, + "application/jwk-set+json": { + "source": "iana", + "compressible": true + }, + "application/jwt": { + "source": "iana" + }, + "application/kpml-request+xml": { + "source": "iana" + }, + "application/kpml-response+xml": { + "source": "iana" + }, + "application/ld+json": { + "source": "iana", + "compressible": true, + "extensions": ["jsonld"] + }, + "application/lgr+xml": { + "source": "iana" + }, + "application/link-format": { + "source": "iana" + }, + "application/load-control+xml": { + "source": "iana" + }, + "application/lost+xml": { + "source": "iana", + "extensions": ["lostxml"] + }, + "application/lostsync+xml": { + "source": "iana" + }, + "application/lxf": { + "source": "iana" + }, + "application/mac-binhex40": { + "source": "iana", + "extensions": ["hqx"] + }, + "application/mac-compactpro": { + "source": "apache", + "extensions": ["cpt"] + }, + "application/macwriteii": { + "source": "iana" + }, + "application/mads+xml": { + "source": "iana", + "extensions": ["mads"] + }, + "application/manifest+json": { + "charset": "UTF-8", + "compressible": true, + "extensions": ["webmanifest"] + }, + "application/marc": { + "source": "iana", + "extensions": ["mrc"] + }, + "application/marcxml+xml": { + "source": "iana", + "extensions": ["mrcx"] + }, + "application/mathematica": { + "source": "iana", + "extensions": ["ma","nb","mb"] + }, + "application/mathml+xml": { + "source": "iana", + "extensions": ["mathml"] + }, + "application/mathml-content+xml": { + "source": "iana" + }, + "application/mathml-presentation+xml": { + "source": "iana" + }, + "application/mbms-associated-procedure-description+xml": { + "source": "iana" + }, + "application/mbms-deregister+xml": { + "source": "iana" + }, + "application/mbms-envelope+xml": { + "source": "iana" + }, + "application/mbms-msk+xml": { + "source": "iana" + }, + "application/mbms-msk-response+xml": { + "source": "iana" + }, + "application/mbms-protection-description+xml": { + "source": "iana" + }, + "application/mbms-reception-report+xml": { + "source": "iana" + }, + "application/mbms-register+xml": { + "source": "iana" + }, + "application/mbms-register-response+xml": { + "source": "iana" + }, + "application/mbms-schedule+xml": { + "source": "iana" + }, + "application/mbms-user-service-description+xml": { + "source": "iana" + }, + "application/mbox": { + "source": "iana", + "extensions": ["mbox"] + }, + "application/media-policy-dataset+xml": { + "source": "iana" + }, + "application/media_control+xml": { + "source": "iana" + }, + "application/mediaservercontrol+xml": { + "source": "iana", + "extensions": ["mscml"] + }, + "application/merge-patch+json": { + "source": "iana", + "compressible": true + }, + "application/metalink+xml": { + "source": "apache", + "extensions": ["metalink"] + }, + "application/metalink4+xml": { + "source": "iana", + "extensions": ["meta4"] + }, + "application/mets+xml": { + "source": "iana", + "extensions": ["mets"] + }, + "application/mf4": { + "source": "iana" + }, + "application/mikey": { + "source": "iana" + }, + "application/mmt-usd+xml": { + "source": "iana" + }, + "application/mods+xml": { + "source": "iana", + "extensions": ["mods"] + }, + "application/moss-keys": { + "source": "iana" + }, + "application/moss-signature": { + "source": "iana" + }, + "application/mosskey-data": { + "source": "iana" + }, + "application/mosskey-request": { + "source": "iana" + }, + "application/mp21": { + "source": "iana", + "extensions": ["m21","mp21"] + }, + "application/mp4": { + "source": "iana", + "extensions": ["mp4s","m4p"] + }, + "application/mpeg4-generic": { + "source": "iana" + }, + "application/mpeg4-iod": { + "source": "iana" + }, + "application/mpeg4-iod-xmt": { + "source": "iana" + }, + "application/mrb-consumer+xml": { + "source": "iana" + }, + "application/mrb-publish+xml": { + "source": "iana" + }, + "application/msc-ivr+xml": { + "source": "iana" + }, + "application/msc-mixer+xml": { + "source": "iana" + }, + "application/msword": { + "source": "iana", + "compressible": false, + "extensions": ["doc","dot"] + }, + "application/mud+json": { + "source": "iana", + "compressible": true + }, + "application/mxf": { + "source": "iana", + "extensions": ["mxf"] + }, + "application/n-quads": { + "source": "iana" + }, + "application/n-triples": { + "source": "iana" + }, + "application/nasdata": { + "source": "iana" + }, + "application/news-checkgroups": { + "source": "iana" + }, + "application/news-groupinfo": { + "source": "iana" + }, + "application/news-transmission": { + "source": "iana" + }, + "application/nlsml+xml": { + "source": "iana" + }, + "application/nss": { + "source": "iana" + }, + "application/ocsp-request": { + "source": "iana" + }, + "application/ocsp-response": { + "source": "iana" + }, + "application/octet-stream": { + "source": "iana", + "compressible": false, + "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"] + }, + "application/oda": { + "source": "iana", + "extensions": ["oda"] + }, + "application/odx": { + "source": "iana" + }, + "application/oebps-package+xml": { + "source": "iana", + "extensions": ["opf"] + }, + "application/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogx"] + }, + "application/omdoc+xml": { + "source": "apache", + "extensions": ["omdoc"] + }, + "application/onenote": { + "source": "apache", + "extensions": ["onetoc","onetoc2","onetmp","onepkg"] + }, + "application/oxps": { + "source": "iana", + "extensions": ["oxps"] + }, + "application/p2p-overlay+xml": { + "source": "iana" + }, + "application/parityfec": { + "source": "iana" + }, + "application/passport": { + "source": "iana" + }, + "application/patch-ops-error+xml": { + "source": "iana", + "extensions": ["xer"] + }, + "application/pdf": { + "source": "iana", + "compressible": false, + "extensions": ["pdf"] + }, + "application/pdx": { + "source": "iana" + }, + "application/pgp-encrypted": { + "source": "iana", + "compressible": false, + "extensions": ["pgp"] + }, + "application/pgp-keys": { + "source": "iana" + }, + "application/pgp-signature": { + "source": "iana", + "extensions": ["asc","sig"] + }, + "application/pics-rules": { + "source": "apache", + "extensions": ["prf"] + }, + "application/pidf+xml": { + "source": "iana" + }, + "application/pidf-diff+xml": { + "source": "iana" + }, + "application/pkcs10": { + "source": "iana", + "extensions": ["p10"] + }, + "application/pkcs12": { + "source": "iana" + }, + "application/pkcs7-mime": { + "source": "iana", + "extensions": ["p7m","p7c"] + }, + "application/pkcs7-signature": { + "source": "iana", + "extensions": ["p7s"] + }, + "application/pkcs8": { + "source": "iana", + "extensions": ["p8"] + }, + "application/pkix-attr-cert": { + "source": "iana", + "extensions": ["ac"] + }, + "application/pkix-cert": { + "source": "iana", + "extensions": ["cer"] + }, + "application/pkix-crl": { + "source": "iana", + "extensions": ["crl"] + }, + "application/pkix-pkipath": { + "source": "iana", + "extensions": ["pkipath"] + }, + "application/pkixcmp": { + "source": "iana", + "extensions": ["pki"] + }, + "application/pls+xml": { + "source": "iana", + "extensions": ["pls"] + }, + "application/poc-settings+xml": { + "source": "iana" + }, + "application/postscript": { + "source": "iana", + "compressible": true, + "extensions": ["ai","eps","ps"] + }, + "application/ppsp-tracker+json": { + "source": "iana", + "compressible": true + }, + "application/problem+json": { + "source": "iana", + "compressible": true + }, + "application/problem+xml": { + "source": "iana" + }, + "application/provenance+xml": { + "source": "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + "source": "iana" + }, + "application/prs.cww": { + "source": "iana", + "extensions": ["cww"] + }, + "application/prs.hpub+zip": { + "source": "iana" + }, + "application/prs.nprend": { + "source": "iana" + }, + "application/prs.plucker": { + "source": "iana" + }, + "application/prs.rdf-xml-crypt": { + "source": "iana" + }, + "application/prs.xsf+xml": { + "source": "iana" + }, + "application/pskc+xml": { + "source": "iana", + "extensions": ["pskcxml"] + }, + "application/qsig": { + "source": "iana" + }, + "application/raptorfec": { + "source": "iana" + }, + "application/rdap+json": { + "source": "iana", + "compressible": true + }, + "application/rdf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rdf"] + }, + "application/reginfo+xml": { + "source": "iana", + "extensions": ["rif"] + }, + "application/relax-ng-compact-syntax": { + "source": "iana", + "extensions": ["rnc"] + }, + "application/remote-printing": { + "source": "iana" + }, + "application/reputon+json": { + "source": "iana", + "compressible": true + }, + "application/resource-lists+xml": { + "source": "iana", + "extensions": ["rl"] + }, + "application/resource-lists-diff+xml": { + "source": "iana", + "extensions": ["rld"] + }, + "application/rfc+xml": { + "source": "iana" + }, + "application/riscos": { + "source": "iana" + }, + "application/rlmi+xml": { + "source": "iana" + }, + "application/rls-services+xml": { + "source": "iana", + "extensions": ["rs"] + }, + "application/route-apd+xml": { + "source": "iana" + }, + "application/route-s-tsid+xml": { + "source": "iana" + }, + "application/route-usd+xml": { + "source": "iana" + }, + "application/rpki-ghostbusters": { + "source": "iana", + "extensions": ["gbr"] + }, + "application/rpki-manifest": { + "source": "iana", + "extensions": ["mft"] + }, + "application/rpki-publication": { + "source": "iana" + }, + "application/rpki-roa": { + "source": "iana", + "extensions": ["roa"] + }, + "application/rpki-updown": { + "source": "iana" + }, + "application/rsd+xml": { + "source": "apache", + "extensions": ["rsd"] + }, + "application/rss+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rss"] + }, + "application/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "application/rtploopback": { + "source": "iana" + }, + "application/rtx": { + "source": "iana" + }, + "application/samlassertion+xml": { + "source": "iana" + }, + "application/samlmetadata+xml": { + "source": "iana" + }, + "application/sbml+xml": { + "source": "iana", + "extensions": ["sbml"] + }, + "application/scaip+xml": { + "source": "iana" + }, + "application/scim+json": { + "source": "iana", + "compressible": true + }, + "application/scvp-cv-request": { + "source": "iana", + "extensions": ["scq"] + }, + "application/scvp-cv-response": { + "source": "iana", + "extensions": ["scs"] + }, + "application/scvp-vp-request": { + "source": "iana", + "extensions": ["spq"] + }, + "application/scvp-vp-response": { + "source": "iana", + "extensions": ["spp"] + }, + "application/sdp": { + "source": "iana", + "extensions": ["sdp"] + }, + "application/sep+xml": { + "source": "iana" + }, + "application/sep-exi": { + "source": "iana" + }, + "application/session-info": { + "source": "iana" + }, + "application/set-payment": { + "source": "iana" + }, + "application/set-payment-initiation": { + "source": "iana", + "extensions": ["setpay"] + }, + "application/set-registration": { + "source": "iana" + }, + "application/set-registration-initiation": { + "source": "iana", + "extensions": ["setreg"] + }, + "application/sgml": { + "source": "iana" + }, + "application/sgml-open-catalog": { + "source": "iana" + }, + "application/shf+xml": { + "source": "iana", + "extensions": ["shf"] + }, + "application/sieve": { + "source": "iana" + }, + "application/simple-filter+xml": { + "source": "iana" + }, + "application/simple-message-summary": { + "source": "iana" + }, + "application/simplesymbolcontainer": { + "source": "iana" + }, + "application/slate": { + "source": "iana" + }, + "application/smil": { + "source": "iana" + }, + "application/smil+xml": { + "source": "iana", + "extensions": ["smi","smil"] + }, + "application/smpte336m": { + "source": "iana" + }, + "application/soap+fastinfoset": { + "source": "iana" + }, + "application/soap+xml": { + "source": "iana", + "compressible": true + }, + "application/sparql-query": { + "source": "iana", + "extensions": ["rq"] + }, + "application/sparql-results+xml": { + "source": "iana", + "extensions": ["srx"] + }, + "application/spirits-event+xml": { + "source": "iana" + }, + "application/sql": { + "source": "iana" + }, + "application/srgs": { + "source": "iana", + "extensions": ["gram"] + }, + "application/srgs+xml": { + "source": "iana", + "extensions": ["grxml"] + }, + "application/sru+xml": { + "source": "iana", + "extensions": ["sru"] + }, + "application/ssdl+xml": { + "source": "apache", + "extensions": ["ssdl"] + }, + "application/ssml+xml": { + "source": "iana", + "extensions": ["ssml"] + }, + "application/tamp-apex-update": { + "source": "iana" + }, + "application/tamp-apex-update-confirm": { + "source": "iana" + }, + "application/tamp-community-update": { + "source": "iana" + }, + "application/tamp-community-update-confirm": { + "source": "iana" + }, + "application/tamp-error": { + "source": "iana" + }, + "application/tamp-sequence-adjust": { + "source": "iana" + }, + "application/tamp-sequence-adjust-confirm": { + "source": "iana" + }, + "application/tamp-status-query": { + "source": "iana" + }, + "application/tamp-status-response": { + "source": "iana" + }, + "application/tamp-update": { + "source": "iana" + }, + "application/tamp-update-confirm": { + "source": "iana" + }, + "application/tar": { + "compressible": true + }, + "application/tei+xml": { + "source": "iana", + "extensions": ["tei","teicorpus"] + }, + "application/thraud+xml": { + "source": "iana", + "extensions": ["tfi"] + }, + "application/timestamp-query": { + "source": "iana" + }, + "application/timestamp-reply": { + "source": "iana" + }, + "application/timestamped-data": { + "source": "iana", + "extensions": ["tsd"] + }, + "application/trig": { + "source": "iana" + }, + "application/ttml+xml": { + "source": "iana" + }, + "application/tve-trigger": { + "source": "iana" + }, + "application/ulpfec": { + "source": "iana" + }, + "application/urc-grpsheet+xml": { + "source": "iana" + }, + "application/urc-ressheet+xml": { + "source": "iana" + }, + "application/urc-targetdesc+xml": { + "source": "iana" + }, + "application/urc-uisocketdesc+xml": { + "source": "iana" + }, + "application/vcard+json": { + "source": "iana", + "compressible": true + }, + "application/vcard+xml": { + "source": "iana" + }, + "application/vemmi": { + "source": "iana" + }, + "application/vividence.scriptfile": { + "source": "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + "source": "iana" + }, + "application/vnd.3gpp-prose+xml": { + "source": "iana" + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + "source": "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + "source": "iana" + }, + "application/vnd.3gpp.bsf+xml": { + "source": "iana" + }, + "application/vnd.3gpp.gmop+xml": { + "source": "iana" + }, + "application/vnd.3gpp.mcptt-info+xml": { + "source": "iana" + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + "source": "iana" + }, + "application/vnd.3gpp.mid-call+xml": { + "source": "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + "source": "iana", + "extensions": ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + "source": "iana", + "extensions": ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + "source": "iana", + "extensions": ["pvb"] + }, + "application/vnd.3gpp.sms": { + "source": "iana" + }, + "application/vnd.3gpp.sms+xml": { + "source": "iana" + }, + "application/vnd.3gpp.srvcc-ext+xml": { + "source": "iana" + }, + "application/vnd.3gpp.srvcc-info+xml": { + "source": "iana" + }, + "application/vnd.3gpp.state-and-event-info+xml": { + "source": "iana" + }, + "application/vnd.3gpp.ussd+xml": { + "source": "iana" + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + "source": "iana" + }, + "application/vnd.3gpp2.sms": { + "source": "iana" + }, + "application/vnd.3gpp2.tcap": { + "source": "iana", + "extensions": ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + "source": "iana" + }, + "application/vnd.3m.post-it-notes": { + "source": "iana", + "extensions": ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + "source": "iana", + "extensions": ["aso"] + }, + "application/vnd.accpac.simply.imp": { + "source": "iana", + "extensions": ["imp"] + }, + "application/vnd.acucobol": { + "source": "iana", + "extensions": ["acu"] + }, + "application/vnd.acucorp": { + "source": "iana", + "extensions": ["atc","acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + "source": "apache", + "extensions": ["air"] + }, + "application/vnd.adobe.flash.movie": { + "source": "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + "source": "iana", + "extensions": ["fcdt"] + }, + "application/vnd.adobe.fxp": { + "source": "iana", + "extensions": ["fxp","fxpl"] + }, + "application/vnd.adobe.partial-upload": { + "source": "iana" + }, + "application/vnd.adobe.xdp+xml": { + "source": "iana", + "extensions": ["xdp"] + }, + "application/vnd.adobe.xfdf": { + "source": "iana", + "extensions": ["xfdf"] + }, + "application/vnd.aether.imp": { + "source": "iana" + }, + "application/vnd.ah-barcode": { + "source": "iana" + }, + "application/vnd.ahead.space": { + "source": "iana", + "extensions": ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + "source": "iana", + "extensions": ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + "source": "iana", + "extensions": ["azs"] + }, + "application/vnd.amazon.ebook": { + "source": "apache", + "extensions": ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + "source": "iana" + }, + "application/vnd.americandynamics.acc": { + "source": "iana", + "extensions": ["acc"] + }, + "application/vnd.amiga.ami": { + "source": "iana", + "extensions": ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + "source": "iana" + }, + "application/vnd.android.package-archive": { + "source": "apache", + "compressible": false, + "extensions": ["apk"] + }, + "application/vnd.anki": { + "source": "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + "source": "iana", + "extensions": ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + "source": "apache", + "extensions": ["fti"] + }, + "application/vnd.antix.game-component": { + "source": "iana", + "extensions": ["atx"] + }, + "application/vnd.apache.thrift.binary": { + "source": "iana" + }, + "application/vnd.apache.thrift.compact": { + "source": "iana" + }, + "application/vnd.apache.thrift.json": { + "source": "iana" + }, + "application/vnd.api+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apothekende.reservation+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apple.installer+xml": { + "source": "iana", + "extensions": ["mpkg"] + }, + "application/vnd.apple.mpegurl": { + "source": "iana", + "extensions": ["m3u8"] + }, + "application/vnd.apple.pkpass": { + "compressible": false, + "extensions": ["pkpass"] + }, + "application/vnd.arastra.swi": { + "source": "iana" + }, + "application/vnd.aristanetworks.swi": { + "source": "iana", + "extensions": ["swi"] + }, + "application/vnd.artsquare": { + "source": "iana" + }, + "application/vnd.astraea-software.iota": { + "source": "iana", + "extensions": ["iota"] + }, + "application/vnd.audiograph": { + "source": "iana", + "extensions": ["aep"] + }, + "application/vnd.autopackage": { + "source": "iana" + }, + "application/vnd.avistar+xml": { + "source": "iana" + }, + "application/vnd.balsamiq.bmml+xml": { + "source": "iana" + }, + "application/vnd.balsamiq.bmpr": { + "source": "iana" + }, + "application/vnd.bekitzur-stech+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.bint.med-content": { + "source": "iana" + }, + "application/vnd.biopax.rdf+xml": { + "source": "iana" + }, + "application/vnd.blink-idb-value-wrapper": { + "source": "iana" + }, + "application/vnd.blueice.multipass": { + "source": "iana", + "extensions": ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + "source": "iana" + }, + "application/vnd.bluetooth.le.oob": { + "source": "iana" + }, + "application/vnd.bmi": { + "source": "iana", + "extensions": ["bmi"] + }, + "application/vnd.businessobjects": { + "source": "iana", + "extensions": ["rep"] + }, + "application/vnd.cab-jscript": { + "source": "iana" + }, + "application/vnd.canon-cpdl": { + "source": "iana" + }, + "application/vnd.canon-lips": { + "source": "iana" + }, + "application/vnd.capasystems-pg+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cendio.thinlinc.clientconf": { + "source": "iana" + }, + "application/vnd.century-systems.tcp_stream": { + "source": "iana" + }, + "application/vnd.chemdraw+xml": { + "source": "iana", + "extensions": ["cdxml"] + }, + "application/vnd.chess-pgn": { + "source": "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + "source": "iana", + "extensions": ["mmd"] + }, + "application/vnd.cinderella": { + "source": "iana", + "extensions": ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + "source": "iana" + }, + "application/vnd.citationstyles.style+xml": { + "source": "iana" + }, + "application/vnd.claymore": { + "source": "iana", + "extensions": ["cla"] + }, + "application/vnd.cloanto.rp9": { + "source": "iana", + "extensions": ["rp9"] + }, + "application/vnd.clonk.c4group": { + "source": "iana", + "extensions": ["c4g","c4d","c4f","c4p","c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + "source": "iana", + "extensions": ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + "source": "iana", + "extensions": ["c11amz"] + }, + "application/vnd.coffeescript": { + "source": "iana" + }, + "application/vnd.collection+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.doc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.next+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.comicbook+zip": { + "source": "iana" + }, + "application/vnd.commerce-battelle": { + "source": "iana" + }, + "application/vnd.commonspace": { + "source": "iana", + "extensions": ["csp"] + }, + "application/vnd.contact.cmsg": { + "source": "iana", + "extensions": ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cosmocaller": { + "source": "iana", + "extensions": ["cmc"] + }, + "application/vnd.crick.clicker": { + "source": "iana", + "extensions": ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + "source": "iana", + "extensions": ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + "source": "iana", + "extensions": ["clkp"] + }, + "application/vnd.crick.clicker.template": { + "source": "iana", + "extensions": ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + "source": "iana", + "extensions": ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + "source": "iana", + "extensions": ["wbs"] + }, + "application/vnd.ctc-posml": { + "source": "iana", + "extensions": ["pml"] + }, + "application/vnd.ctct.ws+xml": { + "source": "iana" + }, + "application/vnd.cups-pdf": { + "source": "iana" + }, + "application/vnd.cups-postscript": { + "source": "iana" + }, + "application/vnd.cups-ppd": { + "source": "iana", + "extensions": ["ppd"] + }, + "application/vnd.cups-raster": { + "source": "iana" + }, + "application/vnd.cups-raw": { + "source": "iana" + }, + "application/vnd.curl": { + "source": "iana" + }, + "application/vnd.curl.car": { + "source": "apache", + "extensions": ["car"] + }, + "application/vnd.curl.pcurl": { + "source": "apache", + "extensions": ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + "source": "iana" + }, + "application/vnd.cybank": { + "source": "iana" + }, + "application/vnd.d2l.coursepackage1p0+zip": { + "source": "iana" + }, + "application/vnd.dart": { + "source": "iana", + "compressible": true, + "extensions": ["dart"] + }, + "application/vnd.data-vision.rdz": { + "source": "iana", + "extensions": ["rdz"] + }, + "application/vnd.datapackage+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dataresource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.debian.binary-package": { + "source": "iana" + }, + "application/vnd.dece.data": { + "source": "iana", + "extensions": ["uvf","uvvf","uvd","uvvd"] + }, + "application/vnd.dece.ttml+xml": { + "source": "iana", + "extensions": ["uvt","uvvt"] + }, + "application/vnd.dece.unspecified": { + "source": "iana", + "extensions": ["uvx","uvvx"] + }, + "application/vnd.dece.zip": { + "source": "iana", + "extensions": ["uvz","uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + "source": "iana", + "extensions": ["fe_launch"] + }, + "application/vnd.desmume-movie": { + "source": "iana" + }, + "application/vnd.desmume.movie": { + "source": "apache" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + "source": "iana" + }, + "application/vnd.dm.delegation+xml": { + "source": "iana" + }, + "application/vnd.dna": { + "source": "iana", + "extensions": ["dna"] + }, + "application/vnd.document+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dolby.mlp": { + "source": "apache", + "extensions": ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + "source": "iana" + }, + "application/vnd.dolby.mobile.2": { + "source": "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + "source": "iana" + }, + "application/vnd.dpgraph": { + "source": "iana", + "extensions": ["dpg"] + }, + "application/vnd.dreamfactory": { + "source": "iana", + "extensions": ["dfac"] + }, + "application/vnd.drive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ds-keypoint": { + "source": "apache", + "extensions": ["kpxx"] + }, + "application/vnd.dtg.local": { + "source": "iana" + }, + "application/vnd.dtg.local.flash": { + "source": "iana" + }, + "application/vnd.dtg.local.html": { + "source": "iana" + }, + "application/vnd.dvb.ait": { + "source": "iana", + "extensions": ["ait"] + }, + "application/vnd.dvb.dvbj": { + "source": "iana" + }, + "application/vnd.dvb.esgcontainer": { + "source": "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + "source": "iana" + }, + "application/vnd.dvb.ipdcroaming": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + "source": "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-container+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-generic+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + "source": "iana" + }, + "application/vnd.dvb.notif-init+xml": { + "source": "iana" + }, + "application/vnd.dvb.pfr": { + "source": "iana" + }, + "application/vnd.dvb.service": { + "source": "iana", + "extensions": ["svc"] + }, + "application/vnd.dxr": { + "source": "iana" + }, + "application/vnd.dynageo": { + "source": "iana", + "extensions": ["geo"] + }, + "application/vnd.dzr": { + "source": "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + "source": "iana" + }, + "application/vnd.ecdis-update": { + "source": "iana" + }, + "application/vnd.ecowin.chart": { + "source": "iana", + "extensions": ["mag"] + }, + "application/vnd.ecowin.filerequest": { + "source": "iana" + }, + "application/vnd.ecowin.fileupdate": { + "source": "iana" + }, + "application/vnd.ecowin.series": { + "source": "iana" + }, + "application/vnd.ecowin.seriesrequest": { + "source": "iana" + }, + "application/vnd.ecowin.seriesupdate": { + "source": "iana" + }, + "application/vnd.efi.img": { + "source": "iana" + }, + "application/vnd.efi.iso": { + "source": "iana" + }, + "application/vnd.emclient.accessrequest+xml": { + "source": "iana" + }, + "application/vnd.enliven": { + "source": "iana", + "extensions": ["nml"] + }, + "application/vnd.enphase.envoy": { + "source": "iana" + }, + "application/vnd.eprints.data+xml": { + "source": "iana" + }, + "application/vnd.epson.esf": { + "source": "iana", + "extensions": ["esf"] + }, + "application/vnd.epson.msf": { + "source": "iana", + "extensions": ["msf"] + }, + "application/vnd.epson.quickanime": { + "source": "iana", + "extensions": ["qam"] + }, + "application/vnd.epson.salt": { + "source": "iana", + "extensions": ["slt"] + }, + "application/vnd.epson.ssf": { + "source": "iana", + "extensions": ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + "source": "iana" + }, + "application/vnd.espass-espass+zip": { + "source": "iana" + }, + "application/vnd.eszigno3+xml": { + "source": "iana", + "extensions": ["es3","et3"] + }, + "application/vnd.etsi.aoc+xml": { + "source": "iana" + }, + "application/vnd.etsi.asic-e+zip": { + "source": "iana" + }, + "application/vnd.etsi.asic-s+zip": { + "source": "iana" + }, + "application/vnd.etsi.cug+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvcommand+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvdiscovery+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvprofile+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvsad-bc+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvsad-cod+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvservice+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvsync+xml": { + "source": "iana" + }, + "application/vnd.etsi.iptvueprofile+xml": { + "source": "iana" + }, + "application/vnd.etsi.mcid+xml": { + "source": "iana" + }, + "application/vnd.etsi.mheg5": { + "source": "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + "source": "iana" + }, + "application/vnd.etsi.pstn+xml": { + "source": "iana" + }, + "application/vnd.etsi.sci+xml": { + "source": "iana" + }, + "application/vnd.etsi.simservs+xml": { + "source": "iana" + }, + "application/vnd.etsi.timestamp-token": { + "source": "iana" + }, + "application/vnd.etsi.tsl+xml": { + "source": "iana" + }, + "application/vnd.etsi.tsl.der": { + "source": "iana" + }, + "application/vnd.eudora.data": { + "source": "iana" + }, + "application/vnd.evolv.ecig.profile": { + "source": "iana" + }, + "application/vnd.evolv.ecig.settings": { + "source": "iana" + }, + "application/vnd.evolv.ecig.theme": { + "source": "iana" + }, + "application/vnd.ezpix-album": { + "source": "iana", + "extensions": ["ez2"] + }, + "application/vnd.ezpix-package": { + "source": "iana", + "extensions": ["ez3"] + }, + "application/vnd.f-secure.mobile": { + "source": "iana" + }, + "application/vnd.fastcopy-disk-image": { + "source": "iana" + }, + "application/vnd.fdf": { + "source": "iana", + "extensions": ["fdf"] + }, + "application/vnd.fdsn.mseed": { + "source": "iana", + "extensions": ["mseed"] + }, + "application/vnd.fdsn.seed": { + "source": "iana", + "extensions": ["seed","dataless"] + }, + "application/vnd.ffsns": { + "source": "iana" + }, + "application/vnd.filmit.zfc": { + "source": "iana" + }, + "application/vnd.fints": { + "source": "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + "source": "iana" + }, + "application/vnd.flographit": { + "source": "iana", + "extensions": ["gph"] + }, + "application/vnd.fluxtime.clip": { + "source": "iana", + "extensions": ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + "source": "iana" + }, + "application/vnd.framemaker": { + "source": "iana", + "extensions": ["fm","frame","maker","book"] + }, + "application/vnd.frogans.fnc": { + "source": "iana", + "extensions": ["fnc"] + }, + "application/vnd.frogans.ltf": { + "source": "iana", + "extensions": ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + "source": "iana", + "extensions": ["fsc"] + }, + "application/vnd.fujitsu.oasys": { + "source": "iana", + "extensions": ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + "source": "iana", + "extensions": ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + "source": "iana", + "extensions": ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + "source": "iana", + "extensions": ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + "source": "iana", + "extensions": ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + "source": "iana" + }, + "application/vnd.fujixerox.art4": { + "source": "iana" + }, + "application/vnd.fujixerox.ddd": { + "source": "iana", + "extensions": ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + "source": "iana", + "extensions": ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + "source": "iana", + "extensions": ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujixerox.hbpl": { + "source": "iana" + }, + "application/vnd.fut-misnet": { + "source": "iana" + }, + "application/vnd.fuzzysheet": { + "source": "iana", + "extensions": ["fzs"] + }, + "application/vnd.genomatix.tuxedo": { + "source": "iana", + "extensions": ["txd"] + }, + "application/vnd.geo+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.geocube+xml": { + "source": "iana" + }, + "application/vnd.geogebra.file": { + "source": "iana", + "extensions": ["ggb"] + }, + "application/vnd.geogebra.tool": { + "source": "iana", + "extensions": ["ggt"] + }, + "application/vnd.geometry-explorer": { + "source": "iana", + "extensions": ["gex","gre"] + }, + "application/vnd.geonext": { + "source": "iana", + "extensions": ["gxt"] + }, + "application/vnd.geoplan": { + "source": "iana", + "extensions": ["g2w"] + }, + "application/vnd.geospace": { + "source": "iana", + "extensions": ["g3w"] + }, + "application/vnd.gerber": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + "source": "iana" + }, + "application/vnd.gmx": { + "source": "iana", + "extensions": ["gmx"] + }, + "application/vnd.google-apps.document": { + "compressible": false, + "extensions": ["gdoc"] + }, + "application/vnd.google-apps.presentation": { + "compressible": false, + "extensions": ["gslides"] + }, + "application/vnd.google-apps.spreadsheet": { + "compressible": false, + "extensions": ["gsheet"] + }, + "application/vnd.google-earth.kml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["kml"] + }, + "application/vnd.google-earth.kmz": { + "source": "iana", + "compressible": false, + "extensions": ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + "source": "iana" + }, + "application/vnd.gov.sk.e-form+zip": { + "source": "iana" + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + "source": "iana" + }, + "application/vnd.grafeq": { + "source": "iana", + "extensions": ["gqf","gqs"] + }, + "application/vnd.gridmp": { + "source": "iana" + }, + "application/vnd.groove-account": { + "source": "iana", + "extensions": ["gac"] + }, + "application/vnd.groove-help": { + "source": "iana", + "extensions": ["ghf"] + }, + "application/vnd.groove-identity-message": { + "source": "iana", + "extensions": ["gim"] + }, + "application/vnd.groove-injector": { + "source": "iana", + "extensions": ["grv"] + }, + "application/vnd.groove-tool-message": { + "source": "iana", + "extensions": ["gtm"] + }, + "application/vnd.groove-tool-template": { + "source": "iana", + "extensions": ["tpl"] + }, + "application/vnd.groove-vcard": { + "source": "iana", + "extensions": ["vcg"] + }, + "application/vnd.hal+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hal+xml": { + "source": "iana", + "extensions": ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + "source": "iana", + "extensions": ["zmm"] + }, + "application/vnd.hbci": { + "source": "iana", + "extensions": ["hbci"] + }, + "application/vnd.hc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hcl-bireports": { + "source": "iana" + }, + "application/vnd.hdt": { + "source": "iana" + }, + "application/vnd.heroku+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hhe.lesson-player": { + "source": "iana", + "extensions": ["les"] + }, + "application/vnd.hp-hpgl": { + "source": "iana", + "extensions": ["hpgl"] + }, + "application/vnd.hp-hpid": { + "source": "iana", + "extensions": ["hpid"] + }, + "application/vnd.hp-hps": { + "source": "iana", + "extensions": ["hps"] + }, + "application/vnd.hp-jlyt": { + "source": "iana", + "extensions": ["jlt"] + }, + "application/vnd.hp-pcl": { + "source": "iana", + "extensions": ["pcl"] + }, + "application/vnd.hp-pclxl": { + "source": "iana", + "extensions": ["pclxl"] + }, + "application/vnd.httphone": { + "source": "iana" + }, + "application/vnd.hydrostatix.sof-data": { + "source": "iana", + "extensions": ["sfd-hdstx"] + }, + "application/vnd.hyper-item+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hyperdrive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hzn-3d-crossword": { + "source": "iana" + }, + "application/vnd.ibm.afplinedata": { + "source": "iana" + }, + "application/vnd.ibm.electronic-media": { + "source": "iana" + }, + "application/vnd.ibm.minipay": { + "source": "iana", + "extensions": ["mpy"] + }, + "application/vnd.ibm.modcap": { + "source": "iana", + "extensions": ["afp","listafp","list3820"] + }, + "application/vnd.ibm.rights-management": { + "source": "iana", + "extensions": ["irm"] + }, + "application/vnd.ibm.secure-container": { + "source": "iana", + "extensions": ["sc"] + }, + "application/vnd.iccprofile": { + "source": "iana", + "extensions": ["icc","icm"] + }, + "application/vnd.ieee.1905": { + "source": "iana" + }, + "application/vnd.igloader": { + "source": "iana", + "extensions": ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + "source": "iana" + }, + "application/vnd.imagemeter.image+zip": { + "source": "iana" + }, + "application/vnd.immervision-ivp": { + "source": "iana", + "extensions": ["ivp"] + }, + "application/vnd.immervision-ivu": { + "source": "iana", + "extensions": ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p2": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p3": { + "source": "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.informedcontrol.rms+xml": { + "source": "iana" + }, + "application/vnd.informix-visionary": { + "source": "iana" + }, + "application/vnd.infotech.project": { + "source": "iana" + }, + "application/vnd.infotech.project+xml": { + "source": "iana" + }, + "application/vnd.innopath.wamp.notification": { + "source": "iana" + }, + "application/vnd.insors.igm": { + "source": "iana", + "extensions": ["igm"] + }, + "application/vnd.intercon.formnet": { + "source": "iana", + "extensions": ["xpw","xpx"] + }, + "application/vnd.intergeo": { + "source": "iana", + "extensions": ["i2g"] + }, + "application/vnd.intertrust.digibox": { + "source": "iana" + }, + "application/vnd.intertrust.nncp": { + "source": "iana" + }, + "application/vnd.intu.qbo": { + "source": "iana", + "extensions": ["qbo"] + }, + "application/vnd.intu.qfx": { + "source": "iana", + "extensions": ["qfx"] + }, + "application/vnd.iptc.g2.catalogitem+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.conceptitem+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.newsitem+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.newsmessage+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.packageitem+xml": { + "source": "iana" + }, + "application/vnd.iptc.g2.planningitem+xml": { + "source": "iana" + }, + "application/vnd.ipunplugged.rcprofile": { + "source": "iana", + "extensions": ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + "source": "iana", + "extensions": ["irp"] + }, + "application/vnd.is-xpr": { + "source": "iana", + "extensions": ["xpr"] + }, + "application/vnd.isac.fcs": { + "source": "iana", + "extensions": ["fcs"] + }, + "application/vnd.jam": { + "source": "iana", + "extensions": ["jam"] + }, + "application/vnd.japannet-directory-service": { + "source": "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-payment-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-registration": { + "source": "iana" + }, + "application/vnd.japannet-registration-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-verification": { + "source": "iana" + }, + "application/vnd.japannet-verification-wakeup": { + "source": "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + "source": "iana", + "extensions": ["rms"] + }, + "application/vnd.jisp": { + "source": "iana", + "extensions": ["jisp"] + }, + "application/vnd.joost.joda-archive": { + "source": "iana", + "extensions": ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + "source": "iana" + }, + "application/vnd.kahootz": { + "source": "iana", + "extensions": ["ktz","ktr"] + }, + "application/vnd.kde.karbon": { + "source": "iana", + "extensions": ["karbon"] + }, + "application/vnd.kde.kchart": { + "source": "iana", + "extensions": ["chrt"] + }, + "application/vnd.kde.kformula": { + "source": "iana", + "extensions": ["kfo"] + }, + "application/vnd.kde.kivio": { + "source": "iana", + "extensions": ["flw"] + }, + "application/vnd.kde.kontour": { + "source": "iana", + "extensions": ["kon"] + }, + "application/vnd.kde.kpresenter": { + "source": "iana", + "extensions": ["kpr","kpt"] + }, + "application/vnd.kde.kspread": { + "source": "iana", + "extensions": ["ksp"] + }, + "application/vnd.kde.kword": { + "source": "iana", + "extensions": ["kwd","kwt"] + }, + "application/vnd.kenameaapp": { + "source": "iana", + "extensions": ["htke"] + }, + "application/vnd.kidspiration": { + "source": "iana", + "extensions": ["kia"] + }, + "application/vnd.kinar": { + "source": "iana", + "extensions": ["kne","knp"] + }, + "application/vnd.koan": { + "source": "iana", + "extensions": ["skp","skd","skt","skm"] + }, + "application/vnd.kodak-descriptor": { + "source": "iana", + "extensions": ["sse"] + }, + "application/vnd.las.las+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.las.las+xml": { + "source": "iana", + "extensions": ["lasxml"] + }, + "application/vnd.liberty-request+xml": { + "source": "iana" + }, + "application/vnd.llamagraphics.life-balance.desktop": { + "source": "iana", + "extensions": ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + "source": "iana", + "extensions": ["lbe"] + }, + "application/vnd.lotus-1-2-3": { + "source": "iana", + "extensions": ["123"] + }, + "application/vnd.lotus-approach": { + "source": "iana", + "extensions": ["apr"] + }, + "application/vnd.lotus-freelance": { + "source": "iana", + "extensions": ["pre"] + }, + "application/vnd.lotus-notes": { + "source": "iana", + "extensions": ["nsf"] + }, + "application/vnd.lotus-organizer": { + "source": "iana", + "extensions": ["org"] + }, + "application/vnd.lotus-screencam": { + "source": "iana", + "extensions": ["scm"] + }, + "application/vnd.lotus-wordpro": { + "source": "iana", + "extensions": ["lwp"] + }, + "application/vnd.macports.portpkg": { + "source": "iana", + "extensions": ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + "source": "iana" + }, + "application/vnd.marlin.drm.actiontoken+xml": { + "source": "iana" + }, + "application/vnd.marlin.drm.conftoken+xml": { + "source": "iana" + }, + "application/vnd.marlin.drm.license+xml": { + "source": "iana" + }, + "application/vnd.marlin.drm.mdcf": { + "source": "iana" + }, + "application/vnd.mason+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.maxmind.maxmind-db": { + "source": "iana" + }, + "application/vnd.mcd": { + "source": "iana", + "extensions": ["mcd"] + }, + "application/vnd.medcalcdata": { + "source": "iana", + "extensions": ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + "source": "iana", + "extensions": ["cdkey"] + }, + "application/vnd.meridian-slingshot": { + "source": "iana" + }, + "application/vnd.mfer": { + "source": "iana", + "extensions": ["mwf"] + }, + "application/vnd.mfmp": { + "source": "iana", + "extensions": ["mfm"] + }, + "application/vnd.micro+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.micrografx.flo": { + "source": "iana", + "extensions": ["flo"] + }, + "application/vnd.micrografx.igx": { + "source": "iana", + "extensions": ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + "source": "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + "source": "iana" + }, + "application/vnd.miele+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.mif": { + "source": "iana", + "extensions": ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + "source": "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + "source": "iana" + }, + "application/vnd.mobius.daf": { + "source": "iana", + "extensions": ["daf"] + }, + "application/vnd.mobius.dis": { + "source": "iana", + "extensions": ["dis"] + }, + "application/vnd.mobius.mbk": { + "source": "iana", + "extensions": ["mbk"] + }, + "application/vnd.mobius.mqy": { + "source": "iana", + "extensions": ["mqy"] + }, + "application/vnd.mobius.msl": { + "source": "iana", + "extensions": ["msl"] + }, + "application/vnd.mobius.plc": { + "source": "iana", + "extensions": ["plc"] + }, + "application/vnd.mobius.txf": { + "source": "iana", + "extensions": ["txf"] + }, + "application/vnd.mophun.application": { + "source": "iana", + "extensions": ["mpn"] + }, + "application/vnd.mophun.certificate": { + "source": "iana", + "extensions": ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + "source": "iana" + }, + "application/vnd.motorola.iprm": { + "source": "iana" + }, + "application/vnd.mozilla.xul+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xul"] + }, + "application/vnd.ms-3mfdocument": { + "source": "iana" + }, + "application/vnd.ms-artgalry": { + "source": "iana", + "extensions": ["cil"] + }, + "application/vnd.ms-asf": { + "source": "iana" + }, + "application/vnd.ms-cab-compressed": { + "source": "iana", + "extensions": ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + "source": "apache" + }, + "application/vnd.ms-excel": { + "source": "iana", + "compressible": false, + "extensions": ["xls","xlm","xla","xlc","xlt","xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + "source": "iana", + "extensions": ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + "source": "iana", + "extensions": ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + "source": "iana", + "extensions": ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + "source": "iana", + "extensions": ["xltm"] + }, + "application/vnd.ms-fontobject": { + "source": "iana", + "compressible": true, + "extensions": ["eot"] + }, + "application/vnd.ms-htmlhelp": { + "source": "iana", + "extensions": ["chm"] + }, + "application/vnd.ms-ims": { + "source": "iana", + "extensions": ["ims"] + }, + "application/vnd.ms-lrm": { + "source": "iana", + "extensions": ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + "source": "iana" + }, + "application/vnd.ms-officetheme": { + "source": "iana", + "extensions": ["thmx"] + }, + "application/vnd.ms-opentype": { + "source": "apache", + "compressible": true + }, + "application/vnd.ms-outlook": { + "compressible": false, + "extensions": ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + "source": "apache" + }, + "application/vnd.ms-pki.seccat": { + "source": "apache", + "extensions": ["cat"] + }, + "application/vnd.ms-pki.stl": { + "source": "apache", + "extensions": ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + "source": "iana" + }, + "application/vnd.ms-powerpoint": { + "source": "iana", + "compressible": false, + "extensions": ["ppt","pps","pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + "source": "iana", + "extensions": ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + "source": "iana", + "extensions": ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + "source": "iana", + "extensions": ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + "source": "iana", + "extensions": ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + "source": "iana", + "extensions": ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + "source": "iana" + }, + "application/vnd.ms-printing.printticket+xml": { + "source": "apache" + }, + "application/vnd.ms-printschematicket+xml": { + "source": "iana" + }, + "application/vnd.ms-project": { + "source": "iana", + "extensions": ["mpp","mpt"] + }, + "application/vnd.ms-tnef": { + "source": "iana" + }, + "application/vnd.ms-windows.devicepairing": { + "source": "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + "source": "iana" + }, + "application/vnd.ms-windows.printerpairing": { + "source": "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + "source": "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + "source": "iana", + "extensions": ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + "source": "iana", + "extensions": ["dotm"] + }, + "application/vnd.ms-works": { + "source": "iana", + "extensions": ["wps","wks","wcm","wdb"] + }, + "application/vnd.ms-wpl": { + "source": "iana", + "extensions": ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + "source": "iana", + "compressible": false, + "extensions": ["xps"] + }, + "application/vnd.msa-disk-image": { + "source": "iana" + }, + "application/vnd.mseq": { + "source": "iana", + "extensions": ["mseq"] + }, + "application/vnd.msign": { + "source": "iana" + }, + "application/vnd.multiad.creator": { + "source": "iana" + }, + "application/vnd.multiad.creator.cif": { + "source": "iana" + }, + "application/vnd.music-niff": { + "source": "iana" + }, + "application/vnd.musician": { + "source": "iana", + "extensions": ["mus"] + }, + "application/vnd.muvee.style": { + "source": "iana", + "extensions": ["msty"] + }, + "application/vnd.mynfc": { + "source": "iana", + "extensions": ["taglet"] + }, + "application/vnd.ncd.control": { + "source": "iana" + }, + "application/vnd.ncd.reference": { + "source": "iana" + }, + "application/vnd.nearst.inv+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.nervana": { + "source": "iana" + }, + "application/vnd.netfpx": { + "source": "iana" + }, + "application/vnd.neurolanguage.nlu": { + "source": "iana", + "extensions": ["nlu"] + }, + "application/vnd.nintendo.nitro.rom": { + "source": "iana" + }, + "application/vnd.nintendo.snes.rom": { + "source": "iana" + }, + "application/vnd.nitf": { + "source": "iana", + "extensions": ["ntf","nitf"] + }, + "application/vnd.noblenet-directory": { + "source": "iana", + "extensions": ["nnd"] + }, + "application/vnd.noblenet-sealer": { + "source": "iana", + "extensions": ["nns"] + }, + "application/vnd.noblenet-web": { + "source": "iana", + "extensions": ["nnw"] + }, + "application/vnd.nokia.catalogs": { + "source": "iana" + }, + "application/vnd.nokia.conml+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.conml+xml": { + "source": "iana" + }, + "application/vnd.nokia.iptv.config+xml": { + "source": "iana" + }, + "application/vnd.nokia.isds-radio-presets": { + "source": "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.landmark+xml": { + "source": "iana" + }, + "application/vnd.nokia.landmarkcollection+xml": { + "source": "iana" + }, + "application/vnd.nokia.n-gage.ac+xml": { + "source": "iana" + }, + "application/vnd.nokia.n-gage.data": { + "source": "iana", + "extensions": ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + "source": "iana", + "extensions": ["n-gage"] + }, + "application/vnd.nokia.ncd": { + "source": "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.pcd+xml": { + "source": "iana" + }, + "application/vnd.nokia.radio-preset": { + "source": "iana", + "extensions": ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + "source": "iana", + "extensions": ["rpss"] + }, + "application/vnd.novadigm.edm": { + "source": "iana", + "extensions": ["edm"] + }, + "application/vnd.novadigm.edx": { + "source": "iana", + "extensions": ["edx"] + }, + "application/vnd.novadigm.ext": { + "source": "iana", + "extensions": ["ext"] + }, + "application/vnd.ntt-local.content-share": { + "source": "iana" + }, + "application/vnd.ntt-local.file-transfer": { + "source": "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + "source": "iana" + }, + "application/vnd.oasis.opendocument.chart": { + "source": "iana", + "extensions": ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + "source": "iana", + "extensions": ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + "source": "iana", + "extensions": ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + "source": "iana", + "extensions": ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + "source": "iana", + "extensions": ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + "source": "iana", + "compressible": false, + "extensions": ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + "source": "iana", + "extensions": ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + "source": "iana", + "extensions": ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + "source": "iana", + "extensions": ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + "source": "iana", + "extensions": ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + "source": "iana", + "compressible": false, + "extensions": ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + "source": "iana", + "extensions": ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + "source": "iana", + "compressible": false, + "extensions": ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + "source": "iana", + "extensions": ["odm"] + }, + "application/vnd.oasis.opendocument.text-template": { + "source": "iana", + "extensions": ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + "source": "iana", + "extensions": ["oth"] + }, + "application/vnd.obn": { + "source": "iana" + }, + "application/vnd.ocf+cbor": { + "source": "iana" + }, + "application/vnd.oftn.l10n+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + "source": "iana" + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + "source": "iana" + }, + "application/vnd.oipf.cspg-hexbinary": { + "source": "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + "source": "iana" + }, + "application/vnd.oipf.dae.xhtml+xml": { + "source": "iana" + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + "source": "iana" + }, + "application/vnd.oipf.pae.gem": { + "source": "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + "source": "iana" + }, + "application/vnd.oipf.spdlist+xml": { + "source": "iana" + }, + "application/vnd.oipf.ueprofile+xml": { + "source": "iana" + }, + "application/vnd.oipf.userprofile+xml": { + "source": "iana" + }, + "application/vnd.olpc-sugar": { + "source": "iana", + "extensions": ["xo"] + }, + "application/vnd.oma-scws-config": { + "source": "iana" + }, + "application/vnd.oma-scws-http-request": { + "source": "iana" + }, + "application/vnd.oma-scws-http-response": { + "source": "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.imd+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.ltkm": { + "source": "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.provisioningtrigger": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgboot": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgdu": { + "source": "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + "source": "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.sprov+xml": { + "source": "iana" + }, + "application/vnd.oma.bcast.stkm": { + "source": "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + "source": "iana" + }, + "application/vnd.oma.cab-feature-handler+xml": { + "source": "iana" + }, + "application/vnd.oma.cab-pcc+xml": { + "source": "iana" + }, + "application/vnd.oma.cab-subs-invite+xml": { + "source": "iana" + }, + "application/vnd.oma.cab-user-prefs+xml": { + "source": "iana" + }, + "application/vnd.oma.dcd": { + "source": "iana" + }, + "application/vnd.oma.dcdc": { + "source": "iana" + }, + "application/vnd.oma.dd2+xml": { + "source": "iana", + "extensions": ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + "source": "iana" + }, + "application/vnd.oma.group-usage-list+xml": { + "source": "iana" + }, + "application/vnd.oma.lwm2m+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.lwm2m+tlv": { + "source": "iana" + }, + "application/vnd.oma.pal+xml": { + "source": "iana" + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + "source": "iana" + }, + "application/vnd.oma.poc.final-report+xml": { + "source": "iana" + }, + "application/vnd.oma.poc.groups+xml": { + "source": "iana" + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + "source": "iana" + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + "source": "iana" + }, + "application/vnd.oma.push": { + "source": "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + "source": "iana" + }, + "application/vnd.oma.xcap-directory+xml": { + "source": "iana" + }, + "application/vnd.omads-email+xml": { + "source": "iana" + }, + "application/vnd.omads-file+xml": { + "source": "iana" + }, + "application/vnd.omads-folder+xml": { + "source": "iana" + }, + "application/vnd.omaloc-supl-init": { + "source": "iana" + }, + "application/vnd.onepager": { + "source": "iana" + }, + "application/vnd.onepagertamp": { + "source": "iana" + }, + "application/vnd.onepagertamx": { + "source": "iana" + }, + "application/vnd.onepagertat": { + "source": "iana" + }, + "application/vnd.onepagertatp": { + "source": "iana" + }, + "application/vnd.onepagertatx": { + "source": "iana" + }, + "application/vnd.openblox.game+xml": { + "source": "iana" + }, + "application/vnd.openblox.game-binary": { + "source": "iana" + }, + "application/vnd.openeye.oeb": { + "source": "iana" + }, + "application/vnd.openofficeorg.extension": { + "source": "apache", + "extensions": ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml-template": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + "source": "iana", + "extensions": ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + "source": "iana", + "extensions": ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + "source": "apache", + "extensions": ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml-template": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "source": "iana", + "compressible": false, + "extensions": ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + "source": "apache", + "extensions": ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml-template": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + "source": "iana", + "compressible": false, + "extensions": ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + "source": "apache", + "extensions": ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + "source": "iana" + }, + "application/vnd.openxmlformats-package.relationships+xml": { + "source": "iana" + }, + "application/vnd.oracle.resource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.orange.indata": { + "source": "iana" + }, + "application/vnd.osa.netdeploy": { + "source": "iana" + }, + "application/vnd.osgeo.mapguide.package": { + "source": "iana", + "extensions": ["mgp"] + }, + "application/vnd.osgi.bundle": { + "source": "iana" + }, + "application/vnd.osgi.dp": { + "source": "iana", + "extensions": ["dp"] + }, + "application/vnd.osgi.subsystem": { + "source": "iana", + "extensions": ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + "source": "iana" + }, + "application/vnd.oxli.countgraph": { + "source": "iana" + }, + "application/vnd.pagerduty+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.palm": { + "source": "iana", + "extensions": ["pdb","pqa","oprc"] + }, + "application/vnd.panoply": { + "source": "iana" + }, + "application/vnd.paos+xml": { + "source": "iana" + }, + "application/vnd.paos.xml": { + "source": "apache" + }, + "application/vnd.pawaafile": { + "source": "iana", + "extensions": ["paw"] + }, + "application/vnd.pcos": { + "source": "iana" + }, + "application/vnd.pg.format": { + "source": "iana", + "extensions": ["str"] + }, + "application/vnd.pg.osasli": { + "source": "iana", + "extensions": ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + "source": "iana" + }, + "application/vnd.picsel": { + "source": "iana", + "extensions": ["efif"] + }, + "application/vnd.pmi.widget": { + "source": "iana", + "extensions": ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + "source": "iana" + }, + "application/vnd.pocketlearn": { + "source": "iana", + "extensions": ["plf"] + }, + "application/vnd.powerbuilder6": { + "source": "iana", + "extensions": ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + "source": "iana" + }, + "application/vnd.powerbuilder7": { + "source": "iana" + }, + "application/vnd.powerbuilder7-s": { + "source": "iana" + }, + "application/vnd.powerbuilder75": { + "source": "iana" + }, + "application/vnd.powerbuilder75-s": { + "source": "iana" + }, + "application/vnd.preminet": { + "source": "iana" + }, + "application/vnd.previewsystems.box": { + "source": "iana", + "extensions": ["box"] + }, + "application/vnd.proteus.magazine": { + "source": "iana", + "extensions": ["mgz"] + }, + "application/vnd.publishare-delta-tree": { + "source": "iana", + "extensions": ["qps"] + }, + "application/vnd.pvi.ptid1": { + "source": "iana", + "extensions": ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + "source": "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + "source": "iana" + }, + "application/vnd.qualcomm.brew-app-res": { + "source": "iana" + }, + "application/vnd.quarantainenet": { + "source": "iana" + }, + "application/vnd.quark.quarkxpress": { + "source": "iana", + "extensions": ["qxd","qxt","qwd","qwt","qxl","qxb"] + }, + "application/vnd.quobject-quoxdocument": { + "source": "iana" + }, + "application/vnd.radisys.moml+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-audit+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-audit-conf+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-audit-conn+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-audit-stream+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-conf+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-base+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-group+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + "source": "iana" + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + "source": "iana" + }, + "application/vnd.rainstor.data": { + "source": "iana" + }, + "application/vnd.rapid": { + "source": "iana" + }, + "application/vnd.rar": { + "source": "iana" + }, + "application/vnd.realvnc.bed": { + "source": "iana", + "extensions": ["bed"] + }, + "application/vnd.recordare.musicxml": { + "source": "iana", + "extensions": ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + "source": "iana", + "extensions": ["musicxml"] + }, + "application/vnd.renlearn.rlprint": { + "source": "iana" + }, + "application/vnd.rig.cryptonote": { + "source": "iana", + "extensions": ["cryptonote"] + }, + "application/vnd.rim.cod": { + "source": "apache", + "extensions": ["cod"] + }, + "application/vnd.rn-realmedia": { + "source": "apache", + "extensions": ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + "source": "apache", + "extensions": ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + "source": "iana", + "extensions": ["link66"] + }, + "application/vnd.rs-274x": { + "source": "iana" + }, + "application/vnd.ruckus.download": { + "source": "iana" + }, + "application/vnd.s3sms": { + "source": "iana" + }, + "application/vnd.sailingtracker.track": { + "source": "iana", + "extensions": ["st"] + }, + "application/vnd.sbm.cid": { + "source": "iana" + }, + "application/vnd.sbm.mid2": { + "source": "iana" + }, + "application/vnd.scribus": { + "source": "iana" + }, + "application/vnd.sealed.3df": { + "source": "iana" + }, + "application/vnd.sealed.csf": { + "source": "iana" + }, + "application/vnd.sealed.doc": { + "source": "iana" + }, + "application/vnd.sealed.eml": { + "source": "iana" + }, + "application/vnd.sealed.mht": { + "source": "iana" + }, + "application/vnd.sealed.net": { + "source": "iana" + }, + "application/vnd.sealed.ppt": { + "source": "iana" + }, + "application/vnd.sealed.tiff": { + "source": "iana" + }, + "application/vnd.sealed.xls": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + "source": "iana" + }, + "application/vnd.seemail": { + "source": "iana", + "extensions": ["see"] + }, + "application/vnd.sema": { + "source": "iana", + "extensions": ["sema"] + }, + "application/vnd.semd": { + "source": "iana", + "extensions": ["semd"] + }, + "application/vnd.semf": { + "source": "iana", + "extensions": ["semf"] + }, + "application/vnd.shana.informed.formdata": { + "source": "iana", + "extensions": ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + "source": "iana", + "extensions": ["itp"] + }, + "application/vnd.shana.informed.interchange": { + "source": "iana", + "extensions": ["iif"] + }, + "application/vnd.shana.informed.package": { + "source": "iana", + "extensions": ["ipk"] + }, + "application/vnd.sigrok.session": { + "source": "iana" + }, + "application/vnd.simtech-mindmapper": { + "source": "iana", + "extensions": ["twd","twds"] + }, + "application/vnd.siren+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.smaf": { + "source": "iana", + "extensions": ["mmf"] + }, + "application/vnd.smart.notebook": { + "source": "iana" + }, + "application/vnd.smart.teacher": { + "source": "iana", + "extensions": ["teacher"] + }, + "application/vnd.software602.filler.form+xml": { + "source": "iana" + }, + "application/vnd.software602.filler.form-xml-zip": { + "source": "iana" + }, + "application/vnd.solent.sdkm+xml": { + "source": "iana", + "extensions": ["sdkm","sdkd"] + }, + "application/vnd.spotfire.dxp": { + "source": "iana", + "extensions": ["dxp"] + }, + "application/vnd.spotfire.sfs": { + "source": "iana", + "extensions": ["sfs"] + }, + "application/vnd.sss-cod": { + "source": "iana" + }, + "application/vnd.sss-dtf": { + "source": "iana" + }, + "application/vnd.sss-ntf": { + "source": "iana" + }, + "application/vnd.stardivision.calc": { + "source": "apache", + "extensions": ["sdc"] + }, + "application/vnd.stardivision.draw": { + "source": "apache", + "extensions": ["sda"] + }, + "application/vnd.stardivision.impress": { + "source": "apache", + "extensions": ["sdd"] + }, + "application/vnd.stardivision.math": { + "source": "apache", + "extensions": ["smf"] + }, + "application/vnd.stardivision.writer": { + "source": "apache", + "extensions": ["sdw","vor"] + }, + "application/vnd.stardivision.writer-global": { + "source": "apache", + "extensions": ["sgl"] + }, + "application/vnd.stepmania.package": { + "source": "iana", + "extensions": ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + "source": "iana", + "extensions": ["sm"] + }, + "application/vnd.street-stream": { + "source": "iana" + }, + "application/vnd.sun.wadl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wadl"] + }, + "application/vnd.sun.xml.calc": { + "source": "apache", + "extensions": ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + "source": "apache", + "extensions": ["stc"] + }, + "application/vnd.sun.xml.draw": { + "source": "apache", + "extensions": ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + "source": "apache", + "extensions": ["std"] + }, + "application/vnd.sun.xml.impress": { + "source": "apache", + "extensions": ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + "source": "apache", + "extensions": ["sti"] + }, + "application/vnd.sun.xml.math": { + "source": "apache", + "extensions": ["sxm"] + }, + "application/vnd.sun.xml.writer": { + "source": "apache", + "extensions": ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + "source": "apache", + "extensions": ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + "source": "apache", + "extensions": ["stw"] + }, + "application/vnd.sus-calendar": { + "source": "iana", + "extensions": ["sus","susp"] + }, + "application/vnd.svd": { + "source": "iana", + "extensions": ["svd"] + }, + "application/vnd.swiftview-ics": { + "source": "iana" + }, + "application/vnd.symbian.install": { + "source": "apache", + "extensions": ["sis","sisx"] + }, + "application/vnd.syncml+xml": { + "source": "iana", + "extensions": ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + "source": "iana", + "extensions": ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + "source": "iana", + "extensions": ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+xml": { + "source": "iana" + }, + "application/vnd.syncml.dmtnds+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + "source": "iana" + }, + "application/vnd.syncml.ds.notification": { + "source": "iana" + }, + "application/vnd.tableschema+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.tao.intent-module-archive": { + "source": "iana", + "extensions": ["tao"] + }, + "application/vnd.tcpdump.pcap": { + "source": "iana", + "extensions": ["pcap","cap","dmp"] + }, + "application/vnd.tmd.mediaflex.api+xml": { + "source": "iana" + }, + "application/vnd.tml": { + "source": "iana" + }, + "application/vnd.tmobile-livetv": { + "source": "iana", + "extensions": ["tmo"] + }, + "application/vnd.tri.onesource": { + "source": "iana" + }, + "application/vnd.trid.tpt": { + "source": "iana", + "extensions": ["tpt"] + }, + "application/vnd.triscape.mxs": { + "source": "iana", + "extensions": ["mxs"] + }, + "application/vnd.trueapp": { + "source": "iana", + "extensions": ["tra"] + }, + "application/vnd.truedoc": { + "source": "iana" + }, + "application/vnd.ubisoft.webplayer": { + "source": "iana" + }, + "application/vnd.ufdl": { + "source": "iana", + "extensions": ["ufd","ufdl"] + }, + "application/vnd.uiq.theme": { + "source": "iana", + "extensions": ["utz"] + }, + "application/vnd.umajin": { + "source": "iana", + "extensions": ["umj"] + }, + "application/vnd.unity": { + "source": "iana", + "extensions": ["unityweb"] + }, + "application/vnd.uoml+xml": { + "source": "iana", + "extensions": ["uoml"] + }, + "application/vnd.uplanet.alert": { + "source": "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.channel": { + "source": "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.list": { + "source": "iana" + }, + "application/vnd.uplanet.list-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.signal": { + "source": "iana" + }, + "application/vnd.uri-map": { + "source": "iana" + }, + "application/vnd.valve.source.material": { + "source": "iana" + }, + "application/vnd.vcx": { + "source": "iana", + "extensions": ["vcx"] + }, + "application/vnd.vd-study": { + "source": "iana" + }, + "application/vnd.vectorworks": { + "source": "iana" + }, + "application/vnd.vel+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.verimatrix.vcas": { + "source": "iana" + }, + "application/vnd.vidsoft.vidconference": { + "source": "iana" + }, + "application/vnd.visio": { + "source": "iana", + "extensions": ["vsd","vst","vss","vsw"] + }, + "application/vnd.visionary": { + "source": "iana", + "extensions": ["vis"] + }, + "application/vnd.vividence.scriptfile": { + "source": "iana" + }, + "application/vnd.vsf": { + "source": "iana", + "extensions": ["vsf"] + }, + "application/vnd.wap.sic": { + "source": "iana" + }, + "application/vnd.wap.slc": { + "source": "iana" + }, + "application/vnd.wap.wbxml": { + "source": "iana", + "extensions": ["wbxml"] + }, + "application/vnd.wap.wmlc": { + "source": "iana", + "extensions": ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + "source": "iana", + "extensions": ["wmlsc"] + }, + "application/vnd.webturbo": { + "source": "iana", + "extensions": ["wtb"] + }, + "application/vnd.wfa.p2p": { + "source": "iana" + }, + "application/vnd.wfa.wsc": { + "source": "iana" + }, + "application/vnd.windows.devicepairing": { + "source": "iana" + }, + "application/vnd.wmc": { + "source": "iana" + }, + "application/vnd.wmf.bootstrap": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica.package": { + "source": "iana" + }, + "application/vnd.wolfram.player": { + "source": "iana", + "extensions": ["nbp"] + }, + "application/vnd.wordperfect": { + "source": "iana", + "extensions": ["wpd"] + }, + "application/vnd.wqd": { + "source": "iana", + "extensions": ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + "source": "iana" + }, + "application/vnd.wt.stf": { + "source": "iana", + "extensions": ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + "source": "iana" + }, + "application/vnd.wv.csp+xml": { + "source": "iana" + }, + "application/vnd.wv.ssp+xml": { + "source": "iana" + }, + "application/vnd.xacml+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.xara": { + "source": "iana", + "extensions": ["xar"] + }, + "application/vnd.xfdl": { + "source": "iana", + "extensions": ["xfdl"] + }, + "application/vnd.xfdl.webform": { + "source": "iana" + }, + "application/vnd.xmi+xml": { + "source": "iana" + }, + "application/vnd.xmpie.cpkg": { + "source": "iana" + }, + "application/vnd.xmpie.dpkg": { + "source": "iana" + }, + "application/vnd.xmpie.plan": { + "source": "iana" + }, + "application/vnd.xmpie.ppkg": { + "source": "iana" + }, + "application/vnd.xmpie.xlim": { + "source": "iana" + }, + "application/vnd.yamaha.hv-dic": { + "source": "iana", + "extensions": ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + "source": "iana", + "extensions": ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + "source": "iana", + "extensions": ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + "source": "iana", + "extensions": ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + "source": "iana", + "extensions": ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + "source": "iana" + }, + "application/vnd.yamaha.smaf-audio": { + "source": "iana", + "extensions": ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + "source": "iana", + "extensions": ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + "source": "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + "source": "iana" + }, + "application/vnd.yaoweme": { + "source": "iana" + }, + "application/vnd.yellowriver-custom-menu": { + "source": "iana", + "extensions": ["cmp"] + }, + "application/vnd.zul": { + "source": "iana", + "extensions": ["zir","zirz"] + }, + "application/vnd.zzazz.deck+xml": { + "source": "iana", + "extensions": ["zaz"] + }, + "application/voicexml+xml": { + "source": "iana", + "extensions": ["vxml"] + }, + "application/vq-rtcpxr": { + "source": "iana" + }, + "application/watcherinfo+xml": { + "source": "iana" + }, + "application/whoispp-query": { + "source": "iana" + }, + "application/whoispp-response": { + "source": "iana" + }, + "application/widget": { + "source": "iana", + "extensions": ["wgt"] + }, + "application/winhlp": { + "source": "apache", + "extensions": ["hlp"] + }, + "application/wita": { + "source": "iana" + }, + "application/wordperfect5.1": { + "source": "iana" + }, + "application/wsdl+xml": { + "source": "iana", + "extensions": ["wsdl"] + }, + "application/wspolicy+xml": { + "source": "iana", + "extensions": ["wspolicy"] + }, + "application/x-7z-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["7z"] + }, + "application/x-abiword": { + "source": "apache", + "extensions": ["abw"] + }, + "application/x-ace-compressed": { + "source": "apache", + "extensions": ["ace"] + }, + "application/x-amf": { + "source": "apache" + }, + "application/x-apple-diskimage": { + "source": "apache", + "extensions": ["dmg"] + }, + "application/x-arj": { + "compressible": false, + "extensions": ["arj"] + }, + "application/x-authorware-bin": { + "source": "apache", + "extensions": ["aab","x32","u32","vox"] + }, + "application/x-authorware-map": { + "source": "apache", + "extensions": ["aam"] + }, + "application/x-authorware-seg": { + "source": "apache", + "extensions": ["aas"] + }, + "application/x-bcpio": { + "source": "apache", + "extensions": ["bcpio"] + }, + "application/x-bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/x-bittorrent": { + "source": "apache", + "extensions": ["torrent"] + }, + "application/x-blorb": { + "source": "apache", + "extensions": ["blb","blorb"] + }, + "application/x-bzip": { + "source": "apache", + "compressible": false, + "extensions": ["bz"] + }, + "application/x-bzip2": { + "source": "apache", + "compressible": false, + "extensions": ["bz2","boz"] + }, + "application/x-cbr": { + "source": "apache", + "extensions": ["cbr","cba","cbt","cbz","cb7"] + }, + "application/x-cdlink": { + "source": "apache", + "extensions": ["vcd"] + }, + "application/x-cfs-compressed": { + "source": "apache", + "extensions": ["cfs"] + }, + "application/x-chat": { + "source": "apache", + "extensions": ["chat"] + }, + "application/x-chess-pgn": { + "source": "apache", + "extensions": ["pgn"] + }, + "application/x-chrome-extension": { + "extensions": ["crx"] + }, + "application/x-cocoa": { + "source": "nginx", + "extensions": ["cco"] + }, + "application/x-compress": { + "source": "apache" + }, + "application/x-conference": { + "source": "apache", + "extensions": ["nsc"] + }, + "application/x-cpio": { + "source": "apache", + "extensions": ["cpio"] + }, + "application/x-csh": { + "source": "apache", + "extensions": ["csh"] + }, + "application/x-deb": { + "compressible": false + }, + "application/x-debian-package": { + "source": "apache", + "extensions": ["deb","udeb"] + }, + "application/x-dgc-compressed": { + "source": "apache", + "extensions": ["dgc"] + }, + "application/x-director": { + "source": "apache", + "extensions": ["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"] + }, + "application/x-doom": { + "source": "apache", + "extensions": ["wad"] + }, + "application/x-dtbncx+xml": { + "source": "apache", + "extensions": ["ncx"] + }, + "application/x-dtbook+xml": { + "source": "apache", + "extensions": ["dtb"] + }, + "application/x-dtbresource+xml": { + "source": "apache", + "extensions": ["res"] + }, + "application/x-dvi": { + "source": "apache", + "compressible": false, + "extensions": ["dvi"] + }, + "application/x-envoy": { + "source": "apache", + "extensions": ["evy"] + }, + "application/x-eva": { + "source": "apache", + "extensions": ["eva"] + }, + "application/x-font-bdf": { + "source": "apache", + "extensions": ["bdf"] + }, + "application/x-font-dos": { + "source": "apache" + }, + "application/x-font-framemaker": { + "source": "apache" + }, + "application/x-font-ghostscript": { + "source": "apache", + "extensions": ["gsf"] + }, + "application/x-font-libgrx": { + "source": "apache" + }, + "application/x-font-linux-psf": { + "source": "apache", + "extensions": ["psf"] + }, + "application/x-font-otf": { + "source": "apache", + "compressible": true, + "extensions": ["otf"] + }, + "application/x-font-pcf": { + "source": "apache", + "extensions": ["pcf"] + }, + "application/x-font-snf": { + "source": "apache", + "extensions": ["snf"] + }, + "application/x-font-speedo": { + "source": "apache" + }, + "application/x-font-sunos-news": { + "source": "apache" + }, + "application/x-font-ttf": { + "source": "apache", + "compressible": true, + "extensions": ["ttf","ttc"] + }, + "application/x-font-type1": { + "source": "apache", + "extensions": ["pfa","pfb","pfm","afm"] + }, + "application/x-font-vfont": { + "source": "apache" + }, + "application/x-freearc": { + "source": "apache", + "extensions": ["arc"] + }, + "application/x-futuresplash": { + "source": "apache", + "extensions": ["spl"] + }, + "application/x-gca-compressed": { + "source": "apache", + "extensions": ["gca"] + }, + "application/x-glulx": { + "source": "apache", + "extensions": ["ulx"] + }, + "application/x-gnumeric": { + "source": "apache", + "extensions": ["gnumeric"] + }, + "application/x-gramps-xml": { + "source": "apache", + "extensions": ["gramps"] + }, + "application/x-gtar": { + "source": "apache", + "extensions": ["gtar"] + }, + "application/x-gzip": { + "source": "apache" + }, + "application/x-hdf": { + "source": "apache", + "extensions": ["hdf"] + }, + "application/x-httpd-php": { + "compressible": true, + "extensions": ["php"] + }, + "application/x-install-instructions": { + "source": "apache", + "extensions": ["install"] + }, + "application/x-iso9660-image": { + "source": "apache", + "extensions": ["iso"] + }, + "application/x-java-archive-diff": { + "source": "nginx", + "extensions": ["jardiff"] + }, + "application/x-java-jnlp-file": { + "source": "apache", + "compressible": false, + "extensions": ["jnlp"] + }, + "application/x-javascript": { + "compressible": true + }, + "application/x-latex": { + "source": "apache", + "compressible": false, + "extensions": ["latex"] + }, + "application/x-lua-bytecode": { + "extensions": ["luac"] + }, + "application/x-lzh-compressed": { + "source": "apache", + "extensions": ["lzh","lha"] + }, + "application/x-makeself": { + "source": "nginx", + "extensions": ["run"] + }, + "application/x-mie": { + "source": "apache", + "extensions": ["mie"] + }, + "application/x-mobipocket-ebook": { + "source": "apache", + "extensions": ["prc","mobi"] + }, + "application/x-mpegurl": { + "compressible": false + }, + "application/x-ms-application": { + "source": "apache", + "extensions": ["application"] + }, + "application/x-ms-shortcut": { + "source": "apache", + "extensions": ["lnk"] + }, + "application/x-ms-wmd": { + "source": "apache", + "extensions": ["wmd"] + }, + "application/x-ms-wmz": { + "source": "apache", + "extensions": ["wmz"] + }, + "application/x-ms-xbap": { + "source": "apache", + "extensions": ["xbap"] + }, + "application/x-msaccess": { + "source": "apache", + "extensions": ["mdb"] + }, + "application/x-msbinder": { + "source": "apache", + "extensions": ["obd"] + }, + "application/x-mscardfile": { + "source": "apache", + "extensions": ["crd"] + }, + "application/x-msclip": { + "source": "apache", + "extensions": ["clp"] + }, + "application/x-msdos-program": { + "extensions": ["exe"] + }, + "application/x-msdownload": { + "source": "apache", + "extensions": ["exe","dll","com","bat","msi"] + }, + "application/x-msmediaview": { + "source": "apache", + "extensions": ["mvb","m13","m14"] + }, + "application/x-msmetafile": { + "source": "apache", + "extensions": ["wmf","wmz","emf","emz"] + }, + "application/x-msmoney": { + "source": "apache", + "extensions": ["mny"] + }, + "application/x-mspublisher": { + "source": "apache", + "extensions": ["pub"] + }, + "application/x-msschedule": { + "source": "apache", + "extensions": ["scd"] + }, + "application/x-msterminal": { + "source": "apache", + "extensions": ["trm"] + }, + "application/x-mswrite": { + "source": "apache", + "extensions": ["wri"] + }, + "application/x-netcdf": { + "source": "apache", + "extensions": ["nc","cdf"] + }, + "application/x-ns-proxy-autoconfig": { + "compressible": true, + "extensions": ["pac"] + }, + "application/x-nzb": { + "source": "apache", + "extensions": ["nzb"] + }, + "application/x-perl": { + "source": "nginx", + "extensions": ["pl","pm"] + }, + "application/x-pilot": { + "source": "nginx", + "extensions": ["prc","pdb"] + }, + "application/x-pkcs12": { + "source": "apache", + "compressible": false, + "extensions": ["p12","pfx"] + }, + "application/x-pkcs7-certificates": { + "source": "apache", + "extensions": ["p7b","spc"] + }, + "application/x-pkcs7-certreqresp": { + "source": "apache", + "extensions": ["p7r"] + }, + "application/x-rar-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["rar"] + }, + "application/x-redhat-package-manager": { + "source": "nginx", + "extensions": ["rpm"] + }, + "application/x-research-info-systems": { + "source": "apache", + "extensions": ["ris"] + }, + "application/x-sea": { + "source": "nginx", + "extensions": ["sea"] + }, + "application/x-sh": { + "source": "apache", + "compressible": true, + "extensions": ["sh"] + }, + "application/x-shar": { + "source": "apache", + "extensions": ["shar"] + }, + "application/x-shockwave-flash": { + "source": "apache", + "compressible": false, + "extensions": ["swf"] + }, + "application/x-silverlight-app": { + "source": "apache", + "extensions": ["xap"] + }, + "application/x-sql": { + "source": "apache", + "extensions": ["sql"] + }, + "application/x-stuffit": { + "source": "apache", + "compressible": false, + "extensions": ["sit"] + }, + "application/x-stuffitx": { + "source": "apache", + "extensions": ["sitx"] + }, + "application/x-subrip": { + "source": "apache", + "extensions": ["srt"] + }, + "application/x-sv4cpio": { + "source": "apache", + "extensions": ["sv4cpio"] + }, + "application/x-sv4crc": { + "source": "apache", + "extensions": ["sv4crc"] + }, + "application/x-t3vm-image": { + "source": "apache", + "extensions": ["t3"] + }, + "application/x-tads": { + "source": "apache", + "extensions": ["gam"] + }, + "application/x-tar": { + "source": "apache", + "compressible": true, + "extensions": ["tar"] + }, + "application/x-tcl": { + "source": "apache", + "extensions": ["tcl","tk"] + }, + "application/x-tex": { + "source": "apache", + "extensions": ["tex"] + }, + "application/x-tex-tfm": { + "source": "apache", + "extensions": ["tfm"] + }, + "application/x-texinfo": { + "source": "apache", + "extensions": ["texinfo","texi"] + }, + "application/x-tgif": { + "source": "apache", + "extensions": ["obj"] + }, + "application/x-ustar": { + "source": "apache", + "extensions": ["ustar"] + }, + "application/x-virtualbox-hdd": { + "compressible": true, + "extensions": ["hdd"] + }, + "application/x-virtualbox-ova": { + "compressible": true, + "extensions": ["ova"] + }, + "application/x-virtualbox-ovf": { + "compressible": true, + "extensions": ["ovf"] + }, + "application/x-virtualbox-vbox": { + "compressible": true, + "extensions": ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + "compressible": false, + "extensions": ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + "compressible": true, + "extensions": ["vdi"] + }, + "application/x-virtualbox-vhd": { + "compressible": true, + "extensions": ["vhd"] + }, + "application/x-virtualbox-vmdk": { + "compressible": true, + "extensions": ["vmdk"] + }, + "application/x-wais-source": { + "source": "apache", + "extensions": ["src"] + }, + "application/x-web-app-manifest+json": { + "compressible": true, + "extensions": ["webapp"] + }, + "application/x-www-form-urlencoded": { + "source": "iana", + "compressible": true + }, + "application/x-x509-ca-cert": { + "source": "apache", + "extensions": ["der","crt","pem"] + }, + "application/x-xfig": { + "source": "apache", + "extensions": ["fig"] + }, + "application/x-xliff+xml": { + "source": "apache", + "extensions": ["xlf"] + }, + "application/x-xpinstall": { + "source": "apache", + "compressible": false, + "extensions": ["xpi"] + }, + "application/x-xz": { + "source": "apache", + "extensions": ["xz"] + }, + "application/x-zmachine": { + "source": "apache", + "extensions": ["z1","z2","z3","z4","z5","z6","z7","z8"] + }, + "application/x400-bp": { + "source": "iana" + }, + "application/xacml+xml": { + "source": "iana" + }, + "application/xaml+xml": { + "source": "apache", + "extensions": ["xaml"] + }, + "application/xcap-att+xml": { + "source": "iana" + }, + "application/xcap-caps+xml": { + "source": "iana" + }, + "application/xcap-diff+xml": { + "source": "iana", + "extensions": ["xdf"] + }, + "application/xcap-el+xml": { + "source": "iana" + }, + "application/xcap-error+xml": { + "source": "iana" + }, + "application/xcap-ns+xml": { + "source": "iana" + }, + "application/xcon-conference-info+xml": { + "source": "iana" + }, + "application/xcon-conference-info-diff+xml": { + "source": "iana" + }, + "application/xenc+xml": { + "source": "iana", + "extensions": ["xenc"] + }, + "application/xhtml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtml","xht"] + }, + "application/xhtml-voice+xml": { + "source": "apache" + }, + "application/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml","xsl","xsd","rng"] + }, + "application/xml-dtd": { + "source": "iana", + "compressible": true, + "extensions": ["dtd"] + }, + "application/xml-external-parsed-entity": { + "source": "iana" + }, + "application/xml-patch+xml": { + "source": "iana" + }, + "application/xmpp+xml": { + "source": "iana" + }, + "application/xop+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xop"] + }, + "application/xproc+xml": { + "source": "apache", + "extensions": ["xpl"] + }, + "application/xslt+xml": { + "source": "iana", + "extensions": ["xslt"] + }, + "application/xspf+xml": { + "source": "apache", + "extensions": ["xspf"] + }, + "application/xv+xml": { + "source": "iana", + "extensions": ["mxml","xhvml","xvml","xvm"] + }, + "application/yang": { + "source": "iana", + "extensions": ["yang"] + }, + "application/yang-data+json": { + "source": "iana", + "compressible": true + }, + "application/yang-data+xml": { + "source": "iana" + }, + "application/yang-patch+json": { + "source": "iana", + "compressible": true + }, + "application/yang-patch+xml": { + "source": "iana" + }, + "application/yin+xml": { + "source": "iana", + "extensions": ["yin"] + }, + "application/zip": { + "source": "iana", + "compressible": false, + "extensions": ["zip"] + }, + "application/zlib": { + "source": "iana" + }, + "audio/1d-interleaved-parityfec": { + "source": "iana" + }, + "audio/32kadpcm": { + "source": "iana" + }, + "audio/3gpp": { + "source": "iana", + "compressible": false, + "extensions": ["3gpp"] + }, + "audio/3gpp2": { + "source": "iana" + }, + "audio/ac3": { + "source": "iana" + }, + "audio/adpcm": { + "source": "apache", + "extensions": ["adp"] + }, + "audio/amr": { + "source": "iana" + }, + "audio/amr-wb": { + "source": "iana" + }, + "audio/amr-wb+": { + "source": "iana" + }, + "audio/aptx": { + "source": "iana" + }, + "audio/asc": { + "source": "iana" + }, + "audio/atrac-advanced-lossless": { + "source": "iana" + }, + "audio/atrac-x": { + "source": "iana" + }, + "audio/atrac3": { + "source": "iana" + }, + "audio/basic": { + "source": "iana", + "compressible": false, + "extensions": ["au","snd"] + }, + "audio/bv16": { + "source": "iana" + }, + "audio/bv32": { + "source": "iana" + }, + "audio/clearmode": { + "source": "iana" + }, + "audio/cn": { + "source": "iana" + }, + "audio/dat12": { + "source": "iana" + }, + "audio/dls": { + "source": "iana" + }, + "audio/dsr-es201108": { + "source": "iana" + }, + "audio/dsr-es202050": { + "source": "iana" + }, + "audio/dsr-es202211": { + "source": "iana" + }, + "audio/dsr-es202212": { + "source": "iana" + }, + "audio/dv": { + "source": "iana" + }, + "audio/dvi4": { + "source": "iana" + }, + "audio/eac3": { + "source": "iana" + }, + "audio/encaprtp": { + "source": "iana" + }, + "audio/evrc": { + "source": "iana" + }, + "audio/evrc-qcp": { + "source": "iana" + }, + "audio/evrc0": { + "source": "iana" + }, + "audio/evrc1": { + "source": "iana" + }, + "audio/evrcb": { + "source": "iana" + }, + "audio/evrcb0": { + "source": "iana" + }, + "audio/evrcb1": { + "source": "iana" + }, + "audio/evrcnw": { + "source": "iana" + }, + "audio/evrcnw0": { + "source": "iana" + }, + "audio/evrcnw1": { + "source": "iana" + }, + "audio/evrcwb": { + "source": "iana" + }, + "audio/evrcwb0": { + "source": "iana" + }, + "audio/evrcwb1": { + "source": "iana" + }, + "audio/evs": { + "source": "iana" + }, + "audio/fwdred": { + "source": "iana" + }, + "audio/g711-0": { + "source": "iana" + }, + "audio/g719": { + "source": "iana" + }, + "audio/g722": { + "source": "iana" + }, + "audio/g7221": { + "source": "iana" + }, + "audio/g723": { + "source": "iana" + }, + "audio/g726-16": { + "source": "iana" + }, + "audio/g726-24": { + "source": "iana" + }, + "audio/g726-32": { + "source": "iana" + }, + "audio/g726-40": { + "source": "iana" + }, + "audio/g728": { + "source": "iana" + }, + "audio/g729": { + "source": "iana" + }, + "audio/g7291": { + "source": "iana" + }, + "audio/g729d": { + "source": "iana" + }, + "audio/g729e": { + "source": "iana" + }, + "audio/gsm": { + "source": "iana" + }, + "audio/gsm-efr": { + "source": "iana" + }, + "audio/gsm-hr-08": { + "source": "iana" + }, + "audio/ilbc": { + "source": "iana" + }, + "audio/ip-mr_v2.5": { + "source": "iana" + }, + "audio/isac": { + "source": "apache" + }, + "audio/l16": { + "source": "iana" + }, + "audio/l20": { + "source": "iana" + }, + "audio/l24": { + "source": "iana", + "compressible": false + }, + "audio/l8": { + "source": "iana" + }, + "audio/lpc": { + "source": "iana" + }, + "audio/melp": { + "source": "iana" + }, + "audio/melp1200": { + "source": "iana" + }, + "audio/melp2400": { + "source": "iana" + }, + "audio/melp600": { + "source": "iana" + }, + "audio/midi": { + "source": "apache", + "extensions": ["mid","midi","kar","rmi"] + }, + "audio/mobile-xmf": { + "source": "iana" + }, + "audio/mp3": { + "compressible": false, + "extensions": ["mp3"] + }, + "audio/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["m4a","mp4a"] + }, + "audio/mp4a-latm": { + "source": "iana" + }, + "audio/mpa": { + "source": "iana" + }, + "audio/mpa-robust": { + "source": "iana" + }, + "audio/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpga","mp2","mp2a","mp3","m2a","m3a"] + }, + "audio/mpeg4-generic": { + "source": "iana" + }, + "audio/musepack": { + "source": "apache" + }, + "audio/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["oga","ogg","spx"] + }, + "audio/opus": { + "source": "iana" + }, + "audio/parityfec": { + "source": "iana" + }, + "audio/pcma": { + "source": "iana" + }, + "audio/pcma-wb": { + "source": "iana" + }, + "audio/pcmu": { + "source": "iana" + }, + "audio/pcmu-wb": { + "source": "iana" + }, + "audio/prs.sid": { + "source": "iana" + }, + "audio/qcelp": { + "source": "iana" + }, + "audio/raptorfec": { + "source": "iana" + }, + "audio/red": { + "source": "iana" + }, + "audio/rtp-enc-aescm128": { + "source": "iana" + }, + "audio/rtp-midi": { + "source": "iana" + }, + "audio/rtploopback": { + "source": "iana" + }, + "audio/rtx": { + "source": "iana" + }, + "audio/s3m": { + "source": "apache", + "extensions": ["s3m"] + }, + "audio/silk": { + "source": "apache", + "extensions": ["sil"] + }, + "audio/smv": { + "source": "iana" + }, + "audio/smv-qcp": { + "source": "iana" + }, + "audio/smv0": { + "source": "iana" + }, + "audio/sp-midi": { + "source": "iana" + }, + "audio/speex": { + "source": "iana" + }, + "audio/t140c": { + "source": "iana" + }, + "audio/t38": { + "source": "iana" + }, + "audio/telephone-event": { + "source": "iana" + }, + "audio/tone": { + "source": "iana" + }, + "audio/uemclip": { + "source": "iana" + }, + "audio/ulpfec": { + "source": "iana" + }, + "audio/vdvi": { + "source": "iana" + }, + "audio/vmr-wb": { + "source": "iana" + }, + "audio/vnd.3gpp.iufp": { + "source": "iana" + }, + "audio/vnd.4sb": { + "source": "iana" + }, + "audio/vnd.audiokoz": { + "source": "iana" + }, + "audio/vnd.celp": { + "source": "iana" + }, + "audio/vnd.cisco.nse": { + "source": "iana" + }, + "audio/vnd.cmles.radio-events": { + "source": "iana" + }, + "audio/vnd.cns.anp1": { + "source": "iana" + }, + "audio/vnd.cns.inf1": { + "source": "iana" + }, + "audio/vnd.dece.audio": { + "source": "iana", + "extensions": ["uva","uvva"] + }, + "audio/vnd.digital-winds": { + "source": "iana", + "extensions": ["eol"] + }, + "audio/vnd.dlna.adts": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.1": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.2": { + "source": "iana" + }, + "audio/vnd.dolby.mlp": { + "source": "iana" + }, + "audio/vnd.dolby.mps": { + "source": "iana" + }, + "audio/vnd.dolby.pl2": { + "source": "iana" + }, + "audio/vnd.dolby.pl2x": { + "source": "iana" + }, + "audio/vnd.dolby.pl2z": { + "source": "iana" + }, + "audio/vnd.dolby.pulse.1": { + "source": "iana" + }, + "audio/vnd.dra": { + "source": "iana", + "extensions": ["dra"] + }, + "audio/vnd.dts": { + "source": "iana", + "extensions": ["dts"] + }, + "audio/vnd.dts.hd": { + "source": "iana", + "extensions": ["dtshd"] + }, + "audio/vnd.dvb.file": { + "source": "iana" + }, + "audio/vnd.everad.plj": { + "source": "iana" + }, + "audio/vnd.hns.audio": { + "source": "iana" + }, + "audio/vnd.lucent.voice": { + "source": "iana", + "extensions": ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + "source": "iana", + "extensions": ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + "source": "iana" + }, + "audio/vnd.nortel.vbk": { + "source": "iana" + }, + "audio/vnd.nuera.ecelp4800": { + "source": "iana", + "extensions": ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + "source": "iana", + "extensions": ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + "source": "iana", + "extensions": ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + "source": "iana" + }, + "audio/vnd.presonus.multitrack": { + "source": "iana" + }, + "audio/vnd.qcelp": { + "source": "iana" + }, + "audio/vnd.rhetorex.32kadpcm": { + "source": "iana" + }, + "audio/vnd.rip": { + "source": "iana", + "extensions": ["rip"] + }, + "audio/vnd.rn-realaudio": { + "compressible": false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + "source": "iana" + }, + "audio/vnd.vmx.cvsd": { + "source": "iana" + }, + "audio/vnd.wave": { + "compressible": false + }, + "audio/vorbis": { + "source": "iana", + "compressible": false + }, + "audio/vorbis-config": { + "source": "iana" + }, + "audio/wav": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/wave": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/webm": { + "source": "apache", + "compressible": false, + "extensions": ["weba"] + }, + "audio/x-aac": { + "source": "apache", + "compressible": false, + "extensions": ["aac"] + }, + "audio/x-aiff": { + "source": "apache", + "extensions": ["aif","aiff","aifc"] + }, + "audio/x-caf": { + "source": "apache", + "compressible": false, + "extensions": ["caf"] + }, + "audio/x-flac": { + "source": "apache", + "extensions": ["flac"] + }, + "audio/x-m4a": { + "source": "nginx", + "extensions": ["m4a"] + }, + "audio/x-matroska": { + "source": "apache", + "extensions": ["mka"] + }, + "audio/x-mpegurl": { + "source": "apache", + "extensions": ["m3u"] + }, + "audio/x-ms-wax": { + "source": "apache", + "extensions": ["wax"] + }, + "audio/x-ms-wma": { + "source": "apache", + "extensions": ["wma"] + }, + "audio/x-pn-realaudio": { + "source": "apache", + "extensions": ["ram","ra"] + }, + "audio/x-pn-realaudio-plugin": { + "source": "apache", + "extensions": ["rmp"] + }, + "audio/x-realaudio": { + "source": "nginx", + "extensions": ["ra"] + }, + "audio/x-tta": { + "source": "apache" + }, + "audio/x-wav": { + "source": "apache", + "extensions": ["wav"] + }, + "audio/xm": { + "source": "apache", + "extensions": ["xm"] + }, + "chemical/x-cdx": { + "source": "apache", + "extensions": ["cdx"] + }, + "chemical/x-cif": { + "source": "apache", + "extensions": ["cif"] + }, + "chemical/x-cmdf": { + "source": "apache", + "extensions": ["cmdf"] + }, + "chemical/x-cml": { + "source": "apache", + "extensions": ["cml"] + }, + "chemical/x-csml": { + "source": "apache", + "extensions": ["csml"] + }, + "chemical/x-pdb": { + "source": "apache" + }, + "chemical/x-xyz": { + "source": "apache", + "extensions": ["xyz"] + }, + "font/otf": { + "compressible": true, + "extensions": ["otf"] + }, + "image/apng": { + "compressible": false, + "extensions": ["apng"] + }, + "image/bmp": { + "source": "iana", + "compressible": true, + "extensions": ["bmp"] + }, + "image/cgm": { + "source": "iana", + "extensions": ["cgm"] + }, + "image/dicom-rle": { + "source": "iana" + }, + "image/emf": { + "source": "iana" + }, + "image/fits": { + "source": "iana" + }, + "image/g3fax": { + "source": "iana", + "extensions": ["g3"] + }, + "image/gif": { + "source": "iana", + "compressible": false, + "extensions": ["gif"] + }, + "image/ief": { + "source": "iana", + "extensions": ["ief"] + }, + "image/jls": { + "source": "iana" + }, + "image/jp2": { + "source": "iana" + }, + "image/jpeg": { + "source": "iana", + "compressible": false, + "extensions": ["jpeg","jpg","jpe"] + }, + "image/jpm": { + "source": "iana" + }, + "image/jpx": { + "source": "iana" + }, + "image/ktx": { + "source": "iana", + "extensions": ["ktx"] + }, + "image/naplps": { + "source": "iana" + }, + "image/pjpeg": { + "compressible": false + }, + "image/png": { + "source": "iana", + "compressible": false, + "extensions": ["png"] + }, + "image/prs.btif": { + "source": "iana", + "extensions": ["btif"] + }, + "image/prs.pti": { + "source": "iana" + }, + "image/pwg-raster": { + "source": "iana" + }, + "image/sgi": { + "source": "apache", + "extensions": ["sgi"] + }, + "image/svg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["svg","svgz"] + }, + "image/t38": { + "source": "iana" + }, + "image/tiff": { + "source": "iana", + "compressible": false, + "extensions": ["tiff","tif"] + }, + "image/tiff-fx": { + "source": "iana" + }, + "image/vnd.adobe.photoshop": { + "source": "iana", + "compressible": true, + "extensions": ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + "source": "iana" + }, + "image/vnd.cns.inf2": { + "source": "iana" + }, + "image/vnd.dece.graphic": { + "source": "iana", + "extensions": ["uvi","uvvi","uvg","uvvg"] + }, + "image/vnd.djvu": { + "source": "iana", + "extensions": ["djvu","djv"] + }, + "image/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "image/vnd.dwg": { + "source": "iana", + "extensions": ["dwg"] + }, + "image/vnd.dxf": { + "source": "iana", + "extensions": ["dxf"] + }, + "image/vnd.fastbidsheet": { + "source": "iana", + "extensions": ["fbs"] + }, + "image/vnd.fpx": { + "source": "iana", + "extensions": ["fpx"] + }, + "image/vnd.fst": { + "source": "iana", + "extensions": ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + "source": "iana", + "extensions": ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + "source": "iana", + "extensions": ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + "source": "iana" + }, + "image/vnd.microsoft.icon": { + "source": "iana" + }, + "image/vnd.mix": { + "source": "iana" + }, + "image/vnd.mozilla.apng": { + "source": "iana" + }, + "image/vnd.ms-modi": { + "source": "iana", + "extensions": ["mdi"] + }, + "image/vnd.ms-photo": { + "source": "apache", + "extensions": ["wdp"] + }, + "image/vnd.net-fpx": { + "source": "iana", + "extensions": ["npx"] + }, + "image/vnd.radiance": { + "source": "iana" + }, + "image/vnd.sealed.png": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + "source": "iana" + }, + "image/vnd.svf": { + "source": "iana" + }, + "image/vnd.tencent.tap": { + "source": "iana" + }, + "image/vnd.valve.source.texture": { + "source": "iana" + }, + "image/vnd.wap.wbmp": { + "source": "iana", + "extensions": ["wbmp"] + }, + "image/vnd.xiff": { + "source": "iana", + "extensions": ["xif"] + }, + "image/vnd.zbrush.pcx": { + "source": "iana" + }, + "image/webp": { + "source": "apache", + "extensions": ["webp"] + }, + "image/wmf": { + "source": "iana" + }, + "image/x-3ds": { + "source": "apache", + "extensions": ["3ds"] + }, + "image/x-cmu-raster": { + "source": "apache", + "extensions": ["ras"] + }, + "image/x-cmx": { + "source": "apache", + "extensions": ["cmx"] + }, + "image/x-freehand": { + "source": "apache", + "extensions": ["fh","fhc","fh4","fh5","fh7"] + }, + "image/x-icon": { + "source": "apache", + "compressible": true, + "extensions": ["ico"] + }, + "image/x-jng": { + "source": "nginx", + "extensions": ["jng"] + }, + "image/x-mrsid-image": { + "source": "apache", + "extensions": ["sid"] + }, + "image/x-ms-bmp": { + "source": "nginx", + "compressible": true, + "extensions": ["bmp"] + }, + "image/x-pcx": { + "source": "apache", + "extensions": ["pcx"] + }, + "image/x-pict": { + "source": "apache", + "extensions": ["pic","pct"] + }, + "image/x-portable-anymap": { + "source": "apache", + "extensions": ["pnm"] + }, + "image/x-portable-bitmap": { + "source": "apache", + "extensions": ["pbm"] + }, + "image/x-portable-graymap": { + "source": "apache", + "extensions": ["pgm"] + }, + "image/x-portable-pixmap": { + "source": "apache", + "extensions": ["ppm"] + }, + "image/x-rgb": { + "source": "apache", + "extensions": ["rgb"] + }, + "image/x-tga": { + "source": "apache", + "extensions": ["tga"] + }, + "image/x-xbitmap": { + "source": "apache", + "extensions": ["xbm"] + }, + "image/x-xcf": { + "compressible": false + }, + "image/x-xpixmap": { + "source": "apache", + "extensions": ["xpm"] + }, + "image/x-xwindowdump": { + "source": "apache", + "extensions": ["xwd"] + }, + "message/cpim": { + "source": "iana" + }, + "message/delivery-status": { + "source": "iana" + }, + "message/disposition-notification": { + "source": "iana" + }, + "message/external-body": { + "source": "iana" + }, + "message/feedback-report": { + "source": "iana" + }, + "message/global": { + "source": "iana" + }, + "message/global-delivery-status": { + "source": "iana" + }, + "message/global-disposition-notification": { + "source": "iana" + }, + "message/global-headers": { + "source": "iana" + }, + "message/http": { + "source": "iana", + "compressible": false + }, + "message/imdn+xml": { + "source": "iana", + "compressible": true + }, + "message/news": { + "source": "iana" + }, + "message/partial": { + "source": "iana", + "compressible": false + }, + "message/rfc822": { + "source": "iana", + "compressible": true, + "extensions": ["eml","mime"] + }, + "message/s-http": { + "source": "iana" + }, + "message/sip": { + "source": "iana" + }, + "message/sipfrag": { + "source": "iana" + }, + "message/tracking-status": { + "source": "iana" + }, + "message/vnd.si.simp": { + "source": "iana" + }, + "message/vnd.wfa.wsc": { + "source": "iana" + }, + "model/3mf": { + "source": "iana" + }, + "model/gltf+json": { + "source": "iana", + "compressible": true, + "extensions": ["gltf"] + }, + "model/gltf-binary": { + "compressible": true, + "extensions": ["glb"] + }, + "model/iges": { + "source": "iana", + "compressible": false, + "extensions": ["igs","iges"] + }, + "model/mesh": { + "source": "iana", + "compressible": false, + "extensions": ["msh","mesh","silo"] + }, + "model/vnd.collada+xml": { + "source": "iana", + "extensions": ["dae"] + }, + "model/vnd.dwf": { + "source": "iana", + "extensions": ["dwf"] + }, + "model/vnd.flatland.3dml": { + "source": "iana" + }, + "model/vnd.gdl": { + "source": "iana", + "extensions": ["gdl"] + }, + "model/vnd.gs-gdl": { + "source": "apache" + }, + "model/vnd.gs.gdl": { + "source": "iana" + }, + "model/vnd.gtw": { + "source": "iana", + "extensions": ["gtw"] + }, + "model/vnd.moml+xml": { + "source": "iana" + }, + "model/vnd.mts": { + "source": "iana", + "extensions": ["mts"] + }, + "model/vnd.opengex": { + "source": "iana" + }, + "model/vnd.parasolid.transmit.binary": { + "source": "iana" + }, + "model/vnd.parasolid.transmit.text": { + "source": "iana" + }, + "model/vnd.rosette.annotated-data-model": { + "source": "iana" + }, + "model/vnd.valve.source.compiled-map": { + "source": "iana" + }, + "model/vnd.vtu": { + "source": "iana", + "extensions": ["vtu"] + }, + "model/vrml": { + "source": "iana", + "compressible": false, + "extensions": ["wrl","vrml"] + }, + "model/x3d+binary": { + "source": "apache", + "compressible": false, + "extensions": ["x3db","x3dbz"] + }, + "model/x3d+fastinfoset": { + "source": "iana" + }, + "model/x3d+vrml": { + "source": "apache", + "compressible": false, + "extensions": ["x3dv","x3dvz"] + }, + "model/x3d+xml": { + "source": "iana", + "compressible": true, + "extensions": ["x3d","x3dz"] + }, + "model/x3d-vrml": { + "source": "iana" + }, + "multipart/alternative": { + "source": "iana", + "compressible": false + }, + "multipart/appledouble": { + "source": "iana" + }, + "multipart/byteranges": { + "source": "iana" + }, + "multipart/digest": { + "source": "iana" + }, + "multipart/encrypted": { + "source": "iana", + "compressible": false + }, + "multipart/form-data": { + "source": "iana", + "compressible": false + }, + "multipart/header-set": { + "source": "iana" + }, + "multipart/mixed": { + "source": "iana", + "compressible": false + }, + "multipart/parallel": { + "source": "iana" + }, + "multipart/related": { + "source": "iana", + "compressible": false + }, + "multipart/report": { + "source": "iana" + }, + "multipart/signed": { + "source": "iana", + "compressible": false + }, + "multipart/vnd.bint.med-plus": { + "source": "iana" + }, + "multipart/voice-message": { + "source": "iana" + }, + "multipart/x-mixed-replace": { + "source": "iana" + }, + "text/1d-interleaved-parityfec": { + "source": "iana" + }, + "text/cache-manifest": { + "source": "iana", + "compressible": true, + "extensions": ["appcache","manifest"] + }, + "text/calendar": { + "source": "iana", + "extensions": ["ics","ifb"] + }, + "text/calender": { + "compressible": true + }, + "text/cmd": { + "compressible": true + }, + "text/coffeescript": { + "extensions": ["coffee","litcoffee"] + }, + "text/css": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["css"] + }, + "text/csv": { + "source": "iana", + "compressible": true, + "extensions": ["csv"] + }, + "text/csv-schema": { + "source": "iana" + }, + "text/directory": { + "source": "iana" + }, + "text/dns": { + "source": "iana" + }, + "text/ecmascript": { + "source": "iana" + }, + "text/encaprtp": { + "source": "iana" + }, + "text/enriched": { + "source": "iana" + }, + "text/fwdred": { + "source": "iana" + }, + "text/grammar-ref-list": { + "source": "iana" + }, + "text/hjson": { + "extensions": ["hjson"] + }, + "text/html": { + "source": "iana", + "compressible": true, + "extensions": ["html","htm","shtml"] + }, + "text/jade": { + "extensions": ["jade"] + }, + "text/javascript": { + "source": "iana", + "compressible": true + }, + "text/jcr-cnd": { + "source": "iana" + }, + "text/jsx": { + "compressible": true, + "extensions": ["jsx"] + }, + "text/less": { + "extensions": ["less"] + }, + "text/markdown": { + "source": "iana", + "compressible": true, + "extensions": ["markdown","md"] + }, + "text/mathml": { + "source": "nginx", + "extensions": ["mml"] + }, + "text/mizar": { + "source": "iana" + }, + "text/n3": { + "source": "iana", + "compressible": true, + "extensions": ["n3"] + }, + "text/parameters": { + "source": "iana" + }, + "text/parityfec": { + "source": "iana" + }, + "text/plain": { + "source": "iana", + "compressible": true, + "extensions": ["txt","text","conf","def","list","log","in","ini"] + }, + "text/provenance-notation": { + "source": "iana" + }, + "text/prs.fallenstein.rst": { + "source": "iana" + }, + "text/prs.lines.tag": { + "source": "iana", + "extensions": ["dsc"] + }, + "text/prs.prop.logic": { + "source": "iana" + }, + "text/raptorfec": { + "source": "iana" + }, + "text/red": { + "source": "iana" + }, + "text/rfc822-headers": { + "source": "iana" + }, + "text/richtext": { + "source": "iana", + "compressible": true, + "extensions": ["rtx"] + }, + "text/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "text/rtp-enc-aescm128": { + "source": "iana" + }, + "text/rtploopback": { + "source": "iana" + }, + "text/rtx": { + "source": "iana" + }, + "text/sgml": { + "source": "iana", + "extensions": ["sgml","sgm"] + }, + "text/slim": { + "extensions": ["slim","slm"] + }, + "text/strings": { + "source": "iana" + }, + "text/stylus": { + "extensions": ["stylus","styl"] + }, + "text/t140": { + "source": "iana" + }, + "text/tab-separated-values": { + "source": "iana", + "compressible": true, + "extensions": ["tsv"] + }, + "text/troff": { + "source": "iana", + "extensions": ["t","tr","roff","man","me","ms"] + }, + "text/turtle": { + "source": "iana", + "extensions": ["ttl"] + }, + "text/ulpfec": { + "source": "iana" + }, + "text/uri-list": { + "source": "iana", + "compressible": true, + "extensions": ["uri","uris","urls"] + }, + "text/vcard": { + "source": "iana", + "compressible": true, + "extensions": ["vcard"] + }, + "text/vnd.a": { + "source": "iana" + }, + "text/vnd.abc": { + "source": "iana" + }, + "text/vnd.ascii-art": { + "source": "iana" + }, + "text/vnd.curl": { + "source": "iana", + "extensions": ["curl"] + }, + "text/vnd.curl.dcurl": { + "source": "apache", + "extensions": ["dcurl"] + }, + "text/vnd.curl.mcurl": { + "source": "apache", + "extensions": ["mcurl"] + }, + "text/vnd.curl.scurl": { + "source": "apache", + "extensions": ["scurl"] + }, + "text/vnd.debian.copyright": { + "source": "iana" + }, + "text/vnd.dmclientscript": { + "source": "iana" + }, + "text/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + "source": "iana" + }, + "text/vnd.fly": { + "source": "iana", + "extensions": ["fly"] + }, + "text/vnd.fmi.flexstor": { + "source": "iana", + "extensions": ["flx"] + }, + "text/vnd.graphviz": { + "source": "iana", + "extensions": ["gv"] + }, + "text/vnd.in3d.3dml": { + "source": "iana", + "extensions": ["3dml"] + }, + "text/vnd.in3d.spot": { + "source": "iana", + "extensions": ["spot"] + }, + "text/vnd.iptc.newsml": { + "source": "iana" + }, + "text/vnd.iptc.nitf": { + "source": "iana" + }, + "text/vnd.latex-z": { + "source": "iana" + }, + "text/vnd.motorola.reflex": { + "source": "iana" + }, + "text/vnd.ms-mediapackage": { + "source": "iana" + }, + "text/vnd.net2phone.commcenter.command": { + "source": "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + "source": "iana" + }, + "text/vnd.si.uricatalogue": { + "source": "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + "source": "iana", + "extensions": ["jad"] + }, + "text/vnd.trolltech.linguist": { + "source": "iana" + }, + "text/vnd.wap.si": { + "source": "iana" + }, + "text/vnd.wap.sl": { + "source": "iana" + }, + "text/vnd.wap.wml": { + "source": "iana", + "extensions": ["wml"] + }, + "text/vnd.wap.wmlscript": { + "source": "iana", + "extensions": ["wmls"] + }, + "text/vtt": { + "charset": "UTF-8", + "compressible": true, + "extensions": ["vtt"] + }, + "text/x-asm": { + "source": "apache", + "extensions": ["s","asm"] + }, + "text/x-c": { + "source": "apache", + "extensions": ["c","cc","cxx","cpp","h","hh","dic"] + }, + "text/x-component": { + "source": "nginx", + "extensions": ["htc"] + }, + "text/x-fortran": { + "source": "apache", + "extensions": ["f","for","f77","f90"] + }, + "text/x-gwt-rpc": { + "compressible": true + }, + "text/x-handlebars-template": { + "extensions": ["hbs"] + }, + "text/x-java-source": { + "source": "apache", + "extensions": ["java"] + }, + "text/x-jquery-tmpl": { + "compressible": true + }, + "text/x-lua": { + "extensions": ["lua"] + }, + "text/x-markdown": { + "compressible": true, + "extensions": ["mkd"] + }, + "text/x-nfo": { + "source": "apache", + "extensions": ["nfo"] + }, + "text/x-opml": { + "source": "apache", + "extensions": ["opml"] + }, + "text/x-org": { + "compressible": true, + "extensions": ["org"] + }, + "text/x-pascal": { + "source": "apache", + "extensions": ["p","pas"] + }, + "text/x-processing": { + "compressible": true, + "extensions": ["pde"] + }, + "text/x-sass": { + "extensions": ["sass"] + }, + "text/x-scss": { + "extensions": ["scss"] + }, + "text/x-setext": { + "source": "apache", + "extensions": ["etx"] + }, + "text/x-sfv": { + "source": "apache", + "extensions": ["sfv"] + }, + "text/x-suse-ymp": { + "compressible": true, + "extensions": ["ymp"] + }, + "text/x-uuencode": { + "source": "apache", + "extensions": ["uu"] + }, + "text/x-vcalendar": { + "source": "apache", + "extensions": ["vcs"] + }, + "text/x-vcard": { + "source": "apache", + "extensions": ["vcf"] + }, + "text/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml"] + }, + "text/xml-external-parsed-entity": { + "source": "iana" + }, + "text/yaml": { + "extensions": ["yaml","yml"] + }, + "video/1d-interleaved-parityfec": { + "source": "iana" + }, + "video/3gpp": { + "source": "iana", + "extensions": ["3gp","3gpp"] + }, + "video/3gpp-tt": { + "source": "iana" + }, + "video/3gpp2": { + "source": "iana", + "extensions": ["3g2"] + }, + "video/bmpeg": { + "source": "iana" + }, + "video/bt656": { + "source": "iana" + }, + "video/celb": { + "source": "iana" + }, + "video/dv": { + "source": "iana" + }, + "video/encaprtp": { + "source": "iana" + }, + "video/h261": { + "source": "iana", + "extensions": ["h261"] + }, + "video/h263": { + "source": "iana", + "extensions": ["h263"] + }, + "video/h263-1998": { + "source": "iana" + }, + "video/h263-2000": { + "source": "iana" + }, + "video/h264": { + "source": "iana", + "extensions": ["h264"] + }, + "video/h264-rcdo": { + "source": "iana" + }, + "video/h264-svc": { + "source": "iana" + }, + "video/h265": { + "source": "iana" + }, + "video/iso.segment": { + "source": "iana" + }, + "video/jpeg": { + "source": "iana", + "extensions": ["jpgv"] + }, + "video/jpeg2000": { + "source": "iana" + }, + "video/jpm": { + "source": "apache", + "extensions": ["jpm","jpgm"] + }, + "video/mj2": { + "source": "iana", + "extensions": ["mj2","mjp2"] + }, + "video/mp1s": { + "source": "iana" + }, + "video/mp2p": { + "source": "iana" + }, + "video/mp2t": { + "source": "iana", + "extensions": ["ts"] + }, + "video/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["mp4","mp4v","mpg4"] + }, + "video/mp4v-es": { + "source": "iana" + }, + "video/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpeg","mpg","mpe","m1v","m2v"] + }, + "video/mpeg4-generic": { + "source": "iana" + }, + "video/mpv": { + "source": "iana" + }, + "video/nv": { + "source": "iana" + }, + "video/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogv"] + }, + "video/parityfec": { + "source": "iana" + }, + "video/pointer": { + "source": "iana" + }, + "video/quicktime": { + "source": "iana", + "compressible": false, + "extensions": ["qt","mov"] + }, + "video/raptorfec": { + "source": "iana" + }, + "video/raw": { + "source": "iana" + }, + "video/rtp-enc-aescm128": { + "source": "iana" + }, + "video/rtploopback": { + "source": "iana" + }, + "video/rtx": { + "source": "iana" + }, + "video/smpte292m": { + "source": "iana" + }, + "video/ulpfec": { + "source": "iana" + }, + "video/vc1": { + "source": "iana" + }, + "video/vnd.cctv": { + "source": "iana" + }, + "video/vnd.dece.hd": { + "source": "iana", + "extensions": ["uvh","uvvh"] + }, + "video/vnd.dece.mobile": { + "source": "iana", + "extensions": ["uvm","uvvm"] + }, + "video/vnd.dece.mp4": { + "source": "iana" + }, + "video/vnd.dece.pd": { + "source": "iana", + "extensions": ["uvp","uvvp"] + }, + "video/vnd.dece.sd": { + "source": "iana", + "extensions": ["uvs","uvvs"] + }, + "video/vnd.dece.video": { + "source": "iana", + "extensions": ["uvv","uvvv"] + }, + "video/vnd.directv.mpeg": { + "source": "iana" + }, + "video/vnd.directv.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dlna.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dvb.file": { + "source": "iana", + "extensions": ["dvb"] + }, + "video/vnd.fvt": { + "source": "iana", + "extensions": ["fvt"] + }, + "video/vnd.hns.video": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsavc": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + "source": "iana" + }, + "video/vnd.motorola.video": { + "source": "iana" + }, + "video/vnd.motorola.videop": { + "source": "iana" + }, + "video/vnd.mpegurl": { + "source": "iana", + "extensions": ["mxu","m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + "source": "iana", + "extensions": ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + "source": "iana" + }, + "video/vnd.nokia.videovoip": { + "source": "iana" + }, + "video/vnd.objectvideo": { + "source": "iana" + }, + "video/vnd.radgamettools.bink": { + "source": "iana" + }, + "video/vnd.radgamettools.smacker": { + "source": "iana" + }, + "video/vnd.sealed.mpeg1": { + "source": "iana" + }, + "video/vnd.sealed.mpeg4": { + "source": "iana" + }, + "video/vnd.sealed.swf": { + "source": "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + "source": "iana" + }, + "video/vnd.uvvu.mp4": { + "source": "iana", + "extensions": ["uvu","uvvu"] + }, + "video/vnd.vivo": { + "source": "iana", + "extensions": ["viv"] + }, + "video/vp8": { + "source": "iana" + }, + "video/webm": { + "source": "apache", + "compressible": false, + "extensions": ["webm"] + }, + "video/x-f4v": { + "source": "apache", + "extensions": ["f4v"] + }, + "video/x-fli": { + "source": "apache", + "extensions": ["fli"] + }, + "video/x-flv": { + "source": "apache", + "compressible": false, + "extensions": ["flv"] + }, + "video/x-m4v": { + "source": "apache", + "extensions": ["m4v"] + }, + "video/x-matroska": { + "source": "apache", + "compressible": false, + "extensions": ["mkv","mk3d","mks"] + }, + "video/x-mng": { + "source": "apache", + "extensions": ["mng"] + }, + "video/x-ms-asf": { + "source": "apache", + "extensions": ["asf","asx"] + }, + "video/x-ms-vob": { + "source": "apache", + "extensions": ["vob"] + }, + "video/x-ms-wm": { + "source": "apache", + "extensions": ["wm"] + }, + "video/x-ms-wmv": { + "source": "apache", + "compressible": false, + "extensions": ["wmv"] + }, + "video/x-ms-wmx": { + "source": "apache", + "extensions": ["wmx"] + }, + "video/x-ms-wvx": { + "source": "apache", + "extensions": ["wvx"] + }, + "video/x-msvideo": { + "source": "apache", + "extensions": ["avi"] + }, + "video/x-sgi-movie": { + "source": "apache", + "extensions": ["movie"] + }, + "video/x-smv": { + "source": "apache", + "extensions": ["smv"] + }, + "x-conference/x-cooltalk": { + "source": "apache", + "extensions": ["ice"] + }, + "x-shader/x-fragment": { + "compressible": true + }, + "x-shader/x-vertex": { + "compressible": true + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/index.js new file mode 100755 index 0000000..551031f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/index.js @@ -0,0 +1,11 @@ +/*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + */ + +/** + * Module exports. + */ + +module.exports = require('./db.json') diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/package.json new file mode 100755 index 0000000..539dc67 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-db/package.json @@ -0,0 +1,140 @@ +{ + "_args": [ + [ + { + "raw": "mime-db@~1.30.0", + "scope": null, + "escapedName": "mime-db", + "name": "mime-db", + "rawSpec": "~1.30.0", + "spec": ">=1.30.0 <1.31.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\mime-types" + ] + ], + "_from": "mime-db@>=1.30.0 <1.31.0", + "_id": "mime-db@1.30.0", + "_inCache": true, + "_location": "/mime-db", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/mime-db-1.30.0.tgz_1503887330099_0.8198229141999036" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "mime-db@~1.30.0", + "scope": null, + "escapedName": "mime-db", + "name": "mime-db", + "rawSpec": "~1.30.0", + "spec": ">=1.30.0 <1.31.0", + "type": "range" + }, + "_requiredBy": [ + "/mime-types" + ], + "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "_shasum": "74c643da2dd9d6a45399963465b26d5ca7d71f01", + "_shrinkwrap": null, + "_spec": "mime-db@~1.30.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\mime-types", + "bugs": { + "url": "https://github.com/jshttp/mime-db/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + { + "name": "Robert Kieffer", + "email": "robert@broofa.com", + "url": "http://github.com/broofa" + } + ], + "dependencies": {}, + "description": "Media Type Database", + "devDependencies": { + "bluebird": "3.5.0", + "co": "4.6.0", + "cogent": "1.0.1", + "csv-parse": "1.2.1", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "gnode": "0.1.2", + "mocha": "1.21.5", + "nyc": "11.1.0", + "raw-body": "2.3.0", + "stream-to-array": "2.3.0" + }, + "directories": {}, + "dist": { + "shasum": "74c643da2dd9d6a45399963465b26d5ca7d71f01", + "tarball": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "db.json", + "index.js" + ], + "gitHead": "e62cf46c206681ca88b2e275f442a9885f1f86e4", + "homepage": "https://github.com/jshttp/mime-db#readme", + "keywords": [ + "mime", + "db", + "type", + "types", + "database", + "charset", + "charsets" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "mime-db", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/mime-db.git" + }, + "scripts": { + "build": "node scripts/build", + "fetch": "gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx", + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "test-travis": "nyc --reporter=text npm test", + "update": "npm run fetch && npm run build" + }, + "version": "1.30.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/HISTORY.md new file mode 100755 index 0000000..7517c11 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/HISTORY.md @@ -0,0 +1,247 @@ +2.1.17 / 2017-09-01 +=================== + + * deps: mime-db@~1.30.0 + - Add `application/vnd.ms-outlook` + - Add `application/x-arj` + - Add extension `.mjs` to `application/javascript` + - Add glTF types and extensions + - Add new upstream MIME types + - Add `text/x-org` + - Add VirtualBox MIME types + - Fix `source` records for `video/*` types that are IANA + - Update `font/opentype` to registered `font/otf` + +2.1.16 / 2017-07-24 +=================== + + * deps: mime-db@~1.29.0 + - Add `application/fido.trusted-apps+json` + - Add extension `.wadl` to `application/vnd.sun.wadl+xml` + - Add extension `.gz` to `application/gzip` + - Add new upstream MIME types + - Update extensions `.md` and `.markdown` to be `text/markdown` + +2.1.15 / 2017-03-23 +=================== + + * deps: mime-db@~1.27.0 + - Add new mime types + - Add `image/apng` + +2.1.14 / 2017-01-14 +=================== + + * deps: mime-db@~1.26.0 + - Add new mime types + +2.1.13 / 2016-11-18 +=================== + + * deps: mime-db@~1.25.0 + - Add new mime types + +2.1.12 / 2016-09-18 +=================== + + * deps: mime-db@~1.24.0 + - Add new mime types + - Add `audio/mp3` + +2.1.11 / 2016-05-01 +=================== + + * deps: mime-db@~1.23.0 + - Add new mime types + +2.1.10 / 2016-02-15 +=================== + + * deps: mime-db@~1.22.0 + - Add new mime types + - Fix extension of `application/dash+xml` + - Update primary extension for `audio/mp4` + +2.1.9 / 2016-01-06 +================== + + * deps: mime-db@~1.21.0 + - Add new mime types + +2.1.8 / 2015-11-30 +================== + + * deps: mime-db@~1.20.0 + - Add new mime types + +2.1.7 / 2015-09-20 +================== + + * deps: mime-db@~1.19.0 + - Add new mime types + +2.1.6 / 2015-09-03 +================== + + * deps: mime-db@~1.18.0 + - Add new mime types + +2.1.5 / 2015-08-20 +================== + + * deps: mime-db@~1.17.0 + - Add new mime types + +2.1.4 / 2015-07-30 +================== + + * deps: mime-db@~1.16.0 + - Add new mime types + +2.1.3 / 2015-07-13 +================== + + * deps: mime-db@~1.15.0 + - Add new mime types + +2.1.2 / 2015-06-25 +================== + + * deps: mime-db@~1.14.0 + - Add new mime types + +2.1.1 / 2015-06-08 +================== + + * perf: fix deopt during mapping + +2.1.0 / 2015-06-07 +================== + + * Fix incorrectly treating extension-less file name as extension + - i.e. `'path/to/json'` will no longer return `application/json` + * Fix `.charset(type)` to accept parameters + * Fix `.charset(type)` to match case-insensitive + * Improve generation of extension to MIME mapping + * Refactor internals for readability and no argument reassignment + * Prefer `application/*` MIME types from the same source + * Prefer any type over `application/octet-stream` + * deps: mime-db@~1.13.0 + - Add nginx as a source + - Add new mime types + +2.0.14 / 2015-06-06 +=================== + + * deps: mime-db@~1.12.0 + - Add new mime types + +2.0.13 / 2015-05-31 +=================== + + * deps: mime-db@~1.11.0 + - Add new mime types + +2.0.12 / 2015-05-19 +=================== + + * deps: mime-db@~1.10.0 + - Add new mime types + +2.0.11 / 2015-05-05 +=================== + + * deps: mime-db@~1.9.1 + - Add new mime types + +2.0.10 / 2015-03-13 +=================== + + * deps: mime-db@~1.8.0 + - Add new mime types + +2.0.9 / 2015-02-09 +================== + + * deps: mime-db@~1.7.0 + - Add new mime types + - Community extensions ownership transferred from `node-mime` + +2.0.8 / 2015-01-29 +================== + + * deps: mime-db@~1.6.0 + - Add new mime types + +2.0.7 / 2014-12-30 +================== + + * deps: mime-db@~1.5.0 + - Add new mime types + - Fix various invalid MIME type entries + +2.0.6 / 2014-12-30 +================== + + * deps: mime-db@~1.4.0 + - Add new mime types + - Fix various invalid MIME type entries + - Remove example template MIME types + +2.0.5 / 2014-12-29 +================== + + * deps: mime-db@~1.3.1 + - Fix missing extensions + +2.0.4 / 2014-12-10 +================== + + * deps: mime-db@~1.3.0 + - Add new mime types + +2.0.3 / 2014-11-09 +================== + + * deps: mime-db@~1.2.0 + - Add new mime types + +2.0.2 / 2014-09-28 +================== + + * deps: mime-db@~1.1.0 + - Add new mime types + - Add additional compressible + - Update charsets + +2.0.1 / 2014-09-07 +================== + + * Support Node.js 0.6 + +2.0.0 / 2014-09-02 +================== + + * Use `mime-db` + * Remove `.define()` + +1.0.2 / 2014-08-04 +================== + + * Set charset=utf-8 for `text/javascript` + +1.0.1 / 2014-06-24 +================== + + * Add `text/jsx` type + +1.0.0 / 2014-05-12 +================== + + * Return `false` for unknown types + * Set charset=utf-8 for `application/json` + +0.1.0 / 2014-05-02 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/LICENSE new file mode 100755 index 0000000..0616607 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/README.md new file mode 100755 index 0000000..571031c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/README.md @@ -0,0 +1,108 @@ +# mime-types + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +The ultimate javascript content-type utility. + +Similar to [the `mime` module](https://www.npmjs.com/package/mime), except: + +- __No fallbacks.__ Instead of naively returning the first available type, + `mime-types` simply returns `false`, so do + `var type = mime.lookup('unrecognized') || 'application/octet-stream'`. +- No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`. +- No `.define()` functionality +- Bug fixes for `.lookup(path)` + +Otherwise, the API is compatible. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install mime-types +``` + +## Adding Types + +All mime types are based on [mime-db](https://www.npmjs.com/package/mime-db), +so open a PR there if you'd like to add mime types. + +## API + +```js +var mime = require('mime-types') +``` + +All functions return `false` if input is invalid or not found. + +### mime.lookup(path) + +Lookup the content-type associated with a file. + +```js +mime.lookup('json') // 'application/json' +mime.lookup('.md') // 'text/markdown' +mime.lookup('file.html') // 'text/html' +mime.lookup('folder/file.js') // 'application/javascript' +mime.lookup('folder/.htaccess') // false + +mime.lookup('cats') // false +``` + +### mime.contentType(type) + +Create a full content-type header given a content-type or extension. + +```js +mime.contentType('markdown') // 'text/x-markdown; charset=utf-8' +mime.contentType('file.json') // 'application/json; charset=utf-8' + +// from a full path +mime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8' +``` + +### mime.extension(type) + +Get the default extension for a content-type. + +```js +mime.extension('application/octet-stream') // 'bin' +``` + +### mime.charset(type) + +Lookup the implied default charset of a content-type. + +```js +mime.charset('text/markdown') // 'UTF-8' +``` + +### var type = mime.types[extension] + +A map of content-types by extension. + +### [extensions...] = mime.extensions[type] + +A map of extensions by content-type. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/mime-types.svg +[npm-url]: https://npmjs.org/package/mime-types +[node-version-image]: https://img.shields.io/node/v/mime-types.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg +[travis-url]: https://travis-ci.org/jshttp/mime-types +[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/mime-types +[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg +[downloads-url]: https://npmjs.org/package/mime-types diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/index.js new file mode 100755 index 0000000..b9f34d5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/index.js @@ -0,0 +1,188 @@ +/*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var db = require('mime-db') +var extname = require('path').extname + +/** + * Module variables. + * @private + */ + +var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/ +var TEXT_TYPE_REGEXP = /^text\//i + +/** + * Module exports. + * @public + */ + +exports.charset = charset +exports.charsets = { lookup: charset } +exports.contentType = contentType +exports.extension = extension +exports.extensions = Object.create(null) +exports.lookup = lookup +exports.types = Object.create(null) + +// Populate the extensions/types maps +populateMaps(exports.extensions, exports.types) + +/** + * Get the default charset for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function charset (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + var mime = match && db[match[1].toLowerCase()] + + if (mime && mime.charset) { + return mime.charset + } + + // default text/* to utf-8 + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return 'UTF-8' + } + + return false +} + +/** + * Create a full Content-Type header given a MIME type or extension. + * + * @param {string} str + * @return {boolean|string} + */ + +function contentType (str) { + // TODO: should this even be in this module? + if (!str || typeof str !== 'string') { + return false + } + + var mime = str.indexOf('/') === -1 + ? exports.lookup(str) + : str + + if (!mime) { + return false + } + + // TODO: use content-type or other module + if (mime.indexOf('charset') === -1) { + var charset = exports.charset(mime) + if (charset) mime += '; charset=' + charset.toLowerCase() + } + + return mime +} + +/** + * Get the default extension for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function extension (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + + // get extensions + var exts = match && exports.extensions[match[1].toLowerCase()] + + if (!exts || !exts.length) { + return false + } + + return exts[0] +} + +/** + * Lookup the MIME type for a file path/extension. + * + * @param {string} path + * @return {boolean|string} + */ + +function lookup (path) { + if (!path || typeof path !== 'string') { + return false + } + + // get the extension ("ext" or ".ext" or full path) + var extension = extname('x.' + path) + .toLowerCase() + .substr(1) + + if (!extension) { + return false + } + + return exports.types[extension] || false +} + +/** + * Populate the extensions and types maps. + * @private + */ + +function populateMaps (extensions, types) { + // source preference (least -> most) + var preference = ['nginx', 'apache', undefined, 'iana'] + + Object.keys(db).forEach(function forEachMimeType (type) { + var mime = db[type] + var exts = mime.extensions + + if (!exts || !exts.length) { + return + } + + // mime -> extensions + extensions[type] = exts + + // extension -> mime + for (var i = 0; i < exts.length; i++) { + var extension = exts[i] + + if (types[extension]) { + var from = preference.indexOf(db[types[extension]].source) + var to = preference.indexOf(mime.source) + + if (types[extension] !== 'application/octet-stream' && + (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) { + // skip the remapping + continue + } + } + + // set the extension -> mime + types[extension] = type + } + }) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/package.json new file mode 100755 index 0000000..5f309af --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime-types/package.json @@ -0,0 +1,130 @@ +{ + "_args": [ + [ + { + "raw": "mime-types@~2.1.16", + "scope": null, + "escapedName": "mime-types", + "name": "mime-types", + "rawSpec": "~2.1.16", + "spec": ">=2.1.16 <2.2.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\accepts" + ] + ], + "_from": "mime-types@>=2.1.16 <2.2.0", + "_id": "mime-types@2.1.17", + "_inCache": true, + "_location": "/mime-types", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/mime-types-2.1.17.tgz_1504322793218_0.6663200033362955" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "mime-types@~2.1.16", + "scope": null, + "escapedName": "mime-types", + "name": "mime-types", + "rawSpec": "~2.1.16", + "spec": ">=2.1.16 <2.2.0", + "type": "range" + }, + "_requiredBy": [ + "/accepts", + "/type-is" + ], + "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "_shasum": "09d7a393f03e995a79f8af857b70a9e0ab16557a", + "_shrinkwrap": null, + "_spec": "mime-types@~2.1.16", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\accepts", + "bugs": { + "url": "https://github.com/jshttp/mime-types/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jeremiah Senkpiel", + "email": "fishrock123@rocketmail.com", + "url": "https://searchbeam.jit.su" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "mime-db": "~1.30.0" + }, + "description": "The ultimate javascript content-type utility.", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "09d7a393f03e995a79f8af857b70a9e0ab16557a", + "tarball": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "gitHead": "80039fe78213821c2e9b25132d6b02cc37202e8a", + "homepage": "https://github.com/jshttp/mime-types#readme", + "keywords": [ + "mime", + "types" + ], + "license": "MIT", + "maintainers": [ + { + "name": "fishrock123", + "email": "fishrock123@rocketmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "mime-types", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/mime-types.git" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec test/test.js", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js" + }, + "version": "2.1.17" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/LICENSE new file mode 100755 index 0000000..d3f46f7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/README.md new file mode 100755 index 0000000..506fbe5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/README.md @@ -0,0 +1,90 @@ +# mime + +Comprehensive MIME type mapping API based on mime-db module. + +## Install + +Install with [npm](http://github.com/isaacs/npm): + + npm install mime + +## Contributing / Testing + + npm run test + +## Command Line + + mime [path_string] + +E.g. + + > mime scripts/jquery.js + application/javascript + +## API - Queries + +### mime.lookup(path) +Get the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g. + +```js +var mime = require('mime'); + +mime.lookup('/path/to/file.txt'); // => 'text/plain' +mime.lookup('file.txt'); // => 'text/plain' +mime.lookup('.TXT'); // => 'text/plain' +mime.lookup('htm'); // => 'text/html' +``` + +### mime.default_type +Sets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.) + +### mime.extension(type) +Get the default extension for `type` + +```js +mime.extension('text/html'); // => 'html' +mime.extension('application/octet-stream'); // => 'bin' +``` + +### mime.charsets.lookup() + +Map mime-type to charset + +```js +mime.charsets.lookup('text/plain'); // => 'UTF-8' +``` + +(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.) + +## API - Defining Custom Types + +Custom type mappings can be added on a per-project basis via the following APIs. + +### mime.define() + +Add custom mime/extension mappings + +```js +mime.define({ + 'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'], + 'application/x-my-type': ['x-mt', 'x-mtt'], + // etc ... +}); + +mime.lookup('x-sft'); // => 'text/x-some-format' +``` + +The first entry in the extensions array is returned by `mime.extension()`. E.g. + +```js +mime.extension('text/x-some-format'); // => 'x-sf' +``` + +### mime.load(filepath) + +Load mappings from an Apache ".types" format file + +```js +mime.load('./my_project.types'); +``` +The .types file format is simple - See the `types` dir for examples. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/build.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/build.js new file mode 100755 index 0000000..ed5313e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/build.js @@ -0,0 +1,11 @@ +var db = require('mime-db'); + +var mapByType = {}; +Object.keys(db).forEach(function(key) { + var extensions = db[key].extensions; + if (extensions) { + mapByType[key] = extensions; + } +}); + +console.log(JSON.stringify(mapByType)); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/test.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/test.js new file mode 100755 index 0000000..010c42b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/build/test.js @@ -0,0 +1,60 @@ +/** + * Usage: node test.js + */ + +var mime = require('../mime'); +var assert = require('assert'); +var path = require('path'); + +// +// Test mime lookups +// + +assert.equal('text/plain', mime.lookup('text.txt')); // normal file +assert.equal('text/plain', mime.lookup('TEXT.TXT')); // uppercase +assert.equal('text/plain', mime.lookup('dir/text.txt')); // dir + file +assert.equal('text/plain', mime.lookup('.text.txt')); // hidden file +assert.equal('text/plain', mime.lookup('.txt')); // nameless +assert.equal('text/plain', mime.lookup('txt')); // extension-only +assert.equal('text/plain', mime.lookup('/txt')); // extension-less () +assert.equal('text/plain', mime.lookup('\\txt')); // Windows, extension-less +assert.equal('application/octet-stream', mime.lookup('text.nope')); // unrecognized +assert.equal('fallback', mime.lookup('text.fallback', 'fallback')); // alternate default + +// +// Test extensions +// + +assert.equal('txt', mime.extension(mime.types.text)); +assert.equal('html', mime.extension(mime.types.htm)); +assert.equal('bin', mime.extension('application/octet-stream')); +assert.equal('bin', mime.extension('application/octet-stream ')); +assert.equal('html', mime.extension(' text/html; charset=UTF-8')); +assert.equal('html', mime.extension('text/html; charset=UTF-8 ')); +assert.equal('html', mime.extension('text/html; charset=UTF-8')); +assert.equal('html', mime.extension('text/html ; charset=UTF-8')); +assert.equal('html', mime.extension('text/html;charset=UTF-8')); +assert.equal('html', mime.extension('text/Html;charset=UTF-8')); +assert.equal(undefined, mime.extension('unrecognized')); + +// +// Test node.types lookups +// + +assert.equal('application/font-woff', mime.lookup('file.woff')); +assert.equal('application/octet-stream', mime.lookup('file.buffer')); +// TODO: Uncomment once #157 is resolved +// assert.equal('audio/mp4', mime.lookup('file.m4a')); +assert.equal('font/otf', mime.lookup('file.otf')); + +// +// Test charsets +// + +assert.equal('UTF-8', mime.charsets.lookup('text/plain')); +assert.equal('UTF-8', mime.charsets.lookup(mime.types.js)); +assert.equal('UTF-8', mime.charsets.lookup(mime.types.json)); +assert.equal(undefined, mime.charsets.lookup(mime.types.bin)); +assert.equal('fallback', mime.charsets.lookup('application/octet-stream', 'fallback')); + +console.log('\nAll tests passed'); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/cli.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/cli.js new file mode 100755 index 0000000..20b1ffe --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/cli.js @@ -0,0 +1,8 @@ +#!/usr/bin/env node + +var mime = require('./mime.js'); +var file = process.argv[2]; +var type = mime.lookup(file); + +process.stdout.write(type + '\n'); + diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/mime.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/mime.js new file mode 100755 index 0000000..d7efbde --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/mime.js @@ -0,0 +1,108 @@ +var path = require('path'); +var fs = require('fs'); + +function Mime() { + // Map of extension -> mime type + this.types = Object.create(null); + + // Map of mime type -> extension + this.extensions = Object.create(null); +} + +/** + * Define mimetype -> extension mappings. Each key is a mime-type that maps + * to an array of extensions associated with the type. The first extension is + * used as the default extension for the type. + * + * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']}); + * + * @param map (Object) type definitions + */ +Mime.prototype.define = function (map) { + for (var type in map) { + var exts = map[type]; + for (var i = 0; i < exts.length; i++) { + if (process.env.DEBUG_MIME && this.types[exts[i]]) { + console.warn((this._loading || "define()").replace(/.*\//, ''), 'changes "' + exts[i] + '" extension type from ' + + this.types[exts[i]] + ' to ' + type); + } + + this.types[exts[i]] = type; + } + + // Default extension is the first one we encounter + if (!this.extensions[type]) { + this.extensions[type] = exts[0]; + } + } +}; + +/** + * Load an Apache2-style ".types" file + * + * This may be called multiple times (it's expected). Where files declare + * overlapping types/extensions, the last file wins. + * + * @param file (String) path of file to load. + */ +Mime.prototype.load = function(file) { + this._loading = file; + // Read file and split into lines + var map = {}, + content = fs.readFileSync(file, 'ascii'), + lines = content.split(/[\r\n]+/); + + lines.forEach(function(line) { + // Clean up whitespace/comments, and split into fields + var fields = line.replace(/\s*#.*|^\s*|\s*$/g, '').split(/\s+/); + map[fields.shift()] = fields; + }); + + this.define(map); + + this._loading = null; +}; + +/** + * Lookup a mime type based on extension + */ +Mime.prototype.lookup = function(path, fallback) { + var ext = path.replace(/^.*[\.\/\\]/, '').toLowerCase(); + + return this.types[ext] || fallback || this.default_type; +}; + +/** + * Return file extension associated with a mime type + */ +Mime.prototype.extension = function(mimeType) { + var type = mimeType.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase(); + return this.extensions[type]; +}; + +// Default instance +var mime = new Mime(); + +// Define built-in types +mime.define(require('./types.json')); + +// Default type +mime.default_type = mime.lookup('bin'); + +// +// Additional API specific to the default instance +// + +mime.Mime = Mime; + +/** + * Lookup a charset based on mime type. + */ +mime.charsets = { + lookup: function(mimeType, fallback) { + // Assume text types are utf8 + return (/^text\/|^application\/(javascript|json)/).test(mimeType) ? 'UTF-8' : fallback; + } +}; + +module.exports = mime; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/package.json new file mode 100755 index 0000000..d243583 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/package.json @@ -0,0 +1,107 @@ +{ + "_args": [ + [ + { + "raw": "mime@1.4.1", + "scope": null, + "escapedName": "mime", + "name": "mime", + "rawSpec": "1.4.1", + "spec": "1.4.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\send" + ] + ], + "_from": "mime@1.4.1", + "_id": "mime@1.4.1", + "_inCache": true, + "_location": "/mime", + "_nodeVersion": "7.10.0", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/mime-1.4.1.tgz_1506364709246_0.33135218149982393" + }, + "_npmUser": { + "name": "broofa", + "email": "robert@broofa.com" + }, + "_npmVersion": "5.4.2", + "_phantomChildren": {}, + "_requested": { + "raw": "mime@1.4.1", + "scope": null, + "escapedName": "mime", + "name": "mime", + "rawSpec": "1.4.1", + "spec": "1.4.1", + "type": "version" + }, + "_requiredBy": [ + "/send" + ], + "_resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "_shasum": "121f9ebc49e3766f311a76e1fa1c8003c4b03aa6", + "_shrinkwrap": null, + "_spec": "mime@1.4.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\send", + "author": { + "name": "Robert Kieffer", + "email": "robert@broofa.com", + "url": "http://github.com/broofa" + }, + "bin": { + "mime": "cli.js" + }, + "bugs": { + "url": "https://github.com/broofa/node-mime/issues" + }, + "contributors": [ + { + "name": "Benjamin Thomas", + "email": "benjamin@benjaminthomas.org", + "url": "http://github.com/bentomas" + } + ], + "dependencies": {}, + "description": "A comprehensive library for mime-type mapping", + "devDependencies": { + "mime-db": "1.30.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "shasum": "121f9ebc49e3766f311a76e1fa1c8003c4b03aa6", + "tarball": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz" + }, + "gitHead": "eb24bae372a76acd2c95fd05f8837814c33a9e3d", + "homepage": "https://github.com/broofa/node-mime#readme", + "keywords": [ + "util", + "mime" + ], + "license": "MIT", + "main": "mime.js", + "maintainers": [ + { + "name": "broofa", + "email": "robert@broofa.com" + }, + { + "name": "bentomas", + "email": "benjamin@benjaminthomas.org" + } + ], + "name": "mime", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "url": "git+https://github.com/broofa/node-mime.git", + "type": "git" + }, + "scripts": { + "prepublish": "node build/build.js > types.json", + "test": "node build/test.js" + }, + "version": "1.4.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/types.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/types.json new file mode 100755 index 0000000..5369cd1 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/mime/types.json @@ -0,0 +1 @@ +{"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":["woff"],"application/font-woff2":["woff2"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["exe"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["prc","pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["3gpp"],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":["mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":["wav"],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["ra"],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/otf":["otf"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jpeg":["jpeg","jpg","jpe"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["bmp"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":["rtf"],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":["xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/HISTORY.md new file mode 100755 index 0000000..e152032 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/HISTORY.md @@ -0,0 +1,195 @@ +1.9.0 / 2017-09-26 +================== + + * Use `res.headersSent` when available + * deps: basic-auth@~2.0.0 + - Use `safe-buffer` for improved Buffer API + * deps: debug@2.6.9 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + +1.8.2 / 2017-05-23 +================== + + * deps: debug@2.6.8 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + +1.8.1 / 2017-02-04 +================== + + * deps: debug@2.6.1 + - Fix deprecation messages in WebStorm and other editors + - Undeprecate `DEBUG_FD` set to `1` or `2` + +1.8.0 / 2017-02-04 +================== + + * Fix sending unnecessary `undefined` argument to token functions + * deps: basic-auth@~1.1.0 + * deps: debug@2.6.0 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * perf: enable strict mode in compiled functions + +1.7.0 / 2016-02-18 +================== + + * Add `digits` argument to `response-time` token + * deps: depd@~1.1.0 + - Enable strict mode in more places + - Support web browser loading + * deps: on-headers@~1.0.1 + - perf: enable strict mode + +1.6.1 / 2015-07-03 +================== + + * deps: basic-auth@~1.0.3 + +1.6.0 / 2015-06-12 +================== + + * Add `morgan.compile(format)` export + * Do not color 1xx status codes in `dev` format + * Fix `response-time` token to not include response latency + * Fix `status` token incorrectly displaying before response in `dev` format + * Fix token return values to be `undefined` or a string + * Improve representation of multiple headers in `req` and `res` tokens + * Use `res.getHeader` in `res` token + * deps: basic-auth@~1.0.2 + - perf: enable strict mode + - perf: hoist regular expression + - perf: parse with regular expressions + - perf: remove argument reassignment + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * pref: enable strict mode + * pref: reduce function closure scopes + * pref: remove dynamic compile on every request for `dev` format + * pref: remove an argument reassignment + * pref: skip function call without `skip` option + +1.5.3 / 2015-05-10 +================== + + * deps: basic-auth@~1.0.1 + * deps: debug@~2.2.0 + - deps: ms@0.7.1 + * deps: depd@~1.0.1 + * deps: on-finished@~2.2.1 + - Fix `isFinished(req)` when data buffered + +1.5.2 / 2015-03-15 +================== + + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + +1.5.1 / 2014-12-31 +================== + + * deps: debug@~2.1.1 + * deps: on-finished@~2.2.0 + +1.5.0 / 2014-11-06 +================== + + * Add multiple date formats + - `clf` for the common log format + - `iso` for the common ISO 8601 date time format + - `web` for the common RFC 1123 date time format + * Deprecate `buffer` option + * Fix date format in `common` and `combined` formats + * Fix token arguments to accept values with `"` + +1.4.1 / 2014-10-22 +================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + +1.4.0 / 2014-10-16 +================== + + * Add `debug` messages + * deps: depd@~1.0.0 + +1.3.2 / 2014-09-27 +================== + + * Fix `req.ip` integration when `immediate: false` + +1.3.1 / 2014-09-14 +================== + + * Remove un-used `bytes` dependency + * deps: depd@0.4.5 + +1.3.0 / 2014-09-01 +================== + + * Assert if `format` is not a function or string + +1.2.3 / 2014-08-16 +================== + + * deps: on-finished@2.1.0 + +1.2.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + +1.2.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + +1.2.0 / 2014-07-19 +================== + + * Add `:remote-user` token + * Add `combined` log format + * Add `common` log format + * Add `morgan(format, options)` function signature + * Deprecate `default` format -- use `combined` format instead + * Deprecate not providing a format + * Remove non-standard grey color from `dev` format + +1.1.1 / 2014-05-20 +================== + + * simplify method to get remote address + +1.1.0 / 2014-05-18 +================== + + * "dev" format will use same tokens as other formats + * `:response-time` token is now empty when immediate used + * `:response-time` token is now monotonic + * `:response-time` token has precision to 1 μs + * fix `:status` + immediate output in node.js 0.8 + * improve `buffer` option to prevent indefinite event loop holding + * deps: bytes@1.0.0 + - add negative support + +1.0.1 / 2014-05-04 +================== + + * Make buffer unique per morgan instance + * deps: bytes@0.3.0 + * added terabyte support + +1.0.0 / 2014-02-08 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/LICENSE new file mode 100755 index 0000000..3fefed9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014-2017 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/README.md new file mode 100755 index 0000000..ce00d62 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/README.md @@ -0,0 +1,415 @@ +# morgan + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +HTTP request logger middleware for node.js + +> Named after [Dexter](http://en.wikipedia.org/wiki/Dexter_Morgan), a show you should not watch until completion. + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var morgan = require('morgan') +``` + +### morgan(format, options) + +Create a new morgan logger middleware function using the given `format` and `options`. +The `format` argument may be a string of a predefined name (see below for the names), +a string of a format string, or a function that will produce a log entry. + +The `format` function will be called with three arguments `tokens`, `req`, and `res`, +where `tokens` is an object with all defined tokens, `req` is the HTTP request and `res` +is the HTTP response. The function is expected to return a string that will be the log +line, or `undefined` / `null` to skip logging. + +#### Using a predefined format string + +<!-- eslint-disable no-undef --> + +```js +morgan('tiny') +``` + +#### Using format string of predefined tokens + +<!-- eslint-disable no-undef --> + +```js +morgan(':method :url :status :res[content-length] - :response-time ms') +``` + +#### Using a custom format function + +<!-- eslint-disable no-undef --> + +``` js +morgan(function (tokens, req, res) { + return [ + tokens.method(req, res), + tokens.url(req, res), + tokens.status(req, res), + tokens.res(req, res, 'content-length'), '-', + tokens['response-time'](req, res), 'ms' + ].join(' ') +}) +``` + +#### Options + +Morgan accepts these properties in the options object. + +##### immediate + +Write log line on request instead of response. This means that a requests will +be logged even if the server crashes, _but data from the response (like the +response code, content length, etc.) cannot be logged_. + +##### skip + +Function to determine if logging is skipped, defaults to `false`. This function +will be called as `skip(req, res)`. + +<!-- eslint-disable no-undef --> + +```js +// EXAMPLE: only log error responses +morgan('combined', { + skip: function (req, res) { return res.statusCode < 400 } +}) +``` + +##### stream + +Output stream for writing log lines, defaults to `process.stdout`. + +#### Predefined Formats + +There are various pre-defined formats provided: + +##### combined + +Standard Apache combined log output. + +``` +:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" +``` + +##### common + +Standard Apache common log output. + +``` +:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] +``` + +##### dev + +Concise output colored by response status for development use. The `:status` +token will be colored red for server error codes, yellow for client error +codes, cyan for redirection codes, and uncolored for all other codes. + +``` +:method :url :status :response-time ms - :res[content-length] +``` + +##### short + +Shorter than default, also including response time. + +``` +:remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms +``` + +##### tiny + +The minimal output. + +``` +:method :url :status :res[content-length] - :response-time ms +``` + +#### Tokens + +##### Creating new tokens + +To define a token, simply invoke `morgan.token()` with the name and a callback function. +This callback function is expected to return a string value. The value returned is then +available as ":type" in this case: + +<!-- eslint-disable no-undef --> + +```js +morgan.token('type', function (req, res) { return req.headers['content-type'] }) +``` + +Calling `morgan.token()` using the same name as an existing token will overwrite that +token definition. + +The token function is expected to be called with the arguments `req` and `res`, representing +the HTTP request and HTTP response. Additionally, the token can accept further arguments of +it's choosing to customize behavior. + +##### :date[format] + +The current date and time in UTC. The available formats are: + + - `clf` for the common log format (`"10/Oct/2000:13:55:36 +0000"`) + - `iso` for the common ISO 8601 date time format (`2000-10-10T13:55:36.000Z`) + - `web` for the common RFC 1123 date time format (`Tue, 10 Oct 2000 13:55:36 GMT`) + +If no format is given, then the default is `web`. + +##### :http-version + +The HTTP version of the request. + +##### :method + +The HTTP method of the request. + +##### :referrer + +The Referrer header of the request. This will use the standard mis-spelled Referer header if exists, otherwise Referrer. + +##### :remote-addr + +The remote address of the request. This will use `req.ip`, otherwise the standard `req.connection.remoteAddress` value (socket address). + +##### :remote-user + +The user authenticated as part of Basic auth for the request. + +##### :req[header] + +The given `header` of the request. + +##### :res[header] + +The given `header` of the response. + +##### :response-time[digits] + +The time between the request coming into `morgan` and when the response +headers are written, in milliseconds. + +The `digits` argument is a number that specifies the number of digits to +include on the number, defaulting to `3`, which provides microsecond precision. + +##### :status + +The status code of the response. + +If the request/response cycle completes before a response was sent to the +client (for example, the TCP socket closed prematurely by a client aborting +the request), then the status will be empty (displayed as `"-"` in the log). + +##### :url + +The URL of the request. This will use `req.originalUrl` if exists, otherwise `req.url`. + +##### :user-agent + +The contents of the User-Agent header of the request. + +### morgan.compile(format) + +Compile a format string into a `format` function for use by `morgan`. A format string +is a string that represents a single log line and can utilize token syntax. +Tokens are references by `:token-name`. If tokens accept arguments, they can +be passed using `[]`, for example: `:token-name[pretty]` would pass the string +`'pretty'` as an argument to the token `token-name`. + +The function returned from `morgan.compile` takes three arguments `tokens`, `req`, and +`res`, where `tokens` is object with all defined tokens, `req` is the HTTP request and +`res` is the HTTP response. The function will return a string that will be the log line, +or `undefined` / `null` to skip logging. + +Normally formats are defined using `morgan.format(name, format)`, but for certain +advanced uses, this compile function is directly available. + +## Examples + +### express/connect + +Simple app that will log all request in the Apache combined format to STDOUT + +```js +var express = require('express') +var morgan = require('morgan') + +var app = express() + +app.use(morgan('combined')) + +app.get('/', function (req, res) { + res.send('hello, world!') +}) +``` + +### vanilla http server + +Simple app that will log all request in the Apache combined format to STDOUT + +```js +var finalhandler = require('finalhandler') +var http = require('http') +var morgan = require('morgan') + +// create "middleware" +var logger = morgan('combined') + +http.createServer(function (req, res) { + var done = finalhandler(req, res) + logger(req, res, function (err) { + if (err) return done(err) + + // respond to request + res.setHeader('content-type', 'text/plain') + res.end('hello, world!') + }) +}) +``` + +### write logs to a file + +#### single file + +Simple app that will log all requests in the Apache combined format to the file +`access.log`. + +```js +var express = require('express') +var fs = require('fs') +var morgan = require('morgan') +var path = require('path') + +var app = express() + +// create a write stream (in append mode) +var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), {flags: 'a'}) + +// setup the logger +app.use(morgan('combined', {stream: accessLogStream})) + +app.get('/', function (req, res) { + res.send('hello, world!') +}) +``` + +#### log file rotation + +Simple app that will log all requests in the Apache combined format to one log +file per day in the `log/` directory using the +[rotating-file-stream module](https://www.npmjs.com/package/rotating-file-stream). + +```js +var express = require('express') +var fs = require('fs') +var morgan = require('morgan') +var path = require('path') +var rfs = require('rotating-file-stream') + +var app = express() +var logDirectory = path.join(__dirname, 'log') + +// ensure log directory exists +fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory) + +// create a rotating write stream +var accessLogStream = rfs('access.log', { + interval: '1d', // rotate daily + path: logDirectory +}) + +// setup the logger +app.use(morgan('combined', {stream: accessLogStream})) + +app.get('/', function (req, res) { + res.send('hello, world!') +}) +``` + +### split / dual logging + +The `morgan` middleware can be used as many times as needed, enabling +combinations like: + + * Log entry on request and one on response + * Log all requests to file, but errors to console + * ... and more! + +Sample app that will log all requests to a file using Apache format, but +error responses are logged to the console: + +```js +var express = require('express') +var fs = require('fs') +var morgan = require('morgan') +var path = require('path') + +var app = express() + +// log only 4xx and 5xx responses to console +app.use(morgan('dev', { + skip: function (req, res) { return res.statusCode < 400 } +})) + +// log all requests to access.log +app.use(morgan('common', { + stream: fs.createWriteStream(path.join(__dirname, 'access.log'), {flags: 'a'}) +})) + +app.get('/', function (req, res) { + res.send('hello, world!') +}) +``` + +### use custom token formats + +Sample app that will use custom token formats. This adds an ID to all requests and displays it using the `:id` token. + +```js +var express = require('express') +var morgan = require('morgan') +var uuid = require('node-uuid') + +morgan.token('id', function getId (req) { + return req.id +}) + +var app = express() + +app.use(assignId) +app.use(morgan(':id :method :url :response-time')) + +app.get('/', function (req, res) { + res.send('hello, world!') +}) + +function assignId (req, res, next) { + req.id = uuid.v4() + next() +} +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/morgan.svg +[npm-url]: https://npmjs.org/package/morgan +[travis-image]: https://img.shields.io/travis/expressjs/morgan/master.svg +[travis-url]: https://travis-ci.org/expressjs/morgan +[coveralls-image]: https://img.shields.io/coveralls/expressjs/morgan/master.svg +[coveralls-url]: https://coveralls.io/r/expressjs/morgan?branch=master +[downloads-image]: https://img.shields.io/npm/dm/morgan.svg +[downloads-url]: https://npmjs.org/package/morgan +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://www.gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/index.js new file mode 100755 index 0000000..7b6dada --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/index.js @@ -0,0 +1,522 @@ +/*! + * morgan + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = morgan +module.exports.compile = compile +module.exports.format = format +module.exports.token = token + +/** + * Module dependencies. + * @private + */ + +var auth = require('basic-auth') +var debug = require('debug')('morgan') +var deprecate = require('depd')('morgan') +var onFinished = require('on-finished') +var onHeaders = require('on-headers') + +/** + * Array of CLF month names. + * @private + */ + +var CLF_MONTH = [ + 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' +] + +/** + * Default log buffer duration. + * @private + */ + +var DEFAULT_BUFFER_DURATION = 1000 + +/** + * Create a logger middleware. + * + * @public + * @param {String|Function} format + * @param {Object} [options] + * @return {Function} middleware + */ + +function morgan (format, options) { + var fmt = format + var opts = options || {} + + if (format && typeof format === 'object') { + opts = format + fmt = opts.format || 'default' + + // smart deprecation message + deprecate('morgan(options): use morgan(' + (typeof fmt === 'string' ? JSON.stringify(fmt) : 'format') + ', options) instead') + } + + if (fmt === undefined) { + deprecate('undefined format: specify a format') + } + + // output on request instead of response + var immediate = opts.immediate + + // check if log entry should be skipped + var skip = opts.skip || false + + // format function + var formatLine = typeof fmt !== 'function' + ? getFormatFunction(fmt) + : fmt + + // stream + var buffer = opts.buffer + var stream = opts.stream || process.stdout + + // buffering support + if (buffer) { + deprecate('buffer option') + + // flush interval + var interval = typeof buffer !== 'number' + ? DEFAULT_BUFFER_DURATION + : buffer + + // swap the stream + stream = createBufferStream(stream, interval) + } + + return function logger (req, res, next) { + // request data + req._startAt = undefined + req._startTime = undefined + req._remoteAddress = getip(req) + + // response data + res._startAt = undefined + res._startTime = undefined + + // record request start + recordStartTime.call(req) + + function logRequest () { + if (skip !== false && skip(req, res)) { + debug('skip request') + return + } + + var line = formatLine(morgan, req, res) + + if (line == null) { + debug('skip line') + return + } + + debug('log request') + stream.write(line + '\n') + }; + + if (immediate) { + // immediate log + logRequest() + } else { + // record response start + onHeaders(res, recordStartTime) + + // log when response finished + onFinished(res, logRequest) + } + + next() + } +} + +/** + * Apache combined log format. + */ + +morgan.format('combined', ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"') + +/** + * Apache common log format. + */ + +morgan.format('common', ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length]') + +/** + * Default format. + */ + +morgan.format('default', ':remote-addr - :remote-user [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"') +deprecate.property(morgan, 'default', 'default format: use combined format') + +/** + * Short format. + */ + +morgan.format('short', ':remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms') + +/** + * Tiny format. + */ + +morgan.format('tiny', ':method :url :status :res[content-length] - :response-time ms') + +/** + * dev (colored) + */ + +morgan.format('dev', function developmentFormatLine (tokens, req, res) { + // get the status code if response written + var status = headersSent(res) + ? res.statusCode + : undefined + + // get status color + var color = status >= 500 ? 31 // red + : status >= 400 ? 33 // yellow + : status >= 300 ? 36 // cyan + : status >= 200 ? 32 // green + : 0 // no color + + // get colored function + var fn = developmentFormatLine[color] + + if (!fn) { + // compile + fn = developmentFormatLine[color] = compile('\x1b[0m:method :url \x1b[' + + color + 'm:status \x1b[0m:response-time ms - :res[content-length]\x1b[0m') + } + + return fn(tokens, req, res) +}) + +/** + * request url + */ + +morgan.token('url', function getUrlToken (req) { + return req.originalUrl || req.url +}) + +/** + * request method + */ + +morgan.token('method', function getMethodToken (req) { + return req.method +}) + +/** + * response time in milliseconds + */ + +morgan.token('response-time', function getResponseTimeToken (req, res, digits) { + if (!req._startAt || !res._startAt) { + // missing request and/or response start time + return + } + + // calculate diff + var ms = (res._startAt[0] - req._startAt[0]) * 1e3 + + (res._startAt[1] - req._startAt[1]) * 1e-6 + + // return truncated value + return ms.toFixed(digits === undefined ? 3 : digits) +}) + +/** + * current date + */ + +morgan.token('date', function getDateToken (req, res, format) { + var date = new Date() + + switch (format || 'web') { + case 'clf': + return clfdate(date) + case 'iso': + return date.toISOString() + case 'web': + return date.toUTCString() + } +}) + +/** + * response status code + */ + +morgan.token('status', function getStatusToken (req, res) { + return headersSent(res) + ? String(res.statusCode) + : undefined +}) + +/** + * normalized referrer + */ + +morgan.token('referrer', function getReferrerToken (req) { + return req.headers['referer'] || req.headers['referrer'] +}) + +/** + * remote address + */ + +morgan.token('remote-addr', getip) + +/** + * remote user + */ + +morgan.token('remote-user', function getRemoteUserToken (req) { + // parse basic credentials + var credentials = auth(req) + + // return username + return credentials + ? credentials.name + : undefined +}) + +/** + * HTTP version + */ + +morgan.token('http-version', function getHttpVersionToken (req) { + return req.httpVersionMajor + '.' + req.httpVersionMinor +}) + +/** + * UA string + */ + +morgan.token('user-agent', function getUserAgentToken (req) { + return req.headers['user-agent'] +}) + +/** + * request header + */ + +morgan.token('req', function getRequestToken (req, res, field) { + // get header + var header = req.headers[field.toLowerCase()] + + return Array.isArray(header) + ? header.join(', ') + : header +}) + +/** + * response header + */ + +morgan.token('res', function getResponseHeader (req, res, field) { + if (!headersSent(res)) { + return undefined + } + + // get header + var header = res.getHeader(field) + + return Array.isArray(header) + ? header.join(', ') + : header +}) + +/** + * Format a Date in the common log format. + * + * @private + * @param {Date} dateTime + * @return {string} + */ + +function clfdate (dateTime) { + var date = dateTime.getUTCDate() + var hour = dateTime.getUTCHours() + var mins = dateTime.getUTCMinutes() + var secs = dateTime.getUTCSeconds() + var year = dateTime.getUTCFullYear() + + var month = CLF_MONTH[dateTime.getUTCMonth()] + + return pad2(date) + '/' + month + '/' + year + + ':' + pad2(hour) + ':' + pad2(mins) + ':' + pad2(secs) + + ' +0000' +} + +/** + * Compile a format string into a function. + * + * @param {string} format + * @return {function} + * @public + */ + +function compile (format) { + if (typeof format !== 'string') { + throw new TypeError('argument format must be a string') + } + + var fmt = format.replace(/"/g, '\\"') + var js = ' "use strict"\n return "' + fmt.replace(/:([-\w]{2,})(?:\[([^\]]+)\])?/g, function (_, name, arg) { + var tokenArguments = 'req, res' + var tokenFunction = 'tokens[' + String(JSON.stringify(name)) + ']' + + if (arg !== undefined) { + tokenArguments += ', ' + String(JSON.stringify(arg)) + } + + return '" +\n (' + tokenFunction + '(' + tokenArguments + ') || "-") + "' + }) + '"' + + // eslint-disable-next-line no-new-func + return new Function('tokens, req, res', js) +} + +/** + * Create a basic buffering stream. + * + * @param {object} stream + * @param {number} interval + * @public + */ + +function createBufferStream (stream, interval) { + var buf = [] + var timer = null + + // flush function + function flush () { + timer = null + stream.write(buf.join('')) + buf.length = 0 + } + + // write function + function write (str) { + if (timer === null) { + timer = setTimeout(flush, interval) + } + + buf.push(str) + } + + // return a minimal "stream" + return { write: write } +} + +/** + * Define a format with the given name. + * + * @param {string} name + * @param {string|function} fmt + * @public + */ + +function format (name, fmt) { + morgan[name] = fmt + return this +} + +/** + * Lookup and compile a named format function. + * + * @param {string} name + * @return {function} + * @public + */ + +function getFormatFunction (name) { + // lookup format + var fmt = morgan[name] || name || morgan.default + + // return compiled format + return typeof fmt !== 'function' + ? compile(fmt) + : fmt +} + +/** + * Get request IP address. + * + * @private + * @param {IncomingMessage} req + * @return {string} + */ + +function getip (req) { + return req.ip || + req._remoteAddress || + (req.connection && req.connection.remoteAddress) || + undefined +} + +/** + * Determine if the response headers have been sent. + * + * @param {object} res + * @returns {boolean} + * @private + */ + +function headersSent (res) { + return typeof res.headersSent !== 'boolean' + ? Boolean(res._header) + : res.headersSent +} + +/** + * Pad number to two digits. + * + * @private + * @param {number} num + * @return {string} + */ + +function pad2 (num) { + var str = String(num) + + return (str.length === 1 ? '0' : '') + str +} + +/** + * Record the start time. + * @private + */ + +function recordStartTime () { + this._startAt = process.hrtime() + this._startTime = new Date() +} + +/** + * Define a token function with the given name, + * and callback fn(req, res). + * + * @param {string} name + * @param {function} fn + * @public + */ + +function token (name, fn) { + morgan[name] = fn + return this +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/package.json new file mode 100755 index 0000000..fbb0ddb --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/morgan/package.json @@ -0,0 +1,127 @@ +{ + "_args": [ + [ + { + "raw": "morgan", + "scope": null, + "escapedName": "morgan", + "name": "morgan", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples" + ] + ], + "_from": "morgan@latest", + "_id": "morgan@1.9.0", + "_inCache": true, + "_location": "/morgan", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/morgan-1.9.0.tgz_1506479941546_0.9185023584868759" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "morgan", + "scope": null, + "escapedName": "morgan", + "name": "morgan", + "rawSpec": "", + "spec": "latest", + "type": "tag" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", + "_shasum": "d01fa6c65859b76fcf31b3cb53a3821a311d8051", + "_shrinkwrap": null, + "_spec": "morgan", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples", + "bugs": { + "url": "https://github.com/expressjs/morgan/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.1", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + }, + "description": "HTTP request logger middleware for node.js", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "split": "1.0.1", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "shasum": "d01fa6c65859b76fcf31b3cb53a3821a311d8051", + "tarball": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz" + }, + "engines": { + "node": ">= 0.8.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "4def0fa6d4ac703dc5c76f901e997af667a27d65", + "homepage": "https://github.com/expressjs/morgan#readme", + "keywords": [ + "express", + "http", + "logger", + "middleware" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "morgan", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/expressjs/morgan.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --check-leaks --reporter spec --bail", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec" + }, + "version": "1.9.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/index.js new file mode 100755 index 0000000..6a522b1 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/index.js @@ -0,0 +1,152 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/license.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/license.md new file mode 100755 index 0000000..69b6125 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/license.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Zeit, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/package.json new file mode 100755 index 0000000..f77181f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/package.json @@ -0,0 +1,110 @@ +{ + "_args": [ + [ + { + "raw": "ms@2.0.0", + "scope": null, + "escapedName": "ms", + "name": "ms", + "rawSpec": "2.0.0", + "spec": "2.0.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\debug" + ] + ], + "_from": "ms@2.0.0", + "_id": "ms@2.0.0", + "_inCache": true, + "_location": "/ms", + "_nodeVersion": "7.8.0", + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/ms-2.0.0.tgz_1494937565215_0.34005374647676945" + }, + "_npmUser": { + "name": "leo", + "email": "leo@zeit.co" + }, + "_npmVersion": "4.2.0", + "_phantomChildren": {}, + "_requested": { + "raw": "ms@2.0.0", + "scope": null, + "escapedName": "ms", + "name": "ms", + "rawSpec": "2.0.0", + "spec": "2.0.0", + "type": "version" + }, + "_requiredBy": [ + "/debug", + "/send" + ], + "_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8", + "_shrinkwrap": null, + "_spec": "ms@2.0.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\debug", + "bugs": { + "url": "https://github.com/zeit/ms/issues" + }, + "dependencies": {}, + "description": "Tiny milisecond conversion utility", + "devDependencies": { + "eslint": "3.19.0", + "expect.js": "0.3.1", + "husky": "0.13.3", + "lint-staged": "3.4.1", + "mocha": "3.4.1" + }, + "directories": {}, + "dist": { + "shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8", + "tarball": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "files": [ + "index.js" + ], + "gitHead": "9b88d1568a52ec9bb67ecc8d2aa224fa38fd41f4", + "homepage": "https://github.com/zeit/ms#readme", + "license": "MIT", + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "main": "./index", + "maintainers": [ + { + "name": "leo", + "email": "leo@zeit.co" + }, + { + "name": "rauchg", + "email": "rauchg@gmail.com" + } + ], + "name": "ms", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/zeit/ms.git" + }, + "scripts": { + "lint": "eslint lib/* bin/*", + "precommit": "lint-staged", + "test": "mocha tests.js" + }, + "version": "2.0.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/readme.md new file mode 100755 index 0000000..84a9974 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/ms/readme.md @@ -0,0 +1,51 @@ +# ms + +[](https://travis-ci.org/zeit/ms) +[](https://zeit.chat/) + +Use this package to easily convert various time formats to milliseconds. + +## Examples + +```js +ms('2 days') // 172800000 +ms('1d') // 86400000 +ms('10h') // 36000000 +ms('2.5 hrs') // 9000000 +ms('2h') // 7200000 +ms('1m') // 60000 +ms('5s') // 5000 +ms('1y') // 31557600000 +ms('100') // 100 +``` + +### Convert from milliseconds + +```js +ms(60000) // "1m" +ms(2 * 60000) // "2m" +ms(ms('10 hours')) // "10h" +``` + +### Time format written-out + +```js +ms(60000, { long: true }) // "1 minute" +ms(2 * 60000, { long: true }) // "2 minutes" +ms(ms('10 hours'), { long: true }) // "10 hours" +``` + +## Features + +- Works both in [node](https://nodejs.org) and in the browser. +- If a number is supplied to `ms`, a string with a unit is returned. +- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). +- If you pass a string with a number and a valid unit, the number of equivalent ms is returned. + +## Caught a bug? + +1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device +2. Link the package to the global module directory: `npm link` +3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! + +As always, you can run the tests using: `npm test` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/HISTORY.md new file mode 100755 index 0000000..10b6917 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/HISTORY.md @@ -0,0 +1,98 @@ +0.6.1 / 2016-05-02 +================== + + * perf: improve `Accept` parsing speed + * perf: improve `Accept-Charset` parsing speed + * perf: improve `Accept-Encoding` parsing speed + * perf: improve `Accept-Language` parsing speed + +0.6.0 / 2015-09-29 +================== + + * Fix including type extensions in parameters in `Accept` parsing + * Fix parsing `Accept` parameters with quoted equals + * Fix parsing `Accept` parameters with quoted semicolons + * Lazy-load modules from main entry point + * perf: delay type concatenation until needed + * perf: enable strict mode + * perf: hoist regular expressions + * perf: remove closures getting spec properties + * perf: remove a closure from media type parsing + * perf: remove property delete from media type parsing + +0.5.3 / 2015-05-10 +================== + + * Fix media type parameter matching to be case-insensitive + +0.5.2 / 2015-05-06 +================== + + * Fix comparing media types with quoted values + * Fix splitting media types with quoted commas + +0.5.1 / 2015-02-14 +================== + + * Fix preference sorting to be stable for long acceptable lists + +0.5.0 / 2014-12-18 +================== + + * Fix list return order when large accepted list + * Fix missing identity encoding when q=0 exists + * Remove dynamic building of Negotiator class + +0.4.9 / 2014-10-14 +================== + + * Fix error when media type has invalid parameter + +0.4.8 / 2014-09-28 +================== + + * Fix all negotiations to be case-insensitive + * Stable sort preferences of same quality according to client order + * Support Node.js 0.6 + +0.4.7 / 2014-06-24 +================== + + * Handle invalid provided languages + * Handle invalid provided media types + +0.4.6 / 2014-06-11 +================== + + * Order by specificity when quality is the same + +0.4.5 / 2014-05-29 +================== + + * Fix regression in empty header handling + +0.4.4 / 2014-05-29 +================== + + * Fix behaviors when headers are not present + +0.4.3 / 2014-04-16 +================== + + * Handle slashes on media params correctly + +0.4.2 / 2014-02-28 +================== + + * Fix media type sorting + * Handle media types params strictly + +0.4.1 / 2014-01-16 +================== + + * Use most specific matches + +0.4.0 / 2014-01-09 +================== + + * Remove preferred prefix from methods diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/LICENSE new file mode 100755 index 0000000..ea6b9e2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Federico Romero +Copyright (c) 2012-2014 Isaac Z. Schlueter +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/README.md new file mode 100755 index 0000000..04a67ff --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/README.md @@ -0,0 +1,203 @@ +# negotiator + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +An HTTP content negotiator for Node.js + +## Installation + +```sh +$ npm install negotiator +``` + +## API + +```js +var Negotiator = require('negotiator') +``` + +### Accept Negotiation + +```js +availableMediaTypes = ['text/html', 'text/plain', 'application/json'] + +// The negotiator constructor receives a request object +negotiator = new Negotiator(request) + +// Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8' + +negotiator.mediaTypes() +// -> ['text/html', 'image/jpeg', 'application/*'] + +negotiator.mediaTypes(availableMediaTypes) +// -> ['text/html', 'application/json'] + +negotiator.mediaType(availableMediaTypes) +// -> 'text/html' +``` + +You can check a working example at `examples/accept.js`. + +#### Methods + +##### mediaType() + +Returns the most preferred media type from the client. + +##### mediaType(availableMediaType) + +Returns the most preferred media type from a list of available media types. + +##### mediaTypes() + +Returns an array of preferred media types ordered by the client preference. + +##### mediaTypes(availableMediaTypes) + +Returns an array of preferred media types ordered by priority from a list of +available media types. + +### Accept-Language Negotiation + +```js +negotiator = new Negotiator(request) + +availableLanguages = ['en', 'es', 'fr'] + +// Let's say Accept-Language header is 'en;q=0.8, es, pt' + +negotiator.languages() +// -> ['es', 'pt', 'en'] + +negotiator.languages(availableLanguages) +// -> ['es', 'en'] + +language = negotiator.language(availableLanguages) +// -> 'es' +``` + +You can check a working example at `examples/language.js`. + +#### Methods + +##### language() + +Returns the most preferred language from the client. + +##### language(availableLanguages) + +Returns the most preferred language from a list of available languages. + +##### languages() + +Returns an array of preferred languages ordered by the client preference. + +##### languages(availableLanguages) + +Returns an array of preferred languages ordered by priority from a list of +available languages. + +### Accept-Charset Negotiation + +```js +availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5'] + +negotiator = new Negotiator(request) + +// Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2' + +negotiator.charsets() +// -> ['utf-8', 'iso-8859-1', 'utf-7'] + +negotiator.charsets(availableCharsets) +// -> ['utf-8', 'iso-8859-1'] + +negotiator.charset(availableCharsets) +// -> 'utf-8' +``` + +You can check a working example at `examples/charset.js`. + +#### Methods + +##### charset() + +Returns the most preferred charset from the client. + +##### charset(availableCharsets) + +Returns the most preferred charset from a list of available charsets. + +##### charsets() + +Returns an array of preferred charsets ordered by the client preference. + +##### charsets(availableCharsets) + +Returns an array of preferred charsets ordered by priority from a list of +available charsets. + +### Accept-Encoding Negotiation + +```js +availableEncodings = ['identity', 'gzip'] + +negotiator = new Negotiator(request) + +// Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5' + +negotiator.encodings() +// -> ['gzip', 'identity', 'compress'] + +negotiator.encodings(availableEncodings) +// -> ['gzip', 'identity'] + +negotiator.encoding(availableEncodings) +// -> 'gzip' +``` + +You can check a working example at `examples/encoding.js`. + +#### Methods + +##### encoding() + +Returns the most preferred encoding from the client. + +##### encoding(availableEncodings) + +Returns the most preferred encoding from a list of available encodings. + +##### encodings() + +Returns an array of preferred encodings ordered by the client preference. + +##### encodings(availableEncodings) + +Returns an array of preferred encodings ordered by priority from a list of +available encodings. + +## See Also + +The [accepts](https://npmjs.org/package/accepts#readme) module builds on +this module and provides an alternative interface, mime type validation, +and more. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/negotiator.svg +[npm-url]: https://npmjs.org/package/negotiator +[node-version-image]: https://img.shields.io/node/v/negotiator.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg +[travis-url]: https://travis-ci.org/jshttp/negotiator +[coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master +[downloads-image]: https://img.shields.io/npm/dm/negotiator.svg +[downloads-url]: https://npmjs.org/package/negotiator diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/index.js new file mode 100755 index 0000000..8d4f6a2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/index.js @@ -0,0 +1,124 @@ +/*! + * negotiator + * Copyright(c) 2012 Federico Romero + * Copyright(c) 2012-2014 Isaac Z. Schlueter + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Cached loaded submodules. + * @private + */ + +var modules = Object.create(null); + +/** + * Module exports. + * @public + */ + +module.exports = Negotiator; +module.exports.Negotiator = Negotiator; + +/** + * Create a Negotiator instance from a request. + * @param {object} request + * @public + */ + +function Negotiator(request) { + if (!(this instanceof Negotiator)) { + return new Negotiator(request); + } + + this.request = request; +} + +Negotiator.prototype.charset = function charset(available) { + var set = this.charsets(available); + return set && set[0]; +}; + +Negotiator.prototype.charsets = function charsets(available) { + var preferredCharsets = loadModule('charset').preferredCharsets; + return preferredCharsets(this.request.headers['accept-charset'], available); +}; + +Negotiator.prototype.encoding = function encoding(available) { + var set = this.encodings(available); + return set && set[0]; +}; + +Negotiator.prototype.encodings = function encodings(available) { + var preferredEncodings = loadModule('encoding').preferredEncodings; + return preferredEncodings(this.request.headers['accept-encoding'], available); +}; + +Negotiator.prototype.language = function language(available) { + var set = this.languages(available); + return set && set[0]; +}; + +Negotiator.prototype.languages = function languages(available) { + var preferredLanguages = loadModule('language').preferredLanguages; + return preferredLanguages(this.request.headers['accept-language'], available); +}; + +Negotiator.prototype.mediaType = function mediaType(available) { + var set = this.mediaTypes(available); + return set && set[0]; +}; + +Negotiator.prototype.mediaTypes = function mediaTypes(available) { + var preferredMediaTypes = loadModule('mediaType').preferredMediaTypes; + return preferredMediaTypes(this.request.headers.accept, available); +}; + +// Backwards compatibility +Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; +Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; +Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; +Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; +Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; +Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; +Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; +Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; + +/** + * Load the given module. + * @private + */ + +function loadModule(moduleName) { + var module = modules[moduleName]; + + if (module !== undefined) { + return module; + } + + // This uses a switch for static require analysis + switch (moduleName) { + case 'charset': + module = require('./lib/charset'); + break; + case 'encoding': + module = require('./lib/encoding'); + break; + case 'language': + module = require('./lib/language'); + break; + case 'mediaType': + module = require('./lib/mediaType'); + break; + default: + throw new Error('Cannot find module \'' + moduleName + '\''); + } + + // Store to prevent invoking require() + modules[moduleName] = module; + + return module; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/charset.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/charset.js new file mode 100755 index 0000000..ac4217b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/charset.js @@ -0,0 +1,169 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredCharsets; +module.exports.preferredCharsets = preferredCharsets; + +/** + * Module variables. + * @private + */ + +var simpleCharsetRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Charset header. + * @private + */ + +function parseAcceptCharset(accept) { + var accepts = accept.split(','); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var charset = parseCharset(accepts[i].trim(), i); + + if (charset) { + accepts[j++] = charset; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a charset from the Accept-Charset header. + * @private + */ + +function parseCharset(str, i) { + var match = simpleCharsetRegExp.exec(str); + if (!match) return null; + + var charset = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(';') + for (var i = 0; i < params.length; i ++) { + var p = params[i].trim().split('='); + if (p[0] === 'q') { + q = parseFloat(p[1]); + break; + } + } + } + + return { + charset: charset, + q: q, + i: i + }; +} + +/** + * Get the priority of a charset. + * @private + */ + +function getCharsetPriority(charset, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(charset, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the charset. + * @private + */ + +function specify(charset, spec, index) { + var s = 0; + if(spec.charset.toLowerCase() === charset.toLowerCase()){ + s |= 1; + } else if (spec.charset !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +} + +/** + * Get the preferred charsets from an Accept-Charset header. + * @public + */ + +function preferredCharsets(accept, provided) { + // RFC 2616 sec 14.2: no header = * + var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || ''); + + if (!provided) { + // sorted list of all charsets + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullCharset); + } + + var priorities = provided.map(function getPriority(type, index) { + return getCharsetPriority(type, accepts, index); + }); + + // sorted list of accepted charsets + return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full charset string. + * @private + */ + +function getFullCharset(spec) { + return spec.charset; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/encoding.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/encoding.js new file mode 100755 index 0000000..70ac3de --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/encoding.js @@ -0,0 +1,184 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredEncodings; +module.exports.preferredEncodings = preferredEncodings; + +/** + * Module variables. + * @private + */ + +var simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Encoding header. + * @private + */ + +function parseAcceptEncoding(accept) { + var accepts = accept.split(','); + var hasIdentity = false; + var minQuality = 1; + + for (var i = 0, j = 0; i < accepts.length; i++) { + var encoding = parseEncoding(accepts[i].trim(), i); + + if (encoding) { + accepts[j++] = encoding; + hasIdentity = hasIdentity || specify('identity', encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + + if (!hasIdentity) { + /* + * If identity doesn't explicitly appear in the accept-encoding header, + * it's added to the list of acceptable encoding with the lowest q + */ + accepts[j++] = { + encoding: 'identity', + q: minQuality, + i: i + }; + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse an encoding from the Accept-Encoding header. + * @private + */ + +function parseEncoding(str, i) { + var match = simpleEncodingRegExp.exec(str); + if (!match) return null; + + var encoding = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(';'); + for (var i = 0; i < params.length; i ++) { + var p = params[i].trim().split('='); + if (p[0] === 'q') { + q = parseFloat(p[1]); + break; + } + } + } + + return { + encoding: encoding, + q: q, + i: i + }; +} + +/** + * Get the priority of an encoding. + * @private + */ + +function getEncodingPriority(encoding, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(encoding, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the encoding. + * @private + */ + +function specify(encoding, spec, index) { + var s = 0; + if(spec.encoding.toLowerCase() === encoding.toLowerCase()){ + s |= 1; + } else if (spec.encoding !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +}; + +/** + * Get the preferred encodings from an Accept-Encoding header. + * @public + */ + +function preferredEncodings(accept, provided) { + var accepts = parseAcceptEncoding(accept || ''); + + if (!provided) { + // sorted list of all encodings + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullEncoding); + } + + var priorities = provided.map(function getPriority(type, index) { + return getEncodingPriority(type, accepts, index); + }); + + // sorted list of accepted encodings + return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full encoding string. + * @private + */ + +function getFullEncoding(spec) { + return spec.encoding; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/language.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/language.js new file mode 100755 index 0000000..1bd2d0e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/language.js @@ -0,0 +1,179 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredLanguages; +module.exports.preferredLanguages = preferredLanguages; + +/** + * Module variables. + * @private + */ + +var simpleLanguageRegExp = /^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/; + +/** + * Parse the Accept-Language header. + * @private + */ + +function parseAcceptLanguage(accept) { + var accepts = accept.split(','); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var langauge = parseLanguage(accepts[i].trim(), i); + + if (langauge) { + accepts[j++] = langauge; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a language from the Accept-Language header. + * @private + */ + +function parseLanguage(str, i) { + var match = simpleLanguageRegExp.exec(str); + if (!match) return null; + + var prefix = match[1], + suffix = match[2], + full = prefix; + + if (suffix) full += "-" + suffix; + + var q = 1; + if (match[3]) { + var params = match[3].split(';') + for (var i = 0; i < params.length; i ++) { + var p = params[i].split('='); + if (p[0] === 'q') q = parseFloat(p[1]); + } + } + + return { + prefix: prefix, + suffix: suffix, + q: q, + i: i, + full: full + }; +} + +/** + * Get the priority of a language. + * @private + */ + +function getLanguagePriority(language, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(language, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the language. + * @private + */ + +function specify(language, spec, index) { + var p = parseLanguage(language) + if (!p) return null; + var s = 0; + if(spec.full.toLowerCase() === p.full.toLowerCase()){ + s |= 4; + } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== '*' ) { + return null + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s + } +}; + +/** + * Get the preferred languages from an Accept-Language header. + * @public + */ + +function preferredLanguages(accept, provided) { + // RFC 2616 sec 14.4: no header = * + var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || ''); + + if (!provided) { + // sorted list of all languages + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullLanguage); + } + + var priorities = provided.map(function getPriority(type, index) { + return getLanguagePriority(type, accepts, index); + }); + + // sorted list of accepted languages + return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full language string. + * @private + */ + +function getFullLanguage(spec) { + return spec.full; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/mediaType.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/mediaType.js new file mode 100755 index 0000000..67309dd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/lib/mediaType.js @@ -0,0 +1,294 @@ +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = preferredMediaTypes; +module.exports.preferredMediaTypes = preferredMediaTypes; + +/** + * Module variables. + * @private + */ + +var simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/; + +/** + * Parse the Accept header. + * @private + */ + +function parseAccept(accept) { + var accepts = splitMediaTypes(accept); + + for (var i = 0, j = 0; i < accepts.length; i++) { + var mediaType = parseMediaType(accepts[i].trim(), i); + + if (mediaType) { + accepts[j++] = mediaType; + } + } + + // trim accepts + accepts.length = j; + + return accepts; +} + +/** + * Parse a media type from the Accept header. + * @private + */ + +function parseMediaType(str, i) { + var match = simpleMediaTypeRegExp.exec(str); + if (!match) return null; + + var params = Object.create(null); + var q = 1; + var subtype = match[2]; + var type = match[1]; + + if (match[3]) { + var kvps = splitParameters(match[3]).map(splitKeyValuePair); + + for (var j = 0; j < kvps.length; j++) { + var pair = kvps[j]; + var key = pair[0].toLowerCase(); + var val = pair[1]; + + // get the value, unwrapping quotes + var value = val && val[0] === '"' && val[val.length - 1] === '"' + ? val.substr(1, val.length - 2) + : val; + + if (key === 'q') { + q = parseFloat(value); + break; + } + + // store parameter + params[key] = value; + } + } + + return { + type: type, + subtype: subtype, + params: params, + q: q, + i: i + }; +} + +/** + * Get the priority of a media type. + * @private + */ + +function getMediaTypePriority(type, accepted, index) { + var priority = {o: -1, q: 0, s: 0}; + + for (var i = 0; i < accepted.length; i++) { + var spec = specify(type, accepted[i], index); + + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + + return priority; +} + +/** + * Get the specificity of the media type. + * @private + */ + +function specify(type, spec, index) { + var p = parseMediaType(type); + var s = 0; + + if (!p) { + return null; + } + + if(spec.type.toLowerCase() == p.type.toLowerCase()) { + s |= 4 + } else if(spec.type != '*') { + return null; + } + + if(spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { + s |= 2 + } else if(spec.subtype != '*') { + return null; + } + + var keys = Object.keys(spec.params); + if (keys.length > 0) { + if (keys.every(function (k) { + return spec.params[k] == '*' || (spec.params[k] || '').toLowerCase() == (p.params[k] || '').toLowerCase(); + })) { + s |= 1 + } else { + return null + } + } + + return { + i: index, + o: spec.i, + q: spec.q, + s: s, + } +} + +/** + * Get the preferred media types from an Accept header. + * @public + */ + +function preferredMediaTypes(accept, provided) { + // RFC 2616 sec 14.2: no header = */* + var accepts = parseAccept(accept === undefined ? '*/*' : accept || ''); + + if (!provided) { + // sorted list of all types + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullType); + } + + var priorities = provided.map(function getPriority(type, index) { + return getMediaTypePriority(type, accepts, index); + }); + + // sorted list of accepted types + return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) { + return provided[priorities.indexOf(priority)]; + }); +} + +/** + * Compare two specs. + * @private + */ + +function compareSpecs(a, b) { + return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0; +} + +/** + * Get full type string. + * @private + */ + +function getFullType(spec) { + return spec.type + '/' + spec.subtype; +} + +/** + * Check if a spec has any quality. + * @private + */ + +function isQuality(spec) { + return spec.q > 0; +} + +/** + * Count the number of quotes in a string. + * @private + */ + +function quoteCount(string) { + var count = 0; + var index = 0; + + while ((index = string.indexOf('"', index)) !== -1) { + count++; + index++; + } + + return count; +} + +/** + * Split a key value pair. + * @private + */ + +function splitKeyValuePair(str) { + var index = str.indexOf('='); + var key; + var val; + + if (index === -1) { + key = str; + } else { + key = str.substr(0, index); + val = str.substr(index + 1); + } + + return [key, val]; +} + +/** + * Split an Accept header into media types. + * @private + */ + +function splitMediaTypes(accept) { + var accepts = accept.split(','); + + for (var i = 1, j = 0; i < accepts.length; i++) { + if (quoteCount(accepts[j]) % 2 == 0) { + accepts[++j] = accepts[i]; + } else { + accepts[j] += ',' + accepts[i]; + } + } + + // trim accepts + accepts.length = j + 1; + + return accepts; +} + +/** + * Split a string of parameters. + * @private + */ + +function splitParameters(str) { + var parameters = str.split(';'); + + for (var i = 1, j = 0; i < parameters.length; i++) { + if (quoteCount(parameters[j]) % 2 == 0) { + parameters[++j] = parameters[i]; + } else { + parameters[j] += ';' + parameters[i]; + } + } + + // trim parameters + parameters.length = j + 1; + + for (var i = 0; i < parameters.length; i++) { + parameters[i] = parameters[i].trim(); + } + + return parameters; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/package.json new file mode 100755 index 0000000..dd577db --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/negotiator/package.json @@ -0,0 +1,125 @@ +{ + "_args": [ + [ + { + "raw": "negotiator@0.6.1", + "scope": null, + "escapedName": "negotiator", + "name": "negotiator", + "rawSpec": "0.6.1", + "spec": "0.6.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\accepts" + ] + ], + "_from": "negotiator@0.6.1", + "_id": "negotiator@0.6.1", + "_inCache": true, + "_location": "/negotiator", + "_nodeVersion": "4.4.3", + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/negotiator-0.6.1.tgz_1462250848695_0.027451182017102838" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "2.15.1", + "_phantomChildren": {}, + "_requested": { + "raw": "negotiator@0.6.1", + "scope": null, + "escapedName": "negotiator", + "name": "negotiator", + "rawSpec": "0.6.1", + "spec": "0.6.1", + "type": "version" + }, + "_requiredBy": [ + "/accepts" + ], + "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "_shasum": "2b327184e8992101177b28563fb5e7102acd0ca9", + "_shrinkwrap": null, + "_spec": "negotiator@0.6.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\accepts", + "bugs": { + "url": "https://github.com/jshttp/negotiator/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Federico Romero", + "email": "federico.romero@outboxlabs.com" + }, + { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + } + ], + "dependencies": {}, + "description": "HTTP content negotiation", + "devDependencies": { + "istanbul": "0.4.3", + "mocha": "~1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "2b327184e8992101177b28563fb5e7102acd0ca9", + "tarball": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "lib/", + "HISTORY.md", + "LICENSE", + "index.js", + "README.md" + ], + "gitHead": "751c381c32707f238143cd65d78520e16f4ef9e5", + "homepage": "https://github.com/jshttp/negotiator#readme", + "keywords": [ + "http", + "content negotiation", + "accept", + "accept-language", + "accept-encoding", + "accept-charset" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "federomero", + "email": "federomero@gmail.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "negotiator", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/negotiator.git" + }, + "scripts": { + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "0.6.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/HISTORY.md new file mode 100755 index 0000000..98ff0e9 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/HISTORY.md @@ -0,0 +1,88 @@ +2.3.0 / 2015-05-26 +================== + + * Add defined behavior for HTTP `CONNECT` requests + * Add defined behavior for HTTP `Upgrade` requests + * deps: ee-first@1.1.1 + +2.2.1 / 2015-04-22 +================== + + * Fix `isFinished(req)` when data buffered + +2.2.0 / 2014-12-22 +================== + + * Add message object to callback arguments + +2.1.1 / 2014-10-22 +================== + + * Fix handling of pipelined requests + +2.1.0 / 2014-08-16 +================== + + * Check if `socket` is detached + * Return `undefined` for `isFinished` if state unknown + +2.0.0 / 2014-08-16 +================== + + * Add `isFinished` function + * Move to `jshttp` organization + * Remove support for plain socket argument + * Rename to `on-finished` + * Support both `req` and `res` as arguments + * deps: ee-first@1.0.5 + +1.2.2 / 2014-06-10 +================== + + * Reduce listeners added to emitters + - avoids "event emitter leak" warnings when used multiple times on same request + +1.2.1 / 2014-06-08 +================== + + * Fix returned value when already finished + +1.2.0 / 2014-06-05 +================== + + * Call callback when called on already-finished socket + +1.1.4 / 2014-05-27 +================== + + * Support node.js 0.8 + +1.1.3 / 2014-04-30 +================== + + * Make sure errors passed as instanceof `Error` + +1.1.2 / 2014-04-18 +================== + + * Default the `socket` to passed-in object + +1.1.1 / 2014-01-16 +================== + + * Rename module to `finished` + +1.1.0 / 2013-12-25 +================== + + * Call callback when called on already-errored socket + +1.0.1 / 2013-12-20 +================== + + * Actually pass the error to the callback + +1.0.0 / 2013-12-20 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/LICENSE new file mode 100755 index 0000000..5931fd2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2013 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/README.md new file mode 100755 index 0000000..a0e1157 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/README.md @@ -0,0 +1,154 @@ +# on-finished + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Execute a callback when a HTTP request closes, finishes, or errors. + +## Install + +```sh +$ npm install on-finished +``` + +## API + +```js +var onFinished = require('on-finished') +``` + +### onFinished(res, listener) + +Attach a listener to listen for the response to finish. The listener will +be invoked only once when the response finished. If the response finished +to an error, the first argument will contain the error. If the response +has already finished, the listener will be invoked. + +Listening to the end of a response would be used to close things associated +with the response, like open files. + +Listener is invoked as `listener(err, res)`. + +```js +onFinished(res, function (err, res) { + // clean up open fds, etc. + // err contains the error is request error'd +}) +``` + +### onFinished(req, listener) + +Attach a listener to listen for the request to finish. The listener will +be invoked only once when the request finished. If the request finished +to an error, the first argument will contain the error. If the request +has already finished, the listener will be invoked. + +Listening to the end of a request would be used to know when to continue +after reading the data. + +Listener is invoked as `listener(err, req)`. + +```js +var data = '' + +req.setEncoding('utf8') +res.on('data', function (str) { + data += str +}) + +onFinished(req, function (err, req) { + // data is read unless there is err +}) +``` + +### onFinished.isFinished(res) + +Determine if `res` is already finished. This would be useful to check and +not even start certain operations if the response has already finished. + +### onFinished.isFinished(req) + +Determine if `req` is already finished. This would be useful to check and +not even start certain operations if the request has already finished. + +## Special Node.js requests + +### HTTP CONNECT method + +The meaning of the `CONNECT` method from RFC 7231, section 4.3.6: + +> The CONNECT method requests that the recipient establish a tunnel to +> the destination origin server identified by the request-target and, +> if successful, thereafter restrict its behavior to blind forwarding +> of packets, in both directions, until the tunnel is closed. Tunnels +> are commonly used to create an end-to-end virtual connection, through +> one or more proxies, which can then be secured using TLS (Transport +> Layer Security, [RFC5246]). + +In Node.js, these request objects come from the `'connect'` event on +the HTTP server. + +When this module is used on a HTTP `CONNECT` request, the request is +considered "finished" immediately, **due to limitations in the Node.js +interface**. This means if the `CONNECT` request contains a request entity, +the request will be considered "finished" even before it has been read. + +There is no such thing as a response object to a `CONNECT` request in +Node.js, so there is no support for for one. + +### HTTP Upgrade request + +The meaning of the `Upgrade` header from RFC 7230, section 6.1: + +> The "Upgrade" header field is intended to provide a simple mechanism +> for transitioning from HTTP/1.1 to some other protocol on the same +> connection. + +In Node.js, these request objects come from the `'upgrade'` event on +the HTTP server. + +When this module is used on a HTTP request with an `Upgrade` header, the +request is considered "finished" immediately, **due to limitations in the +Node.js interface**. This means if the `Upgrade` request contains a request +entity, the request will be considered "finished" even before it has been +read. + +There is no such thing as a response object to a `Upgrade` request in +Node.js, so there is no support for for one. + +## Example + +The following code ensures that file descriptors are always closed +once the response finishes. + +```js +var destroy = require('destroy') +var http = require('http') +var onFinished = require('on-finished') + +http.createServer(function onRequest(req, res) { + var stream = fs.createReadStream('package.json') + stream.pipe(res) + onFinished(res, function (err) { + destroy(stream) + }) +}) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/on-finished.svg +[npm-url]: https://npmjs.org/package/on-finished +[node-version-image]: https://img.shields.io/node/v/on-finished.svg +[node-version-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/jshttp/on-finished/master.svg +[travis-url]: https://travis-ci.org/jshttp/on-finished +[coveralls-image]: https://img.shields.io/coveralls/jshttp/on-finished/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/on-finished?branch=master +[downloads-image]: https://img.shields.io/npm/dm/on-finished.svg +[downloads-url]: https://npmjs.org/package/on-finished diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/index.js new file mode 100755 index 0000000..9abd98f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/index.js @@ -0,0 +1,196 @@ +/*! + * on-finished + * Copyright(c) 2013 Jonathan Ong + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = onFinished +module.exports.isFinished = isFinished + +/** + * Module dependencies. + * @private + */ + +var first = require('ee-first') + +/** + * Variables. + * @private + */ + +/* istanbul ignore next */ +var defer = typeof setImmediate === 'function' + ? setImmediate + : function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) } + +/** + * Invoke callback when the response has finished, useful for + * cleaning up resources afterwards. + * + * @param {object} msg + * @param {function} listener + * @return {object} + * @public + */ + +function onFinished(msg, listener) { + if (isFinished(msg) !== false) { + defer(listener, null, msg) + return msg + } + + // attach the listener to the message + attachListener(msg, listener) + + return msg +} + +/** + * Determine if message is already finished. + * + * @param {object} msg + * @return {boolean} + * @public + */ + +function isFinished(msg) { + var socket = msg.socket + + if (typeof msg.finished === 'boolean') { + // OutgoingMessage + return Boolean(msg.finished || (socket && !socket.writable)) + } + + if (typeof msg.complete === 'boolean') { + // IncomingMessage + return Boolean(msg.upgrade || !socket || !socket.readable || (msg.complete && !msg.readable)) + } + + // don't know + return undefined +} + +/** + * Attach a finished listener to the message. + * + * @param {object} msg + * @param {function} callback + * @private + */ + +function attachFinishedListener(msg, callback) { + var eeMsg + var eeSocket + var finished = false + + function onFinish(error) { + eeMsg.cancel() + eeSocket.cancel() + + finished = true + callback(error) + } + + // finished on first message event + eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish) + + function onSocket(socket) { + // remove listener + msg.removeListener('socket', onSocket) + + if (finished) return + if (eeMsg !== eeSocket) return + + // finished on first socket event + eeSocket = first([[socket, 'error', 'close']], onFinish) + } + + if (msg.socket) { + // socket already assigned + onSocket(msg.socket) + return + } + + // wait for socket to be assigned + msg.on('socket', onSocket) + + if (msg.socket === undefined) { + // node.js 0.8 patch + patchAssignSocket(msg, onSocket) + } +} + +/** + * Attach the listener to the message. + * + * @param {object} msg + * @return {function} + * @private + */ + +function attachListener(msg, listener) { + var attached = msg.__onFinished + + // create a private single listener with queue + if (!attached || !attached.queue) { + attached = msg.__onFinished = createListener(msg) + attachFinishedListener(msg, attached) + } + + attached.queue.push(listener) +} + +/** + * Create listener on message. + * + * @param {object} msg + * @return {function} + * @private + */ + +function createListener(msg) { + function listener(err) { + if (msg.__onFinished === listener) msg.__onFinished = null + if (!listener.queue) return + + var queue = listener.queue + listener.queue = null + + for (var i = 0; i < queue.length; i++) { + queue[i](err, msg) + } + } + + listener.queue = [] + + return listener +} + +/** + * Patch ServerResponse.prototype.assignSocket for node.js 0.8. + * + * @param {ServerResponse} res + * @param {function} callback + * @private + */ + +function patchAssignSocket(res, callback) { + var assignSocket = res.assignSocket + + if (typeof assignSocket !== 'function') return + + // res.on('socket', callback) is broken in 0.8 + res.assignSocket = function _assignSocket(socket) { + assignSocket.call(this, socket) + callback(socket) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/package.json new file mode 100755 index 0000000..1d88a9d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-finished/package.json @@ -0,0 +1,107 @@ +{ + "_args": [ + [ + { + "raw": "on-finished@~2.3.0", + "scope": null, + "escapedName": "on-finished", + "name": "on-finished", + "rawSpec": "~2.3.0", + "spec": ">=2.3.0 <2.4.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "on-finished@>=2.3.0 <2.4.0", + "_id": "on-finished@2.3.0", + "_inCache": true, + "_location": "/on-finished", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "on-finished@~2.3.0", + "scope": null, + "escapedName": "on-finished", + "name": "on-finished", + "rawSpec": "~2.3.0", + "spec": ">=2.3.0 <2.4.0", + "type": "range" + }, + "_requiredBy": [ + "/body-parser", + "/express", + "/finalhandler", + "/send" + ], + "_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "_shasum": "20f1336481b083cd75337992a16971aa2d906947", + "_shrinkwrap": null, + "_spec": "on-finished@~2.3.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/on-finished/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "ee-first": "1.1.1" + }, + "description": "Execute a callback when a request closes, finishes, or errors", + "devDependencies": { + "istanbul": "0.3.9", + "mocha": "2.2.5" + }, + "directories": {}, + "dist": { + "shasum": "20f1336481b083cd75337992a16971aa2d906947", + "tarball": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "gitHead": "34babcb58126a416fcf5205768204f2e12699dda", + "homepage": "https://github.com/jshttp/on-finished", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "on-finished", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/on-finished.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "2.3.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/HISTORY.md new file mode 100755 index 0000000..e51ff01 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/HISTORY.md @@ -0,0 +1,16 @@ +1.0.1 / 2015-09-29 +================== + + * perf: enable strict mode + +1.0.0 / 2014-08-10 +================== + + * Honor `res.statusCode` change in `listener` + * Move to `jshttp` orgainzation + * Prevent `arguments`-related de-opt + +0.0.0 / 2014-05-13 +================== + + * Initial implementation diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/LICENSE new file mode 100755 index 0000000..b7dce6c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/README.md new file mode 100755 index 0000000..48ed9ae --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/README.md @@ -0,0 +1,76 @@ +# on-headers + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Execute a listener when a response is about to write headers. + +## Installation + +```sh +$ npm install on-headers +``` + +## API + +```js +var onHeaders = require('on-headers') +``` + +### onHeaders(res, listener) + +This will add the listener `listener` to fire when headers are emitted for `res`. +The listener is passed the `response` object as it's context (`this`). Headers are +considered to be emitted only once, right before they are sent to the client. + +When this is called multiple times on the same `res`, the `listener`s are fired +in the reverse order they were added. + +## Examples + +```js +var http = require('http') +var onHeaders = require('on-headers') + +http +.createServer(onRequest) +.listen(3000) + +function addPoweredBy() { + // set if not set by end of request + if (!this.getHeader('X-Powered-By')) { + this.setHeader('X-Powered-By', 'Node.js') + } +} + +function onRequest(req, res) { + onHeaders(res, addPoweredBy) + + res.setHeader('Content-Type', 'text/plain') + res.end('hello!') +} +``` + +## Testing + +```sh +$ npm test +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/on-headers.svg +[npm-url]: https://npmjs.org/package/on-headers +[node-version-image]: https://img.shields.io/node/v/on-headers.svg +[node-version-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/jshttp/on-headers/master.svg +[travis-url]: https://travis-ci.org/jshttp/on-headers +[coveralls-image]: https://img.shields.io/coveralls/jshttp/on-headers/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/on-headers?branch=master +[downloads-image]: https://img.shields.io/npm/dm/on-headers.svg +[downloads-url]: https://npmjs.org/package/on-headers diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/index.js new file mode 100755 index 0000000..089f2b3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/index.js @@ -0,0 +1,93 @@ +/*! + * on-headers + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Reference to Array slice. + */ + +var slice = Array.prototype.slice + +/** + * Execute a listener when a response is about to write headers. + * + * @param {Object} res + * @return {Function} listener + * @api public + */ + +module.exports = function onHeaders(res, listener) { + if (!res) { + throw new TypeError('argument res is required') + } + + if (typeof listener !== 'function') { + throw new TypeError('argument listener must be a function') + } + + res.writeHead = createWriteHead(res.writeHead, listener) +} + +function createWriteHead(prevWriteHead, listener) { + var fired = false; + + // return function with core name and argument list + return function writeHead(statusCode) { + // set headers from arguments + var args = setWriteHeadHeaders.apply(this, arguments); + + // fire listener + if (!fired) { + fired = true + listener.call(this) + + // pass-along an updated status code + if (typeof args[0] === 'number' && this.statusCode !== args[0]) { + args[0] = this.statusCode + args.length = 1 + } + } + + prevWriteHead.apply(this, args); + } +} + +function setWriteHeadHeaders(statusCode) { + var length = arguments.length + var headerIndex = length > 1 && typeof arguments[1] === 'string' + ? 2 + : 1 + + var headers = length >= headerIndex + 1 + ? arguments[headerIndex] + : undefined + + this.statusCode = statusCode + + // the following block is from node.js core + if (Array.isArray(headers)) { + // handle array case + for (var i = 0, len = headers.length; i < len; ++i) { + this.setHeader(headers[i][0], headers[i][1]) + } + } else if (headers) { + // handle object case + var keys = Object.keys(headers) + for (var i = 0; i < keys.length; i++) { + var k = keys[i] + if (k) this.setHeader(k, headers[k]) + } + } + + // copy leading arguments + var args = new Array(Math.min(length, headerIndex)) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + + return args +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/package.json new file mode 100755 index 0000000..507a972 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/on-headers/package.json @@ -0,0 +1,103 @@ +{ + "_args": [ + [ + { + "raw": "on-headers@~1.0.1", + "scope": null, + "escapedName": "on-headers", + "name": "on-headers", + "rawSpec": "~1.0.1", + "spec": ">=1.0.1 <1.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples\\node_modules\\morgan" + ] + ], + "_from": "on-headers@>=1.0.1 <1.1.0", + "_id": "on-headers@1.0.1", + "_inCache": true, + "_location": "/on-headers", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "on-headers@~1.0.1", + "scope": null, + "escapedName": "on-headers", + "name": "on-headers", + "rawSpec": "~1.0.1", + "spec": ">=1.0.1 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/morgan" + ], + "_resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "_shasum": "928f5d0f470d49342651ea6794b0857c100693f7", + "_shrinkwrap": null, + "_spec": "on-headers@~1.0.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\examples\\node_modules\\morgan", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/jshttp/on-headers/issues" + }, + "dependencies": {}, + "description": "Execute a listener when a response is about to write headers", + "devDependencies": { + "istanbul": "0.3.21", + "mocha": "2.3.3", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "shasum": "928f5d0f470d49342651ea6794b0857c100693f7", + "tarball": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "ab0156a979d72353cfe666cccb3639e016b00280", + "homepage": "https://github.com/jshttp/on-headers", + "keywords": [ + "event", + "headers", + "http", + "onheaders" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "on-headers", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/on-headers.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.0.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/HISTORY.md new file mode 100755 index 0000000..4803393 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/HISTORY.md @@ -0,0 +1,53 @@ +1.3.2 / 2017-09-09 +================== + + * perf: reduce overhead for full URLs + * perf: unroll the "fast-path" `RegExp` + +1.3.1 / 2016-01-17 +================== + + * perf: enable strict mode + +1.3.0 / 2014-08-09 +================== + + * Add `parseurl.original` for parsing `req.originalUrl` with fallback + * Return `undefined` if `req.url` is `undefined` + +1.2.0 / 2014-07-21 +================== + + * Cache URLs based on original value + * Remove no-longer-needed URL mis-parse work-around + * Simplify the "fast-path" `RegExp` + +1.1.3 / 2014-07-08 +================== + + * Fix typo + +1.1.2 / 2014-07-08 +================== + + * Seriously fix Node.js 0.8 compatibility + +1.1.1 / 2014-07-08 +================== + + * Fix Node.js 0.8 compatibility + +1.1.0 / 2014-07-08 +================== + + * Incorporate URL href-only parse fast-path + +1.0.1 / 2014-03-08 +================== + + * Add missing `require` + +1.0.0 / 2014-03-08 +================== + + * Genesis from `connect` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/LICENSE new file mode 100755 index 0000000..27653d3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/LICENSE @@ -0,0 +1,24 @@ + +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014-2017 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/README.md new file mode 100755 index 0000000..a5ccc51 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/README.md @@ -0,0 +1,124 @@ +# parseurl + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Parse a URL with memoization. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install parseurl +``` + +## API + +```js +var parseurl = require('parseurl') +``` + +### parseurl(req) + +Parse the URL of the given request object (looks at the `req.url` property) +and return the result. The result is the same as `url.parse` in Node.js core. +Calling this function multiple times on the same `req` where `req.url` does +not change will return a cached parsed object, rather than parsing again. + +### parseurl.original(req) + +Parse the original URL of the given request object and return the result. +This works by trying to parse `req.originalUrl` if it is a string, otherwise +parses `req.url`. The result is the same as `url.parse` in Node.js core. +Calling this function multiple times on the same `req` where `req.originalUrl` +does not change will return a cached parsed object, rather than parsing again. + +## Benchmark + +```bash +$ npm run-script bench + +> parseurl@1.3.2 bench nodejs-parseurl +> node benchmark/index.js + + http_parser@2.7.0 + node@4.8.4 + v8@4.5.103.47 + uv@1.9.1 + zlib@1.2.11 + ares@1.10.1-DEV + icu@56.1 + modules@46 + openssl@1.0.2k + +> node benchmark/fullurl.js + + Parsing URL "http://localhost:8888/foo/bar?user=tj&pet=fluffy" + + 3 tests completed. + + fasturl x 1,246,766 ops/sec ±0.74% (188 runs sampled) + nativeurl x 91,536 ops/sec ±0.54% (189 runs sampled) + parseurl x 90,645 ops/sec ±0.38% (189 runs sampled) + +> node benchmark/pathquery.js + + Parsing URL "/foo/bar?user=tj&pet=fluffy" + + 3 tests completed. + + fasturl x 2,077,650 ops/sec ±0.69% (186 runs sampled) + nativeurl x 638,669 ops/sec ±0.67% (189 runs sampled) + parseurl x 2,431,842 ops/sec ±0.71% (189 runs sampled) + +> node benchmark/samerequest.js + + Parsing URL "/foo/bar?user=tj&pet=fluffy" on same request object + + 3 tests completed. + + fasturl x 2,135,391 ops/sec ±0.69% (188 runs sampled) + nativeurl x 672,809 ops/sec ±3.83% (186 runs sampled) + parseurl x 11,604,947 ops/sec ±0.70% (189 runs sampled) + +> node benchmark/simplepath.js + + Parsing URL "/foo/bar" + + 3 tests completed. + + fasturl x 4,961,391 ops/sec ±0.97% (186 runs sampled) + nativeurl x 914,931 ops/sec ±0.83% (186 runs sampled) + parseurl x 7,559,196 ops/sec ±0.66% (188 runs sampled) + +> node benchmark/slash.js + + Parsing URL "/" + + 3 tests completed. + + fasturl x 4,053,379 ops/sec ±0.91% (187 runs sampled) + nativeurl x 963,999 ops/sec ±0.58% (189 runs sampled) + parseurl x 11,516,143 ops/sec ±0.58% (188 runs sampled) +``` + +## License + + [MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/parseurl.svg +[npm-url]: https://npmjs.org/package/parseurl +[node-version-image]: https://img.shields.io/node/v/parseurl.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/pillarjs/parseurl/master.svg +[travis-url]: https://travis-ci.org/pillarjs/parseurl +[coveralls-image]: https://img.shields.io/coveralls/pillarjs/parseurl/master.svg +[coveralls-url]: https://coveralls.io/r/pillarjs/parseurl?branch=master +[downloads-image]: https://img.shields.io/npm/dm/parseurl.svg +[downloads-url]: https://npmjs.org/package/parseurl diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/index.js new file mode 100755 index 0000000..603eabe --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/index.js @@ -0,0 +1,154 @@ +/*! + * parseurl + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var url = require('url') +var parse = url.parse +var Url = url.Url + +/** + * Module exports. + * @public + */ + +module.exports = parseurl +module.exports.original = originalurl + +/** + * Parse the `req` url with memoization. + * + * @param {ServerRequest} req + * @return {Object} + * @public + */ + +function parseurl (req) { + var url = req.url + + if (url === undefined) { + // URL is undefined + return undefined + } + + var parsed = req._parsedUrl + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed + } + + // Parse the URL + parsed = fastparse(url) + parsed._raw = url + + return (req._parsedUrl = parsed) +}; + +/** + * Parse the `req` original url with fallback and memoization. + * + * @param {ServerRequest} req + * @return {Object} + * @public + */ + +function originalurl (req) { + var url = req.originalUrl + + if (typeof url !== 'string') { + // Fallback + return parseurl(req) + } + + var parsed = req._parsedOriginalUrl + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed + } + + // Parse the URL + parsed = fastparse(url) + parsed._raw = url + + return (req._parsedOriginalUrl = parsed) +}; + +/** + * Parse the `str` url with fast-path short-cut. + * + * @param {string} str + * @return {Object} + * @private + */ + +function fastparse (str) { + if (typeof str !== 'string' || str.charCodeAt(0) !== 0x2f /* / */) { + return parse(str) + } + + var pathname = str + var query = null + var search = null + + // This takes the regexp from https://github.com/joyent/node/pull/7878 + // Which is /^(\/[^?#\s]*)(\?[^#\s]*)?$/ + // And unrolls it into a for loop + for (var i = 1; i < str.length; i++) { + switch (str.charCodeAt(i)) { + case 0x3f: /* ? */ + if (search === null) { + pathname = str.substring(0, i) + query = str.substring(i + 1) + search = str.substring(i) + } + break + case 0x09: /* \t */ + case 0x0a: /* \n */ + case 0x0c: /* \f */ + case 0x0d: /* \r */ + case 0x20: /* */ + case 0x23: /* # */ + case 0xa0: + case 0xfeff: + return parse(str) + } + } + + var url = Url !== undefined + ? new Url() + : {} + url.path = str + url.href = str + url.pathname = pathname + url.query = query + url.search = search + + return url +} + +/** + * Determine if parsed is still fresh for url. + * + * @param {string} url + * @param {object} parsedUrl + * @return {boolean} + * @private + */ + +function fresh (url, parsedUrl) { + return typeof parsedUrl === 'object' && + parsedUrl !== null && + (Url === undefined || parsedUrl instanceof Url) && + parsedUrl._raw === url +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/package.json new file mode 100755 index 0000000..a8e5133 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/parseurl/package.json @@ -0,0 +1,117 @@ +{ + "_args": [ + [ + { + "raw": "parseurl@~1.3.2", + "scope": null, + "escapedName": "parseurl", + "name": "parseurl", + "rawSpec": "~1.3.2", + "spec": ">=1.3.2 <1.4.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "parseurl@>=1.3.2 <1.4.0", + "_id": "parseurl@1.3.2", + "_inCache": true, + "_location": "/parseurl", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/parseurl-1.3.2.tgz_1504992079883_0.05658079497516155" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "parseurl@~1.3.2", + "scope": null, + "escapedName": "parseurl", + "name": "parseurl", + "rawSpec": "~1.3.2", + "spec": ">=1.3.2 <1.4.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/finalhandler", + "/serve-static" + ], + "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "_shasum": "fc289d4ed8993119460c156253262cdc8de65bf3", + "_shrinkwrap": null, + "_spec": "parseurl@~1.3.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/pillarjs/parseurl/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": {}, + "description": "parse a url with memoization", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "fast-url-parser": "1.1.3", + "istanbul": "0.4.5", + "mocha": "2.5.3" + }, + "directories": {}, + "dist": { + "shasum": "fc289d4ed8993119460c156253262cdc8de65bf3", + "tarball": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "0022a009d0973a44ae3849e83112ea4d12ad5b49", + "homepage": "https://github.com/pillarjs/parseurl#readme", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "parseurl", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/pillarjs/parseurl.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint .", + "test": "mocha --check-leaks --bail --reporter spec test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/" + }, + "version": "1.3.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/History.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/History.md new file mode 100755 index 0000000..7f65878 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/History.md @@ -0,0 +1,36 @@ +0.1.7 / 2015-07-28 +================== + + * Fixed regression with escaped round brackets and matching groups. + +0.1.6 / 2015-06-19 +================== + + * Replace `index` feature by outputting all parameters, unnamed and named. + +0.1.5 / 2015-05-08 +================== + + * Add an index property for position in match result. + +0.1.4 / 2015-03-05 +================== + + * Add license information + +0.1.3 / 2014-07-06 +================== + + * Better array support + * Improved support for trailing slash in non-ending mode + +0.1.0 / 2014-03-06 +================== + + * add options.end + +0.0.2 / 2013-02-10 +================== + + * Update to match current express + * add .license property to component.json diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/LICENSE new file mode 100755 index 0000000..983fbe8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/Readme.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/Readme.md new file mode 100755 index 0000000..95452a6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/Readme.md @@ -0,0 +1,35 @@ +# Path-to-RegExp + +Turn an Express-style path string such as `/user/:name` into a regular expression. + +**Note:** This is a legacy branch. You should upgrade to `1.x`. + +## Usage + +```javascript +var pathToRegexp = require('path-to-regexp'); +``` + +### pathToRegexp(path, keys, options) + + - **path** A string in the express format, an array of such strings, or a regular expression + - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. + - **options** + - **options.sensitive** Defaults to false, set this to true to make routes case sensitive + - **options.strict** Defaults to false, set this to true to make the trailing slash matter. + - **options.end** Defaults to true, set this to false to only match the prefix of the URL. + +```javascript +var keys = []; +var exp = pathToRegexp('/foo/:bar', keys); +//keys = ['bar'] +//exp = /^\/foo\/(?:([^\/]+?))\/?$/i +``` + +## Live Demo + +You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). + +## License + + MIT diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/index.js new file mode 100755 index 0000000..500d1da --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/index.js @@ -0,0 +1,129 @@ +/** + * Expose `pathtoRegexp`. + */ + +module.exports = pathtoRegexp; + +/** + * Match matching groups in a regular expression. + */ +var MATCHING_GROUP_REGEXP = /\((?!\?)/g; + +/** + * Normalize the given path string, + * returning a regular expression. + * + * An empty array should be passed, + * which will contain the placeholder + * key names. For example "/user/:id" will + * then contain ["id"]. + * + * @param {String|RegExp|Array} path + * @param {Array} keys + * @param {Object} options + * @return {RegExp} + * @api private + */ + +function pathtoRegexp(path, keys, options) { + options = options || {}; + keys = keys || []; + var strict = options.strict; + var end = options.end !== false; + var flags = options.sensitive ? '' : 'i'; + var extraOffset = 0; + var keysOffset = keys.length; + var i = 0; + var name = 0; + var m; + + if (path instanceof RegExp) { + while (m = MATCHING_GROUP_REGEXP.exec(path.source)) { + keys.push({ + name: name++, + optional: false, + offset: m.index + }); + } + + return path; + } + + if (Array.isArray(path)) { + // Map array parts into regexps and return their source. We also pass + // the same keys and options instance into every generation to get + // consistent matching groups before we join the sources together. + path = path.map(function (value) { + return pathtoRegexp(value, keys, options).source; + }); + + return new RegExp('(?:' + path.join('|') + ')', flags); + } + + path = ('^' + path + (strict ? '' : path[path.length - 1] === '/' ? '?' : '/?')) + .replace(/\/\(/g, '/(?:') + .replace(/([\/\.])/g, '\\$1') + .replace(/(\\\/)?(\\\.)?:(\w+)(\(.*?\))?(\*)?(\?)?/g, function (match, slash, format, key, capture, star, optional, offset) { + slash = slash || ''; + format = format || ''; + capture = capture || '([^\\/' + format + ']+?)'; + optional = optional || ''; + + keys.push({ + name: key, + optional: !!optional, + offset: offset + extraOffset + }); + + var result = '' + + (optional ? '' : slash) + + '(?:' + + format + (optional ? slash : '') + capture + + (star ? '((?:[\\/' + format + '].+?)?)' : '') + + ')' + + optional; + + extraOffset += result.length - match.length; + + return result; + }) + .replace(/\*/g, function (star, index) { + var len = keys.length + + while (len-- > keysOffset && keys[len].offset > index) { + keys[len].offset += 3; // Replacement length minus asterisk length. + } + + return '(.*)'; + }); + + // This is a workaround for handling unnamed matching groups. + while (m = MATCHING_GROUP_REGEXP.exec(path)) { + var escapeCount = 0; + var index = m.index; + + while (path.charAt(--index) === '\\') { + escapeCount++; + } + + // It's possible to escape the bracket. + if (escapeCount % 2 === 1) { + continue; + } + + if (keysOffset + i === keys.length || keys[keysOffset + i].offset > m.index) { + keys.splice(keysOffset + i, 0, { + name: name++, // Unnamed matching groups must be consistently linear. + optional: false, + offset: m.index + }); + } + + i++; + } + + // If the path is non-ending, match until the end or a slash. + path += (end ? '$' : (path[path.length - 1] === '/' ? '' : '(?=\\/|$)')); + + return new RegExp(path, flags); +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/package.json new file mode 100755 index 0000000..b1f4ba8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/path-to-regexp/package.json @@ -0,0 +1,219 @@ +{ + "_args": [ + [ + { + "raw": "path-to-regexp@0.1.7", + "scope": null, + "escapedName": "path-to-regexp", + "name": "path-to-regexp", + "rawSpec": "0.1.7", + "spec": "0.1.7", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "path-to-regexp@0.1.7", + "_id": "path-to-regexp@0.1.7", + "_inCache": true, + "_location": "/path-to-regexp", + "_nodeVersion": "2.3.3", + "_npmUser": { + "name": "blakeembrey", + "email": "hello@blakeembrey.com" + }, + "_npmVersion": "2.13.2", + "_phantomChildren": {}, + "_requested": { + "raw": "path-to-regexp@0.1.7", + "scope": null, + "escapedName": "path-to-regexp", + "name": "path-to-regexp", + "rawSpec": "0.1.7", + "spec": "0.1.7", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c", + "_shrinkwrap": null, + "_spec": "path-to-regexp@0.1.7", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/component/path-to-regexp/issues" + }, + "component": { + "scripts": { + "path-to-regexp": "index.js" + } + }, + "dependencies": {}, + "description": "Express style path to RegExp utility", + "devDependencies": { + "istanbul": "^0.2.6", + "mocha": "^1.17.1" + }, + "directories": {}, + "dist": { + "shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c", + "tarball": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + }, + "files": [ + "index.js", + "LICENSE" + ], + "gitHead": "039118d6c3c186d3f176c73935ca887a32a33d93", + "homepage": "https://github.com/component/path-to-regexp#readme", + "keywords": [ + "express", + "regexp" + ], + "license": "MIT", + "maintainers": [ + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + }, + { + "name": "hughsk", + "email": "hughskennedy@gmail.com" + }, + { + "name": "timaschew", + "email": "timaschew@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "dominicbarnes", + "email": "dominic@dbarnes.info" + }, + { + "name": "tootallnate", + "email": "nathan@tootallnate.net" + }, + { + "name": "rauchg", + "email": "rauchg@gmail.com" + }, + { + "name": "retrofox", + "email": "rdsuarez@gmail.com" + }, + { + "name": "coreh", + "email": "thecoreh@gmail.com" + }, + { + "name": "forbeslindesay", + "email": "forbes@lindesay.co.uk" + }, + { + "name": "kelonye", + "email": "kelonyemitchel@gmail.com" + }, + { + "name": "mattmueller", + "email": "mattmuelle@gmail.com" + }, + { + "name": "yields", + "email": "yields@icloud.com" + }, + { + "name": "anthonyshort", + "email": "antshort@gmail.com" + }, + { + "name": "ianstormtaylor", + "email": "ian@ianstormtaylor.com" + }, + { + "name": "cristiandouce", + "email": "cristian@gravityonmars.com" + }, + { + "name": "swatinem", + "email": "arpad.borsos@googlemail.com" + }, + { + "name": "stagas", + "email": "gstagas@gmail.com" + }, + { + "name": "amasad", + "email": "amjad.masad@gmail.com" + }, + { + "name": "juliangruber", + "email": "julian@juliangruber.com" + }, + { + "name": "calvinfo", + "email": "calvin@calv.info" + }, + { + "name": "blakeembrey", + "email": "hello@blakeembrey.com" + }, + { + "name": "timoxley", + "email": "secoif@gmail.com" + }, + { + "name": "jonathanong", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "queckezz", + "email": "fabian.eichenberger@gmail.com" + }, + { + "name": "nami-doc", + "email": "vendethiel@hotmail.fr" + }, + { + "name": "clintwood", + "email": "clint@anotherway.co.za" + }, + { + "name": "thehydroimpulse", + "email": "dnfagnan@gmail.com" + }, + { + "name": "stephenmathieson", + "email": "me@stephenmathieson.com" + }, + { + "name": "trevorgerhardt", + "email": "trevorgerhardt@gmail.com" + }, + { + "name": "dfcreative", + "email": "df.creative@gmail.com" + }, + { + "name": "defunctzombie", + "email": "shtylman@gmail.com" + } + ], + "name": "path-to-regexp", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/component/path-to-regexp.git" + }, + "scripts": { + "test": "istanbul cover _mocha -- -R spec" + }, + "version": "0.1.7" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/HISTORY.md new file mode 100755 index 0000000..c1c8205 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/HISTORY.md @@ -0,0 +1,135 @@ +2.0.2 / 2017-09-24 +================== + + * deps: forwarded@~0.1.2 + - perf: improve header parsing + - perf: reduce overhead when no `X-Forwarded-For` header + +2.0.1 / 2017-09-10 +================== + + * deps: forwarded@~0.1.1 + - Fix trimming leading / trailing OWS + - perf: hoist regular expression + * deps: ipaddr.js@1.5.2 + +2.0.0 / 2017-08-08 +================== + + * Drop support for Node.js below 0.10 + +1.1.5 / 2017-07-25 +================== + + * Fix array argument being altered + * deps: ipaddr.js@1.4.0 + +1.1.4 / 2017-03-24 +================== + + * deps: ipaddr.js@1.3.0 + +1.1.3 / 2017-01-14 +================== + + * deps: ipaddr.js@1.2.0 + +1.1.2 / 2016-05-29 +================== + + * deps: ipaddr.js@1.1.1 + - Fix IPv6-mapped IPv4 validation edge cases + +1.1.1 / 2016-05-03 +================== + + * Fix regression matching mixed versions against multiple subnets + +1.1.0 / 2016-05-01 +================== + + * Fix accepting various invalid netmasks + - IPv4 netmasks must be contingous + - IPv6 addresses cannot be used as a netmask + * deps: ipaddr.js@1.1.0 + +1.0.10 / 2015-12-09 +=================== + + * deps: ipaddr.js@1.0.5 + - Fix regression in `isValid` with non-string arguments + +1.0.9 / 2015-12-01 +================== + + * deps: ipaddr.js@1.0.4 + - Fix accepting some invalid IPv6 addresses + - Reject CIDRs with negative or overlong masks + * perf: enable strict mode + +1.0.8 / 2015-05-10 +================== + + * deps: ipaddr.js@1.0.1 + +1.0.7 / 2015-03-16 +================== + + * deps: ipaddr.js@0.1.9 + - Fix OOM on certain inputs to `isValid` + +1.0.6 / 2015-02-01 +================== + + * deps: ipaddr.js@0.1.8 + +1.0.5 / 2015-01-08 +================== + + * deps: ipaddr.js@0.1.6 + +1.0.4 / 2014-11-23 +================== + + * deps: ipaddr.js@0.1.5 + - Fix edge cases with `isValid` + +1.0.3 / 2014-09-21 +================== + + * Use `forwarded` npm module + +1.0.2 / 2014-09-18 +================== + + * Fix a global leak when multiple subnets are trusted + * Support Node.js 0.6 + * deps: ipaddr.js@0.1.3 + +1.0.1 / 2014-06-03 +================== + + * Fix links in npm package + +1.0.0 / 2014-05-08 +================== + + * Add `trust` argument to determine proxy trust on + * Accepts custom function + * Accepts IPv4/IPv6 address(es) + * Accepts subnets + * Accepts pre-defined names + * Add optional `trust` argument to `proxyaddr.all` to + stop at first untrusted + * Add `proxyaddr.compile` to pre-compile `trust` function + to make subsequent calls faster + +0.0.1 / 2014-05-04 +================== + + * Fix bad npm publish + +0.0.0 / 2014-05-04 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/LICENSE new file mode 100755 index 0000000..cab251c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/README.md new file mode 100755 index 0000000..22d7e14 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/README.md @@ -0,0 +1,156 @@ +# proxy-addr + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Determine address of proxied request + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install proxy-addr +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var proxyaddr = require('proxy-addr') +``` + +### proxyaddr(req, trust) + +Return the address of the request, using the given `trust` parameter. + +The `trust` argument is a function that returns `true` if you trust +the address, `false` if you don't. The closest untrusted address is +returned. + +<!-- eslint-disable no-undef --> + +```js +proxyaddr(req, function (addr) { return addr === '127.0.0.1' }) +proxyaddr(req, function (addr, i) { return i < 1 }) +``` + +The `trust` arugment may also be a single IP address string or an +array of trusted addresses, as plain IP addresses, CIDR-formatted +strings, or IP/netmask strings. + +<!-- eslint-disable no-undef --> + +```js +proxyaddr(req, '127.0.0.1') +proxyaddr(req, ['127.0.0.0/8', '10.0.0.0/8']) +proxyaddr(req, ['127.0.0.0/255.0.0.0', '192.168.0.0/255.255.0.0']) +``` + +This module also supports IPv6. Your IPv6 addresses will be normalized +automatically (i.e. `fe80::00ed:1` equals `fe80:0:0:0:0:0:ed:1`). + +<!-- eslint-disable no-undef --> + +```js +proxyaddr(req, '::1') +proxyaddr(req, ['::1/128', 'fe80::/10']) +``` + +This module will automatically work with IPv4-mapped IPv6 addresses +as well to support node.js in IPv6-only mode. This means that you do +not have to specify both `::ffff:a00:1` and `10.0.0.1`. + +As a convenience, this module also takes certain pre-defined names +in addition to IP addresses, which expand into IP addresses: + +<!-- eslint-disable no-undef --> + +```js +proxyaddr(req, 'loopback') +proxyaddr(req, ['loopback', 'fc00:ac:1ab5:fff::1/64']) +``` + + * `loopback`: IPv4 and IPv6 loopback addresses (like `::1` and + `127.0.0.1`). + * `linklocal`: IPv4 and IPv6 link-local addresses (like + `fe80::1:1:1:1` and `169.254.0.1`). + * `uniquelocal`: IPv4 private addresses and IPv6 unique-local + addresses (like `fc00:ac:1ab5:fff::1` and `192.168.0.1`). + +When `trust` is specified as a function, it will be called for each +address to determine if it is a trusted address. The function is +given two arguments: `addr` and `i`, where `addr` is a string of +the address to check and `i` is a number that represents the distance +from the socket address. + +### proxyaddr.all(req, [trust]) + +Return all the addresses of the request, optionally stopping at the +first untrusted. This array is ordered from closest to furthest +(i.e. `arr[0] === req.connection.remoteAddress`). + +<!-- eslint-disable no-undef --> + +```js +proxyaddr.all(req) +``` + +The optional `trust` argument takes the same arguments as `trust` +does in `proxyaddr(req, trust)`. + +<!-- eslint-disable no-undef --> + +```js +proxyaddr.all(req, 'loopback') +``` + +### proxyaddr.compile(val) + +Compiles argument `val` into a `trust` function. This function takes +the same arguments as `trust` does in `proxyaddr(req, trust)` and +returns a function suitable for `proxyaddr(req, trust)`. + +<!-- eslint-disable no-undef, no-unused-vars --> + +```js +var trust = proxyaddr.compile('localhost') +var addr = proxyaddr(req, trust) +``` + +This function is meant to be optimized for use against every request. +It is recommend to compile a trust function up-front for the trusted +configuration and pass that to `proxyaddr(req, trust)` for each request. + +## Testing + +```sh +$ npm test +``` + +## Benchmarks + +```sh +$ npm run-script bench +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/proxy-addr.svg +[npm-url]: https://npmjs.org/package/proxy-addr +[node-version-image]: https://img.shields.io/node/v/proxy-addr.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/proxy-addr/master.svg +[travis-url]: https://travis-ci.org/jshttp/proxy-addr +[coveralls-image]: https://img.shields.io/coveralls/jshttp/proxy-addr/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/proxy-addr?branch=master +[downloads-image]: https://img.shields.io/npm/dm/proxy-addr.svg +[downloads-url]: https://npmjs.org/package/proxy-addr diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/index.js new file mode 100755 index 0000000..50c561f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/index.js @@ -0,0 +1,327 @@ +/*! + * proxy-addr + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = proxyaddr +module.exports.all = alladdrs +module.exports.compile = compile + +/** + * Module dependencies. + * @private + */ + +var forwarded = require('forwarded') +var ipaddr = require('ipaddr.js') + +/** + * Variables. + * @private + */ + +var DIGIT_REGEXP = /^[0-9]+$/ +var isip = ipaddr.isValid +var parseip = ipaddr.parse + +/** + * Pre-defined IP ranges. + * @private + */ + +var IP_RANGES = { + linklocal: ['169.254.0.0/16', 'fe80::/10'], + loopback: ['127.0.0.1/8', '::1/128'], + uniquelocal: ['10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16', 'fc00::/7'] +} + +/** + * Get all addresses in the request, optionally stopping + * at the first untrusted. + * + * @param {Object} request + * @param {Function|Array|String} [trust] + * @public + */ + +function alladdrs (req, trust) { + // get addresses + var addrs = forwarded(req) + + if (!trust) { + // Return all addresses + return addrs + } + + if (typeof trust !== 'function') { + trust = compile(trust) + } + + for (var i = 0; i < addrs.length - 1; i++) { + if (trust(addrs[i], i)) continue + + addrs.length = i + 1 + } + + return addrs +} + +/** + * Compile argument into trust function. + * + * @param {Array|String} val + * @private + */ + +function compile (val) { + if (!val) { + throw new TypeError('argument is required') + } + + var trust + + if (typeof val === 'string') { + trust = [val] + } else if (Array.isArray(val)) { + trust = val.slice() + } else { + throw new TypeError('unsupported trust argument') + } + + for (var i = 0; i < trust.length; i++) { + val = trust[i] + + if (!IP_RANGES.hasOwnProperty(val)) { + continue + } + + // Splice in pre-defined range + val = IP_RANGES[val] + trust.splice.apply(trust, [i, 1].concat(val)) + i += val.length - 1 + } + + return compileTrust(compileRangeSubnets(trust)) +} + +/** + * Compile `arr` elements into range subnets. + * + * @param {Array} arr + * @private + */ + +function compileRangeSubnets (arr) { + var rangeSubnets = new Array(arr.length) + + for (var i = 0; i < arr.length; i++) { + rangeSubnets[i] = parseipNotation(arr[i]) + } + + return rangeSubnets +} + +/** + * Compile range subnet array into trust function. + * + * @param {Array} rangeSubnets + * @private + */ + +function compileTrust (rangeSubnets) { + // Return optimized function based on length + var len = rangeSubnets.length + return len === 0 + ? trustNone + : len === 1 + ? trustSingle(rangeSubnets[0]) + : trustMulti(rangeSubnets) +} + +/** + * Parse IP notation string into range subnet. + * + * @param {String} note + * @private + */ + +function parseipNotation (note) { + var pos = note.lastIndexOf('/') + var str = pos !== -1 + ? note.substring(0, pos) + : note + + if (!isip(str)) { + throw new TypeError('invalid IP address: ' + str) + } + + var ip = parseip(str) + + if (pos === -1 && ip.kind() === 'ipv6' && ip.isIPv4MappedAddress()) { + // Store as IPv4 + ip = ip.toIPv4Address() + } + + var max = ip.kind() === 'ipv6' + ? 128 + : 32 + + var range = pos !== -1 + ? note.substring(pos + 1, note.length) + : null + + if (range === null) { + range = max + } else if (DIGIT_REGEXP.test(range)) { + range = parseInt(range, 10) + } else if (ip.kind() === 'ipv4' && isip(range)) { + range = parseNetmask(range) + } else { + range = null + } + + if (range <= 0 || range > max) { + throw new TypeError('invalid range on address: ' + note) + } + + return [ip, range] +} + +/** + * Parse netmask string into CIDR range. + * + * @param {String} netmask + * @private + */ + +function parseNetmask (netmask) { + var ip = parseip(netmask) + var kind = ip.kind() + + return kind === 'ipv4' + ? ip.prefixLengthFromSubnetMask() + : null +} + +/** + * Determine address of proxied request. + * + * @param {Object} request + * @param {Function|Array|String} trust + * @public + */ + +function proxyaddr (req, trust) { + if (!req) { + throw new TypeError('req argument is required') + } + + if (!trust) { + throw new TypeError('trust argument is required') + } + + var addrs = alladdrs(req, trust) + var addr = addrs[addrs.length - 1] + + return addr +} + +/** + * Static trust function to trust nothing. + * + * @private + */ + +function trustNone () { + return false +} + +/** + * Compile trust function for multiple subnets. + * + * @param {Array} subnets + * @private + */ + +function trustMulti (subnets) { + return function trust (addr) { + if (!isip(addr)) return false + + var ip = parseip(addr) + var ipconv + var kind = ip.kind() + + for (var i = 0; i < subnets.length; i++) { + var subnet = subnets[i] + var subnetip = subnet[0] + var subnetkind = subnetip.kind() + var subnetrange = subnet[1] + var trusted = ip + + if (kind !== subnetkind) { + if (subnetkind === 'ipv4' && !ip.isIPv4MappedAddress()) { + // Incompatible IP addresses + continue + } + + if (!ipconv) { + // Convert IP to match subnet IP kind + ipconv = subnetkind === 'ipv4' + ? ip.toIPv4Address() + : ip.toIPv4MappedAddress() + } + + trusted = ipconv + } + + if (trusted.match(subnetip, subnetrange)) { + return true + } + } + + return false + } +} + +/** + * Compile trust function for single subnet. + * + * @param {Object} subnet + * @private + */ + +function trustSingle (subnet) { + var subnetip = subnet[0] + var subnetkind = subnetip.kind() + var subnetisipv4 = subnetkind === 'ipv4' + var subnetrange = subnet[1] + + return function trust (addr) { + if (!isip(addr)) return false + + var ip = parseip(addr) + var kind = ip.kind() + + if (kind !== subnetkind) { + if (subnetisipv4 && !ip.isIPv4MappedAddress()) { + // Incompatible IP addresses + return false + } + + // Convert IP to match subnet IP kind + ip = subnetisipv4 + ? ip.toIPv4Address() + : ip.toIPv4MappedAddress() + } + + return ip.match(subnetip, subnetrange) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/package.json new file mode 100755 index 0000000..73b510d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/proxy-addr/package.json @@ -0,0 +1,116 @@ +{ + "_args": [ + [ + { + "raw": "proxy-addr@~2.0.2", + "scope": null, + "escapedName": "proxy-addr", + "name": "proxy-addr", + "rawSpec": "~2.0.2", + "spec": ">=2.0.2 <2.1.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "proxy-addr@>=2.0.2 <2.1.0", + "_id": "proxy-addr@2.0.2", + "_inCache": true, + "_location": "/proxy-addr", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/proxy-addr-2.0.2.tgz_1506303664796_0.10817809496074915" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "proxy-addr@~2.0.2", + "scope": null, + "escapedName": "proxy-addr", + "name": "proxy-addr", + "rawSpec": "~2.0.2", + "spec": ">=2.0.2 <2.1.0", + "type": "range" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", + "_shasum": "6571504f47bb988ec8180253f85dd7e14952bdec", + "_shrinkwrap": null, + "_spec": "proxy-addr@~2.0.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/jshttp/proxy-addr/issues" + }, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.5.2" + }, + "description": "Determine address of proxied request", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "mocha": "3.5.3", + "nyc": "10.3.2" + }, + "directories": {}, + "dist": { + "shasum": "6571504f47bb988ec8180253f85dd7e14952bdec", + "tarball": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz" + }, + "engines": { + "node": ">= 0.10" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "gitHead": "7c1bc4c5c05bd5285af710baabf87421d950f689", + "homepage": "https://github.com/jshttp/proxy-addr#readme", + "keywords": [ + "ip", + "proxy", + "x-forwarded-for" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "proxy-addr", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/proxy-addr.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "nyc --reporter=text npm test", + "test-travis": "nyc --reporter=html --reporter=text npm test" + }, + "version": "2.0.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.editorconfig b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.editorconfig new file mode 100755 index 0000000..b2654e7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.editorconfig @@ -0,0 +1,30 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 140 + +[test/*] +max_line_length = off + +[*.md] +max_line_length = off + +[*.json] +max_line_length = off + +[Makefile] +max_line_length = off + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[LICENSE] +indent_size = 2 +max_line_length = off diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintignore new file mode 100755 index 0000000..1521c8b --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintignore @@ -0,0 +1 @@ +dist diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintrc b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintrc new file mode 100755 index 0000000..a33d179 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/.eslintrc @@ -0,0 +1,19 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "complexity": [2, 28], + "consistent-return": 1, + "func-name-matching": 0, + "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], + "indent": [2, 4], + "max-params": [2, 12], + "max-statements": [2, 45], + "no-continue": 1, + "no-magic-numbers": 0, + "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], + "operator-linebreak": [2, "before"], + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/CHANGELOG.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/CHANGELOG.md new file mode 100755 index 0000000..71d5a3e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/CHANGELOG.md @@ -0,0 +1,221 @@ +## **6.5.1** +- [Fix] Fix parsing & compacting very deep objects (#224) +- [Refactor] name utils functions +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` +- [Tests] up to `node` `v8.4`; use `nvm install-latest-npm` so newer npm doesn’t break older node +- [Tests] Use precise dist for Node.js 0.6 runtime (#225) +- [Tests] make 0.6 required, now that it’s passing +- [Tests] on `node` `v8.2`; fix npm on node 0.6 + +## **6.5.0** +- [New] add `utils.assign` +- [New] pass default encoder/decoder to custom encoder/decoder functions (#206) +- [New] `parse`/`stringify`: add `ignoreQueryPrefix`/`addQueryPrefix` options, respectively (#213) +- [Fix] Handle stringifying empty objects with addQueryPrefix (#217) +- [Fix] do not mutate `options` argument (#207) +- [Refactor] `parse`: cache index to reuse in else statement (#182) +- [Docs] add various badges to readme (#208) +- [Dev Deps] update `eslint`, `browserify`, `iconv-lite`, `tape` +- [Tests] up to `node` `v8.1`, `v7.10`, `v6.11`; npm v4.6 breaks on node < v1; npm v5+ breaks on node < v4 +- [Tests] add `editorconfig-tools` + +## **6.4.0** +- [New] `qs.stringify`: add `encodeValuesOnly` option +- [Fix] follow `allowPrototypes` option during merge (#201, #201) +- [Fix] support keys starting with brackets (#202, #200) +- [Fix] chmod a-x +- [Dev Deps] update `eslint` +- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds +- [eslint] reduce warnings + +## **6.3.2** +- [Fix] follow `allowPrototypes` option during merge (#201, #200) +- [Dev Deps] update `eslint` +- [Fix] chmod a-x +- [Fix] support keys starting with brackets (#202, #200) +- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds + +## **6.3.1** +- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties (thanks, @snyk!) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `browserify`, `iconv-lite`, `qs-iconv`, `tape` +- [Tests] on all node minors; improve test matrix +- [Docs] document stringify option `allowDots` (#195) +- [Docs] add empty object and array values example (#195) +- [Docs] Fix minor inconsistency/typo (#192) +- [Docs] document stringify option `sort` (#191) +- [Refactor] `stringify`: throw faster with an invalid encoder +- [Refactor] remove unnecessary escapes (#184) +- Remove contributing.md, since `qs` is no longer part of `hapi` (#183) + +## **6.3.0** +- [New] Add support for RFC 1738 (#174, #173) +- [New] `stringify`: Add `serializeDate` option to customize Date serialization (#159) +- [Fix] ensure `utils.merge` handles merging two arrays +- [Refactor] only constructors should be capitalized +- [Refactor] capitalized var names are for constructors only +- [Refactor] avoid using a sparse array +- [Robustness] `formats`: cache `String#replace` +- [Dev Deps] update `browserify`, `eslint`, `@ljharb/eslint-config`; add `safe-publish-latest` +- [Tests] up to `node` `v6.8`, `v4.6`; improve test matrix +- [Tests] flesh out arrayLimit/arrayFormat tests (#107) +- [Tests] skip Object.create tests when null objects are not available +- [Tests] Turn on eslint for test files (#175) + +## **6.2.3** +- [Fix] follow `allowPrototypes` option during merge (#201, #200) +- [Fix] chmod a-x +- [Fix] support keys starting with brackets (#202, #200) +- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds + +## **6.2.2** +- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties + +## **6.2.1** +- [Fix] ensure `key[]=x&key[]&key[]=y` results in 3, not 2, values +- [Refactor] Be explicit and use `Object.prototype.hasOwnProperty.call` +- [Tests] remove `parallelshell` since it does not reliably report failures +- [Tests] up to `node` `v6.3`, `v5.12` +- [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config`, `qs-iconv` + +## [**6.2.0**](https://github.com/ljharb/qs/issues?milestone=36&state=closed) +- [New] pass Buffers to the encoder/decoder directly (#161) +- [New] add "encoder" and "decoder" options, for custom param encoding/decoding (#160) +- [Fix] fix compacting of nested sparse arrays (#150) + +## **6.1.2 +- [Fix] follow `allowPrototypes` option during merge (#201, #200) +- [Fix] chmod a-x +- [Fix] support keys starting with brackets (#202, #200) +- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds + +## **6.1.1** +- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties + +## [**6.1.0**](https://github.com/ljharb/qs/issues?milestone=35&state=closed) +- [New] allowDots option for `stringify` (#151) +- [Fix] "sort" option should work at a depth of 3 or more (#151) +- [Fix] Restore `dist` directory; will be removed in v7 (#148) + +## **6.0.4** +- [Fix] follow `allowPrototypes` option during merge (#201, #200) +- [Fix] chmod a-x +- [Fix] support keys starting with brackets (#202, #200) +- [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds + +## **6.0.3** +- [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties +- [Fix] Restore `dist` directory; will be removed in v7 (#148) + +## [**6.0.2**](https://github.com/ljharb/qs/issues?milestone=33&state=closed) +- Revert ES6 requirement and restore support for node down to v0.8. + +## [**6.0.1**](https://github.com/ljharb/qs/issues?milestone=32&state=closed) +- [**#127**](https://github.com/ljharb/qs/pull/127) Fix engines definition in package.json + +## [**6.0.0**](https://github.com/ljharb/qs/issues?milestone=31&state=closed) +- [**#124**](https://github.com/ljharb/qs/issues/124) Use ES6 and drop support for node < v4 + +## **5.2.1** +- [Fix] ensure `key[]=x&key[]&key[]=y` results in 3, not 2, values + +## [**5.2.0**](https://github.com/ljharb/qs/issues?milestone=30&state=closed) +- [**#64**](https://github.com/ljharb/qs/issues/64) Add option to sort object keys in the query string + +## [**5.1.0**](https://github.com/ljharb/qs/issues?milestone=29&state=closed) +- [**#117**](https://github.com/ljharb/qs/issues/117) make URI encoding stringified results optional +- [**#106**](https://github.com/ljharb/qs/issues/106) Add flag `skipNulls` to optionally skip null values in stringify + +## [**5.0.0**](https://github.com/ljharb/qs/issues?milestone=28&state=closed) +- [**#114**](https://github.com/ljharb/qs/issues/114) default allowDots to false +- [**#100**](https://github.com/ljharb/qs/issues/100) include dist to npm + +## [**4.0.0**](https://github.com/ljharb/qs/issues?milestone=26&state=closed) +- [**#98**](https://github.com/ljharb/qs/issues/98) make returning plain objects and allowing prototype overwriting properties optional + +## [**3.1.0**](https://github.com/ljharb/qs/issues?milestone=24&state=closed) +- [**#89**](https://github.com/ljharb/qs/issues/89) Add option to disable "Transform dot notation to bracket notation" + +## [**3.0.0**](https://github.com/ljharb/qs/issues?milestone=23&state=closed) +- [**#80**](https://github.com/ljharb/qs/issues/80) qs.parse silently drops properties +- [**#77**](https://github.com/ljharb/qs/issues/77) Perf boost +- [**#60**](https://github.com/ljharb/qs/issues/60) Add explicit option to disable array parsing +- [**#74**](https://github.com/ljharb/qs/issues/74) Bad parse when turning array into object +- [**#81**](https://github.com/ljharb/qs/issues/81) Add a `filter` option +- [**#68**](https://github.com/ljharb/qs/issues/68) Fixed issue with recursion and passing strings into objects. +- [**#66**](https://github.com/ljharb/qs/issues/66) Add mixed array and object dot notation support Closes: #47 +- [**#76**](https://github.com/ljharb/qs/issues/76) RFC 3986 +- [**#85**](https://github.com/ljharb/qs/issues/85) No equal sign +- [**#84**](https://github.com/ljharb/qs/issues/84) update license attribute + +## [**2.4.1**](https://github.com/ljharb/qs/issues?milestone=20&state=closed) +- [**#73**](https://github.com/ljharb/qs/issues/73) Property 'hasOwnProperty' of object #<Object> is not a function + +## [**2.4.0**](https://github.com/ljharb/qs/issues?milestone=19&state=closed) +- [**#70**](https://github.com/ljharb/qs/issues/70) Add arrayFormat option + +## [**2.3.3**](https://github.com/ljharb/qs/issues?milestone=18&state=closed) +- [**#59**](https://github.com/ljharb/qs/issues/59) make sure array indexes are >= 0, closes #57 +- [**#58**](https://github.com/ljharb/qs/issues/58) make qs usable for browser loader + +## [**2.3.2**](https://github.com/ljharb/qs/issues?milestone=17&state=closed) +- [**#55**](https://github.com/ljharb/qs/issues/55) allow merging a string into an object + +## [**2.3.1**](https://github.com/ljharb/qs/issues?milestone=16&state=closed) +- [**#52**](https://github.com/ljharb/qs/issues/52) Return "undefined" and "false" instead of throwing "TypeError". + +## [**2.3.0**](https://github.com/ljharb/qs/issues?milestone=15&state=closed) +- [**#50**](https://github.com/ljharb/qs/issues/50) add option to omit array indices, closes #46 + +## [**2.2.5**](https://github.com/ljharb/qs/issues?milestone=14&state=closed) +- [**#39**](https://github.com/ljharb/qs/issues/39) Is there an alternative to Buffer.isBuffer? +- [**#49**](https://github.com/ljharb/qs/issues/49) refactor utils.merge, fixes #45 +- [**#41**](https://github.com/ljharb/qs/issues/41) avoid browserifying Buffer, for #39 + +## [**2.2.4**](https://github.com/ljharb/qs/issues?milestone=13&state=closed) +- [**#38**](https://github.com/ljharb/qs/issues/38) how to handle object keys beginning with a number + +## [**2.2.3**](https://github.com/ljharb/qs/issues?milestone=12&state=closed) +- [**#37**](https://github.com/ljharb/qs/issues/37) parser discards first empty value in array +- [**#36**](https://github.com/ljharb/qs/issues/36) Update to lab 4.x + +## [**2.2.2**](https://github.com/ljharb/qs/issues?milestone=11&state=closed) +- [**#33**](https://github.com/ljharb/qs/issues/33) Error when plain object in a value +- [**#34**](https://github.com/ljharb/qs/issues/34) use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty +- [**#24**](https://github.com/ljharb/qs/issues/24) Changelog? Semver? + +## [**2.2.1**](https://github.com/ljharb/qs/issues?milestone=10&state=closed) +- [**#32**](https://github.com/ljharb/qs/issues/32) account for circular references properly, closes #31 +- [**#31**](https://github.com/ljharb/qs/issues/31) qs.parse stackoverflow on circular objects + +## [**2.2.0**](https://github.com/ljharb/qs/issues?milestone=9&state=closed) +- [**#26**](https://github.com/ljharb/qs/issues/26) Don't use Buffer global if it's not present +- [**#30**](https://github.com/ljharb/qs/issues/30) Bug when merging non-object values into arrays +- [**#29**](https://github.com/ljharb/qs/issues/29) Don't call Utils.clone at the top of Utils.merge +- [**#23**](https://github.com/ljharb/qs/issues/23) Ability to not limit parameters? + +## [**2.1.0**](https://github.com/ljharb/qs/issues?milestone=8&state=closed) +- [**#22**](https://github.com/ljharb/qs/issues/22) Enable using a RegExp as delimiter + +## [**2.0.0**](https://github.com/ljharb/qs/issues?milestone=7&state=closed) +- [**#18**](https://github.com/ljharb/qs/issues/18) Why is there arrayLimit? +- [**#20**](https://github.com/ljharb/qs/issues/20) Configurable parametersLimit +- [**#21**](https://github.com/ljharb/qs/issues/21) make all limits optional, for #18, for #20 + +## [**1.2.2**](https://github.com/ljharb/qs/issues?milestone=6&state=closed) +- [**#19**](https://github.com/ljharb/qs/issues/19) Don't overwrite null values + +## [**1.2.1**](https://github.com/ljharb/qs/issues?milestone=5&state=closed) +- [**#16**](https://github.com/ljharb/qs/issues/16) ignore non-string delimiters +- [**#15**](https://github.com/ljharb/qs/issues/15) Close code block + +## [**1.2.0**](https://github.com/ljharb/qs/issues?milestone=4&state=closed) +- [**#12**](https://github.com/ljharb/qs/issues/12) Add optional delim argument +- [**#13**](https://github.com/ljharb/qs/issues/13) fix #11: flattened keys in array are now correctly parsed + +## [**1.1.0**](https://github.com/ljharb/qs/issues?milestone=3&state=closed) +- [**#7**](https://github.com/ljharb/qs/issues/7) Empty values of a POST array disappear after being submitted +- [**#9**](https://github.com/ljharb/qs/issues/9) Should not omit equals signs (=) when value is null +- [**#6**](https://github.com/ljharb/qs/issues/6) Minor grammar fix in README + +## [**1.0.2**](https://github.com/ljharb/qs/issues?milestone=2&state=closed) +- [**#5**](https://github.com/ljharb/qs/issues/5) array holes incorrectly copied into object on large index diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/LICENSE new file mode 100755 index 0000000..d456948 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2014 Nathan LaFreniere and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/README.md new file mode 100755 index 0000000..d811966 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/README.md @@ -0,0 +1,475 @@ +# qs <sup>[![Version Badge][2]][1]</sup> + +[![Build Status][3]][4] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +A querystring parsing and stringifying library with some added security. + +Lead Maintainer: [Jordan Harband](https://github.com/ljharb) + +The **qs** module was originally created and maintained by [TJ Holowaychuk](https://github.com/visionmedia/node-querystring). + +## Usage + +```javascript +var qs = require('qs'); +var assert = require('assert'); + +var obj = qs.parse('a=c'); +assert.deepEqual(obj, { a: 'c' }); + +var str = qs.stringify(obj); +assert.equal(str, 'a=c'); +``` + +### Parsing Objects + +[](#preventEval) +```javascript +qs.parse(string, [options]); +``` + +**qs** allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets `[]`. +For example, the string `'foo[bar]=baz'` converts to: + +```javascript +assert.deepEqual(qs.parse('foo[bar]=baz'), { + foo: { + bar: 'baz' + } +}); +``` + +When using the `plainObjects` option the parsed value is returned as a null object, created via `Object.create(null)` and as such you should be aware that prototype methods will not exist on it and a user may set those names to whatever value they like: + +```javascript +var nullObject = qs.parse('a[hasOwnProperty]=b', { plainObjects: true }); +assert.deepEqual(nullObject, { a: { hasOwnProperty: 'b' } }); +``` + +By default parameters that would overwrite properties on the object prototype are ignored, if you wish to keep the data from those fields either use `plainObjects` as mentioned above, or set `allowPrototypes` to `true` which will allow user input to overwrite those properties. *WARNING* It is generally a bad idea to enable this option as it can cause problems when attempting to use the properties that have been overwritten. Always be careful with this option. + +```javascript +var protoObject = qs.parse('a[hasOwnProperty]=b', { allowPrototypes: true }); +assert.deepEqual(protoObject, { a: { hasOwnProperty: 'b' } }); +``` + +URI encoded strings work too: + +```javascript +assert.deepEqual(qs.parse('a%5Bb%5D=c'), { + a: { b: 'c' } +}); +``` + +You can also nest your objects, like `'foo[bar][baz]=foobarbaz'`: + +```javascript +assert.deepEqual(qs.parse('foo[bar][baz]=foobarbaz'), { + foo: { + bar: { + baz: 'foobarbaz' + } + } +}); +``` + +By default, when nesting objects **qs** will only parse up to 5 children deep. This means if you attempt to parse a string like +`'a[b][c][d][e][f][g][h][i]=j'` your resulting object will be: + +```javascript +var expected = { + a: { + b: { + c: { + d: { + e: { + f: { + '[g][h][i]': 'j' + } + } + } + } + } + } +}; +var string = 'a[b][c][d][e][f][g][h][i]=j'; +assert.deepEqual(qs.parse(string), expected); +``` + +This depth can be overridden by passing a `depth` option to `qs.parse(string, [options])`: + +```javascript +var deep = qs.parse('a[b][c][d][e][f][g][h][i]=j', { depth: 1 }); +assert.deepEqual(deep, { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } }); +``` + +The depth limit helps mitigate abuse when **qs** is used to parse user input, and it is recommended to keep it a reasonably small number. + +For similar reasons, by default **qs** will only parse up to 1000 parameters. This can be overridden by passing a `parameterLimit` option: + +```javascript +var limited = qs.parse('a=b&c=d', { parameterLimit: 1 }); +assert.deepEqual(limited, { a: 'b' }); +``` + +To bypass the leading question mark, use `ignoreQueryPrefix`: + +```javascript +var prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true }); +assert.deepEqual(prefixed, { a: 'b', c: 'd' }); +``` + +An optional delimiter can also be passed: + +```javascript +var delimited = qs.parse('a=b;c=d', { delimiter: ';' }); +assert.deepEqual(delimited, { a: 'b', c: 'd' }); +``` + +Delimiters can be a regular expression too: + +```javascript +var regexed = qs.parse('a=b;c=d,e=f', { delimiter: /[;,]/ }); +assert.deepEqual(regexed, { a: 'b', c: 'd', e: 'f' }); +``` + +Option `allowDots` can be used to enable dot notation: + +```javascript +var withDots = qs.parse('a.b=c', { allowDots: true }); +assert.deepEqual(withDots, { a: { b: 'c' } }); +``` + +### Parsing Arrays + +**qs** can also parse arrays using a similar `[]` notation: + +```javascript +var withArray = qs.parse('a[]=b&a[]=c'); +assert.deepEqual(withArray, { a: ['b', 'c'] }); +``` + +You may specify an index as well: + +```javascript +var withIndexes = qs.parse('a[1]=c&a[0]=b'); +assert.deepEqual(withIndexes, { a: ['b', 'c'] }); +``` + +Note that the only difference between an index in an array and a key in an object is that the value between the brackets must be a number +to create an array. When creating arrays with specific indices, **qs** will compact a sparse array to only the existing values preserving +their order: + +```javascript +var noSparse = qs.parse('a[1]=b&a[15]=c'); +assert.deepEqual(noSparse, { a: ['b', 'c'] }); +``` + +Note that an empty string is also a value, and will be preserved: + +```javascript +var withEmptyString = qs.parse('a[]=&a[]=b'); +assert.deepEqual(withEmptyString, { a: ['', 'b'] }); + +var withIndexedEmptyString = qs.parse('a[0]=b&a[1]=&a[2]=c'); +assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] }); +``` + +**qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will +instead be converted to an object with the index as the key: + +```javascript +var withMaxIndex = qs.parse('a[100]=b'); +assert.deepEqual(withMaxIndex, { a: { '100': 'b' } }); +``` + +This limit can be overridden by passing an `arrayLimit` option: + +```javascript +var withArrayLimit = qs.parse('a[1]=b', { arrayLimit: 0 }); +assert.deepEqual(withArrayLimit, { a: { '1': 'b' } }); +``` + +To disable array parsing entirely, set `parseArrays` to `false`. + +```javascript +var noParsingArrays = qs.parse('a[]=b', { parseArrays: false }); +assert.deepEqual(noParsingArrays, { a: { '0': 'b' } }); +``` + +If you mix notations, **qs** will merge the two items into an object: + +```javascript +var mixedNotation = qs.parse('a[0]=b&a[b]=c'); +assert.deepEqual(mixedNotation, { a: { '0': 'b', b: 'c' } }); +``` + +You can also create arrays of objects: + +```javascript +var arraysOfObjects = qs.parse('a[][b]=c'); +assert.deepEqual(arraysOfObjects, { a: [{ b: 'c' }] }); +``` + +### Stringifying + +[](#preventEval) +```javascript +qs.stringify(object, [options]); +``` + +When stringifying, **qs** by default URI encodes output. Objects are stringified as you would expect: + +```javascript +assert.equal(qs.stringify({ a: 'b' }), 'a=b'); +assert.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c'); +``` + +This encoding can be disabled by setting the `encode` option to `false`: + +```javascript +var unencoded = qs.stringify({ a: { b: 'c' } }, { encode: false }); +assert.equal(unencoded, 'a[b]=c'); +``` + +Encoding can be disabled for keys by setting the `encodeValuesOnly` option to `true`: +```javascript +var encodedValues = qs.stringify( + { a: 'b', c: ['d', 'e=f'], f: [['g'], ['h']] }, + { encodeValuesOnly: true } +); +assert.equal(encodedValues,'a=b&c[0]=d&c[1]=e%3Df&f[0][0]=g&f[1][0]=h'); +``` + +This encoding can also be replaced by a custom encoding method set as `encoder` option: + +```javascript +var encoded = qs.stringify({ a: { b: 'c' } }, { encoder: function (str) { + // Passed in values `a`, `b`, `c` + return // Return encoded string +}}) +``` + +_(Note: the `encoder` option does not apply if `encode` is `false`)_ + +Analogue to the `encoder` there is a `decoder` option for `parse` to override decoding of properties and values: + +```javascript +var decoded = qs.parse('x=z', { decoder: function (str) { + // Passed in values `x`, `z` + return // Return decoded string +}}) +``` + +Examples beyond this point will be shown as though the output is not URI encoded for clarity. Please note that the return values in these cases *will* be URI encoded during real usage. + +When arrays are stringified, by default they are given explicit indices: + +```javascript +qs.stringify({ a: ['b', 'c', 'd'] }); +// 'a[0]=b&a[1]=c&a[2]=d' +``` + +You may override this by setting the `indices` option to `false`: + +```javascript +qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }); +// 'a=b&a=c&a=d' +``` + +You may use the `arrayFormat` option to specify the format of the output array: + +```javascript +qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' }) +// 'a[0]=b&a[1]=c' +qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' }) +// 'a[]=b&a[]=c' +qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' }) +// 'a=b&a=c' +``` + +When objects are stringified, by default they use bracket notation: + +```javascript +qs.stringify({ a: { b: { c: 'd', e: 'f' } } }); +// 'a[b][c]=d&a[b][e]=f' +``` + +You may override this to use dot notation by setting the `allowDots` option to `true`: + +```javascript +qs.stringify({ a: { b: { c: 'd', e: 'f' } } }, { allowDots: true }); +// 'a.b.c=d&a.b.e=f' +``` + +Empty strings and null values will omit the value, but the equals sign (=) remains in place: + +```javascript +assert.equal(qs.stringify({ a: '' }), 'a='); +``` + +Key with no values (such as an empty object or array) will return nothing: + +```javascript +assert.equal(qs.stringify({ a: [] }), ''); +assert.equal(qs.stringify({ a: {} }), ''); +assert.equal(qs.stringify({ a: [{}] }), ''); +assert.equal(qs.stringify({ a: { b: []} }), ''); +assert.equal(qs.stringify({ a: { b: {}} }), ''); +``` + +Properties that are set to `undefined` will be omitted entirely: + +```javascript +assert.equal(qs.stringify({ a: null, b: undefined }), 'a='); +``` + +The query string may optionally be prepended with a question mark: + +```javascript +assert.equal(qs.stringify({ a: 'b', c: 'd' }, { addQueryPrefix: true }), '?a=b&c=d'); +``` + +The delimiter may be overridden with stringify as well: + +```javascript +assert.equal(qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }), 'a=b;c=d'); +``` + +If you only want to override the serialization of `Date` objects, you can provide a `serializeDate` option: + +```javascript +var date = new Date(7); +assert.equal(qs.stringify({ a: date }), 'a=1970-01-01T00:00:00.007Z'.replace(/:/g, '%3A')); +assert.equal( + qs.stringify({ a: date }, { serializeDate: function (d) { return d.getTime(); } }), + 'a=7' +); +``` + +You may use the `sort` option to affect the order of parameter keys: + +```javascript +function alphabeticalSort(a, b) { + return a.localeCompare(b); +} +assert.equal(qs.stringify({ a: 'c', z: 'y', b : 'f' }, { sort: alphabeticalSort }), 'a=c&b=f&z=y'); +``` + +Finally, you can use the `filter` option to restrict which keys will be included in the stringified output. +If you pass a function, it will be called for each key to obtain the replacement value. Otherwise, if you +pass an array, it will be used to select properties and array indices for stringification: + +```javascript +function filterFunc(prefix, value) { + if (prefix == 'b') { + // Return an `undefined` value to omit a property. + return; + } + if (prefix == 'e[f]') { + return value.getTime(); + } + if (prefix == 'e[g][0]') { + return value * 2; + } + return value; +} +qs.stringify({ a: 'b', c: 'd', e: { f: new Date(123), g: [2] } }, { filter: filterFunc }); +// 'a=b&c=d&e[f]=123&e[g][0]=4' +qs.stringify({ a: 'b', c: 'd', e: 'f' }, { filter: ['a', 'e'] }); +// 'a=b&e=f' +qs.stringify({ a: ['b', 'c', 'd'], e: 'f' }, { filter: ['a', 0, 2] }); +// 'a[0]=b&a[2]=d' +``` + +### Handling of `null` values + +By default, `null` values are treated like empty strings: + +```javascript +var withNull = qs.stringify({ a: null, b: '' }); +assert.equal(withNull, 'a=&b='); +``` + +Parsing does not distinguish between parameters with and without equal signs. Both are converted to empty strings. + +```javascript +var equalsInsensitive = qs.parse('a&b='); +assert.deepEqual(equalsInsensitive, { a: '', b: '' }); +``` + +To distinguish between `null` values and empty strings use the `strictNullHandling` flag. In the result string the `null` +values have no `=` sign: + +```javascript +var strictNull = qs.stringify({ a: null, b: '' }, { strictNullHandling: true }); +assert.equal(strictNull, 'a&b='); +``` + +To parse values without `=` back to `null` use the `strictNullHandling` flag: + +```javascript +var parsedStrictNull = qs.parse('a&b=', { strictNullHandling: true }); +assert.deepEqual(parsedStrictNull, { a: null, b: '' }); +``` + +To completely skip rendering keys with `null` values, use the `skipNulls` flag: + +```javascript +var nullsSkipped = qs.stringify({ a: 'b', c: null}, { skipNulls: true }); +assert.equal(nullsSkipped, 'a=b'); +``` + +### Dealing with special character sets + +By default the encoding and decoding of characters is done in `utf-8`. If you +wish to encode querystrings to a different character set (i.e. +[Shift JIS](https://en.wikipedia.org/wiki/Shift_JIS)) you can use the +[`qs-iconv`](https://github.com/martinheidegger/qs-iconv) library: + +```javascript +var encoder = require('qs-iconv/encoder')('shift_jis'); +var shiftJISEncoded = qs.stringify({ a: 'ã“ã‚“ã«ã¡ã¯ï¼' }, { encoder: encoder }); +assert.equal(shiftJISEncoded, 'a=%82%B1%82%F1%82%C9%82%BF%82%CD%81I'); +``` + +This also works for decoding of query strings: + +```javascript +var decoder = require('qs-iconv/decoder')('shift_jis'); +var obj = qs.parse('a=%82%B1%82%F1%82%C9%82%BF%82%CD%81I', { decoder: decoder }); +assert.deepEqual(obj, { a: 'ã“ã‚“ã«ã¡ã¯ï¼' }); +``` + +### RFC 3986 and RFC 1738 space encoding + +RFC3986 used as default option and encodes ' ' to *%20* which is backward compatible. +In the same time, output can be stringified as per RFC1738 with ' ' equal to '+'. + +``` +assert.equal(qs.stringify({ a: 'b c' }), 'a=b%20c'); +assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC3986' }), 'a=b%20c'); +assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC1738' }), 'a=b+c'); +``` + +[1]: https://npmjs.org/package/qs +[2]: http://versionbadg.es/ljharb/qs.svg +[3]: https://api.travis-ci.org/ljharb/qs.svg +[4]: https://travis-ci.org/ljharb/qs +[5]: https://david-dm.org/ljharb/qs.svg +[6]: https://david-dm.org/ljharb/qs +[7]: https://david-dm.org/ljharb/qs/dev-status.svg +[8]: https://david-dm.org/ljharb/qs?type=dev +[9]: https://ci.testling.com/ljharb/qs.png +[10]: https://ci.testling.com/ljharb/qs +[11]: https://nodei.co/npm/qs.png?downloads=true&stars=true +[license-image]: http://img.shields.io/npm/l/qs.svg +[license-url]: LICENSE +[downloads-image]: http://img.shields.io/npm/dm/qs.svg +[downloads-url]: http://npm-stat.com/charts.html?package=qs diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/dist/qs.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/dist/qs.js new file mode 100755 index 0000000..713c6d1 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/dist/qs.js @@ -0,0 +1,627 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ +'use strict'; + +var replace = String.prototype.replace; +var percentTwenties = /%20/g; + +module.exports = { + 'default': 'RFC3986', + formatters: { + RFC1738: function (value) { + return replace.call(value, percentTwenties, '+'); + }, + RFC3986: function (value) { + return value; + } + }, + RFC1738: 'RFC1738', + RFC3986: 'RFC3986' +}; + +},{}],2:[function(require,module,exports){ +'use strict'; + +var stringify = require('./stringify'); +var parse = require('./parse'); +var formats = require('./formats'); + +module.exports = { + formats: formats, + parse: parse, + stringify: stringify +}; + +},{"./formats":1,"./parse":3,"./stringify":4}],3:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); + +var has = Object.prototype.hasOwnProperty; + +var defaults = { + allowDots: false, + allowPrototypes: false, + arrayLimit: 20, + decoder: utils.decode, + delimiter: '&', + depth: 5, + parameterLimit: 1000, + plainObjects: false, + strictNullHandling: false +}; + +var parseValues = function parseQueryStringValues(str, options) { + var obj = {}; + var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str; + var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; + var parts = cleanStr.split(options.delimiter, limit); + + for (var i = 0; i < parts.length; ++i) { + var part = parts[i]; + + var bracketEqualsPos = part.indexOf(']='); + var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1; + + var key, val; + if (pos === -1) { + key = options.decoder(part, defaults.decoder); + val = options.strictNullHandling ? null : ''; + } else { + key = options.decoder(part.slice(0, pos), defaults.decoder); + val = options.decoder(part.slice(pos + 1), defaults.decoder); + } + if (has.call(obj, key)) { + obj[key] = [].concat(obj[key]).concat(val); + } else { + obj[key] = val; + } + } + + return obj; +}; + +var parseObject = function (chain, val, options) { + var leaf = val; + + for (var i = chain.length - 1; i >= 0; --i) { + var obj; + var root = chain[i]; + + if (root === '[]') { + obj = []; + obj = obj.concat(leaf); + } else { + obj = options.plainObjects ? Object.create(null) : {}; + var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; + var index = parseInt(cleanRoot, 10); + if ( + !isNaN(index) + && root !== cleanRoot + && String(index) === cleanRoot + && index >= 0 + && (options.parseArrays && index <= options.arrayLimit) + ) { + obj = []; + obj[index] = leaf; + } else { + obj[cleanRoot] = leaf; + } + } + + leaf = obj; + } + + return leaf; +}; + +var parseKeys = function parseQueryStringKeys(givenKey, val, options) { + if (!givenKey) { + return; + } + + // Transform dot notation to bracket notation + var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; + + // The regex chunks + + var brackets = /(\[[^[\]]*])/; + var child = /(\[[^[\]]*])/g; + + // Get the parent + + var segment = brackets.exec(key); + var parent = segment ? key.slice(0, segment.index) : key; + + // Stash the parent if it exists + + var keys = []; + if (parent) { + // If we aren't using plain objects, optionally prefix keys + // that would overwrite object prototype properties + if (!options.plainObjects && has.call(Object.prototype, parent)) { + if (!options.allowPrototypes) { + return; + } + } + + keys.push(parent); + } + + // Loop through children appending to the array until we hit depth + + var i = 0; + while ((segment = child.exec(key)) !== null && i < options.depth) { + i += 1; + if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { + if (!options.allowPrototypes) { + return; + } + } + keys.push(segment[1]); + } + + // If there's a remainder, just add whatever is left + + if (segment) { + keys.push('[' + key.slice(segment.index) + ']'); + } + + return parseObject(keys, val, options); +}; + +module.exports = function (str, opts) { + var options = opts ? utils.assign({}, opts) : {}; + + if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') { + throw new TypeError('Decoder has to be a function.'); + } + + options.ignoreQueryPrefix = options.ignoreQueryPrefix === true; + options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter; + options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth; + options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit; + options.parseArrays = options.parseArrays !== false; + options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder; + options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots; + options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects; + options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes; + options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit; + options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling; + + if (str === '' || str === null || typeof str === 'undefined') { + return options.plainObjects ? Object.create(null) : {}; + } + + var tempObj = typeof str === 'string' ? parseValues(str, options) : str; + var obj = options.plainObjects ? Object.create(null) : {}; + + // Iterate over the keys and setup the new object + + var keys = Object.keys(tempObj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var newObj = parseKeys(key, tempObj[key], options); + obj = utils.merge(obj, newObj, options); + } + + return utils.compact(obj); +}; + +},{"./utils":5}],4:[function(require,module,exports){ +'use strict'; + +var utils = require('./utils'); +var formats = require('./formats'); + +var arrayPrefixGenerators = { + brackets: function brackets(prefix) { // eslint-disable-line func-name-matching + return prefix + '[]'; + }, + indices: function indices(prefix, key) { // eslint-disable-line func-name-matching + return prefix + '[' + key + ']'; + }, + repeat: function repeat(prefix) { // eslint-disable-line func-name-matching + return prefix; + } +}; + +var toISO = Date.prototype.toISOString; + +var defaults = { + delimiter: '&', + encode: true, + encoder: utils.encode, + encodeValuesOnly: false, + serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching + return toISO.call(date); + }, + skipNulls: false, + strictNullHandling: false +}; + +var stringify = function stringify( // eslint-disable-line func-name-matching + object, + prefix, + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly +) { + var obj = object; + if (typeof filter === 'function') { + obj = filter(prefix, obj); + } else if (obj instanceof Date) { + obj = serializeDate(obj); + } else if (obj === null) { + if (strictNullHandling) { + return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix; + } + + obj = ''; + } + + if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) { + if (encoder) { + var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder); + return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))]; + } + return [formatter(prefix) + '=' + formatter(String(obj))]; + } + + var values = []; + + if (typeof obj === 'undefined') { + return values; + } + + var objKeys; + if (Array.isArray(filter)) { + objKeys = filter; + } else { + var keys = Object.keys(obj); + objKeys = sort ? keys.sort(sort) : keys; + } + + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + + if (skipNulls && obj[key] === null) { + continue; + } + + if (Array.isArray(obj)) { + values = values.concat(stringify( + obj[key], + generateArrayPrefix(prefix, key), + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } else { + values = values.concat(stringify( + obj[key], + prefix + (allowDots ? '.' + key : '[' + key + ']'), + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } + } + + return values; +}; + +module.exports = function (object, opts) { + var obj = object; + var options = opts ? utils.assign({}, opts) : {}; + + if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') { + throw new TypeError('Encoder has to be a function.'); + } + + var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter; + var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling; + var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls; + var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode; + var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder; + var sort = typeof options.sort === 'function' ? options.sort : null; + var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots; + var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate; + var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly; + if (typeof options.format === 'undefined') { + options.format = formats['default']; + } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) { + throw new TypeError('Unknown format option provided.'); + } + var formatter = formats.formatters[options.format]; + var objKeys; + var filter; + + if (typeof options.filter === 'function') { + filter = options.filter; + obj = filter('', obj); + } else if (Array.isArray(options.filter)) { + filter = options.filter; + objKeys = filter; + } + + var keys = []; + + if (typeof obj !== 'object' || obj === null) { + return ''; + } + + var arrayFormat; + if (options.arrayFormat in arrayPrefixGenerators) { + arrayFormat = options.arrayFormat; + } else if ('indices' in options) { + arrayFormat = options.indices ? 'indices' : 'repeat'; + } else { + arrayFormat = 'indices'; + } + + var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; + + if (!objKeys) { + objKeys = Object.keys(obj); + } + + if (sort) { + objKeys.sort(sort); + } + + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + + if (skipNulls && obj[key] === null) { + continue; + } + + keys = keys.concat(stringify( + obj[key], + key, + generateArrayPrefix, + strictNullHandling, + skipNulls, + encode ? encoder : null, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } + + var joined = keys.join(delimiter); + var prefix = options.addQueryPrefix === true ? '?' : ''; + + return joined.length > 0 ? prefix + joined : ''; +}; + +},{"./formats":1,"./utils":5}],5:[function(require,module,exports){ +'use strict'; + +var has = Object.prototype.hasOwnProperty; + +var hexTable = (function () { + var array = []; + for (var i = 0; i < 256; ++i) { + array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase()); + } + + return array; +}()); + +var compactQueue = function compactQueue(queue) { + var obj; + + while (queue.length) { + var item = queue.pop(); + obj = item.obj[item.prop]; + + if (Array.isArray(obj)) { + var compacted = []; + + for (var j = 0; j < obj.length; ++j) { + if (typeof obj[j] !== 'undefined') { + compacted.push(obj[j]); + } + } + + item.obj[item.prop] = compacted; + } + } + + return obj; +}; + +exports.arrayToObject = function arrayToObject(source, options) { + var obj = options && options.plainObjects ? Object.create(null) : {}; + for (var i = 0; i < source.length; ++i) { + if (typeof source[i] !== 'undefined') { + obj[i] = source[i]; + } + } + + return obj; +}; + +exports.merge = function merge(target, source, options) { + if (!source) { + return target; + } + + if (typeof source !== 'object') { + if (Array.isArray(target)) { + target.push(source); + } else if (typeof target === 'object') { + if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) { + target[source] = true; + } + } else { + return [target, source]; + } + + return target; + } + + if (typeof target !== 'object') { + return [target].concat(source); + } + + var mergeTarget = target; + if (Array.isArray(target) && !Array.isArray(source)) { + mergeTarget = exports.arrayToObject(target, options); + } + + if (Array.isArray(target) && Array.isArray(source)) { + source.forEach(function (item, i) { + if (has.call(target, i)) { + if (target[i] && typeof target[i] === 'object') { + target[i] = exports.merge(target[i], item, options); + } else { + target.push(item); + } + } else { + target[i] = item; + } + }); + return target; + } + + return Object.keys(source).reduce(function (acc, key) { + var value = source[key]; + + if (has.call(acc, key)) { + acc[key] = exports.merge(acc[key], value, options); + } else { + acc[key] = value; + } + return acc; + }, mergeTarget); +}; + +exports.assign = function assignSingleSource(target, source) { + return Object.keys(source).reduce(function (acc, key) { + acc[key] = source[key]; + return acc; + }, target); +}; + +exports.decode = function (str) { + try { + return decodeURIComponent(str.replace(/\+/g, ' ')); + } catch (e) { + return str; + } +}; + +exports.encode = function encode(str) { + // This code was originally written by Brian White (mscdex) for the io.js core querystring library. + // It has been adapted here for stricter adherence to RFC 3986 + if (str.length === 0) { + return str; + } + + var string = typeof str === 'string' ? str : String(str); + + var out = ''; + for (var i = 0; i < string.length; ++i) { + var c = string.charCodeAt(i); + + if ( + c === 0x2D // - + || c === 0x2E // . + || c === 0x5F // _ + || c === 0x7E // ~ + || (c >= 0x30 && c <= 0x39) // 0-9 + || (c >= 0x41 && c <= 0x5A) // a-z + || (c >= 0x61 && c <= 0x7A) // A-Z + ) { + out += string.charAt(i); + continue; + } + + if (c < 0x80) { + out = out + hexTable[c]; + continue; + } + + if (c < 0x800) { + out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + if (c < 0xD800 || c >= 0xE000) { + out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + i += 1; + c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); + out += hexTable[0xF0 | (c >> 18)] + + hexTable[0x80 | ((c >> 12) & 0x3F)] + + hexTable[0x80 | ((c >> 6) & 0x3F)] + + hexTable[0x80 | (c & 0x3F)]; + } + + return out; +}; + +exports.compact = function compact(value) { + var queue = [{ obj: { o: value }, prop: 'o' }]; + var refs = []; + + for (var i = 0; i < queue.length; ++i) { + var item = queue[i]; + var obj = item.obj[item.prop]; + + var keys = Object.keys(obj); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + var val = obj[key]; + if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) { + queue.push({ obj: obj, prop: key }); + refs.push(val); + } + } + } + + return compactQueue(queue); +}; + +exports.isRegExp = function isRegExp(obj) { + return Object.prototype.toString.call(obj) === '[object RegExp]'; +}; + +exports.isBuffer = function isBuffer(obj) { + if (obj === null || typeof obj === 'undefined') { + return false; + } + + return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); +}; + +},{}]},{},[2])(2) +}); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/formats.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/formats.js new file mode 100755 index 0000000..df45997 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/formats.js @@ -0,0 +1,18 @@ +'use strict'; + +var replace = String.prototype.replace; +var percentTwenties = /%20/g; + +module.exports = { + 'default': 'RFC3986', + formatters: { + RFC1738: function (value) { + return replace.call(value, percentTwenties, '+'); + }, + RFC3986: function (value) { + return value; + } + }, + RFC1738: 'RFC1738', + RFC3986: 'RFC3986' +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/index.js new file mode 100755 index 0000000..0d6a97d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/index.js @@ -0,0 +1,11 @@ +'use strict'; + +var stringify = require('./stringify'); +var parse = require('./parse'); +var formats = require('./formats'); + +module.exports = { + formats: formats, + parse: parse, + stringify: stringify +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/parse.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/parse.js new file mode 100755 index 0000000..8c9872e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/parse.js @@ -0,0 +1,174 @@ +'use strict'; + +var utils = require('./utils'); + +var has = Object.prototype.hasOwnProperty; + +var defaults = { + allowDots: false, + allowPrototypes: false, + arrayLimit: 20, + decoder: utils.decode, + delimiter: '&', + depth: 5, + parameterLimit: 1000, + plainObjects: false, + strictNullHandling: false +}; + +var parseValues = function parseQueryStringValues(str, options) { + var obj = {}; + var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str; + var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; + var parts = cleanStr.split(options.delimiter, limit); + + for (var i = 0; i < parts.length; ++i) { + var part = parts[i]; + + var bracketEqualsPos = part.indexOf(']='); + var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1; + + var key, val; + if (pos === -1) { + key = options.decoder(part, defaults.decoder); + val = options.strictNullHandling ? null : ''; + } else { + key = options.decoder(part.slice(0, pos), defaults.decoder); + val = options.decoder(part.slice(pos + 1), defaults.decoder); + } + if (has.call(obj, key)) { + obj[key] = [].concat(obj[key]).concat(val); + } else { + obj[key] = val; + } + } + + return obj; +}; + +var parseObject = function (chain, val, options) { + var leaf = val; + + for (var i = chain.length - 1; i >= 0; --i) { + var obj; + var root = chain[i]; + + if (root === '[]') { + obj = []; + obj = obj.concat(leaf); + } else { + obj = options.plainObjects ? Object.create(null) : {}; + var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; + var index = parseInt(cleanRoot, 10); + if ( + !isNaN(index) + && root !== cleanRoot + && String(index) === cleanRoot + && index >= 0 + && (options.parseArrays && index <= options.arrayLimit) + ) { + obj = []; + obj[index] = leaf; + } else { + obj[cleanRoot] = leaf; + } + } + + leaf = obj; + } + + return leaf; +}; + +var parseKeys = function parseQueryStringKeys(givenKey, val, options) { + if (!givenKey) { + return; + } + + // Transform dot notation to bracket notation + var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; + + // The regex chunks + + var brackets = /(\[[^[\]]*])/; + var child = /(\[[^[\]]*])/g; + + // Get the parent + + var segment = brackets.exec(key); + var parent = segment ? key.slice(0, segment.index) : key; + + // Stash the parent if it exists + + var keys = []; + if (parent) { + // If we aren't using plain objects, optionally prefix keys + // that would overwrite object prototype properties + if (!options.plainObjects && has.call(Object.prototype, parent)) { + if (!options.allowPrototypes) { + return; + } + } + + keys.push(parent); + } + + // Loop through children appending to the array until we hit depth + + var i = 0; + while ((segment = child.exec(key)) !== null && i < options.depth) { + i += 1; + if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { + if (!options.allowPrototypes) { + return; + } + } + keys.push(segment[1]); + } + + // If there's a remainder, just add whatever is left + + if (segment) { + keys.push('[' + key.slice(segment.index) + ']'); + } + + return parseObject(keys, val, options); +}; + +module.exports = function (str, opts) { + var options = opts ? utils.assign({}, opts) : {}; + + if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') { + throw new TypeError('Decoder has to be a function.'); + } + + options.ignoreQueryPrefix = options.ignoreQueryPrefix === true; + options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter; + options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth; + options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit; + options.parseArrays = options.parseArrays !== false; + options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder; + options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots; + options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects; + options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes; + options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit; + options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling; + + if (str === '' || str === null || typeof str === 'undefined') { + return options.plainObjects ? Object.create(null) : {}; + } + + var tempObj = typeof str === 'string' ? parseValues(str, options) : str; + var obj = options.plainObjects ? Object.create(null) : {}; + + // Iterate over the keys and setup the new object + + var keys = Object.keys(tempObj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var newObj = parseKeys(key, tempObj[key], options); + obj = utils.merge(obj, newObj, options); + } + + return utils.compact(obj); +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/stringify.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/stringify.js new file mode 100755 index 0000000..ab915ac --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/stringify.js @@ -0,0 +1,210 @@ +'use strict'; + +var utils = require('./utils'); +var formats = require('./formats'); + +var arrayPrefixGenerators = { + brackets: function brackets(prefix) { // eslint-disable-line func-name-matching + return prefix + '[]'; + }, + indices: function indices(prefix, key) { // eslint-disable-line func-name-matching + return prefix + '[' + key + ']'; + }, + repeat: function repeat(prefix) { // eslint-disable-line func-name-matching + return prefix; + } +}; + +var toISO = Date.prototype.toISOString; + +var defaults = { + delimiter: '&', + encode: true, + encoder: utils.encode, + encodeValuesOnly: false, + serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching + return toISO.call(date); + }, + skipNulls: false, + strictNullHandling: false +}; + +var stringify = function stringify( // eslint-disable-line func-name-matching + object, + prefix, + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly +) { + var obj = object; + if (typeof filter === 'function') { + obj = filter(prefix, obj); + } else if (obj instanceof Date) { + obj = serializeDate(obj); + } else if (obj === null) { + if (strictNullHandling) { + return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix; + } + + obj = ''; + } + + if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) { + if (encoder) { + var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder); + return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))]; + } + return [formatter(prefix) + '=' + formatter(String(obj))]; + } + + var values = []; + + if (typeof obj === 'undefined') { + return values; + } + + var objKeys; + if (Array.isArray(filter)) { + objKeys = filter; + } else { + var keys = Object.keys(obj); + objKeys = sort ? keys.sort(sort) : keys; + } + + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + + if (skipNulls && obj[key] === null) { + continue; + } + + if (Array.isArray(obj)) { + values = values.concat(stringify( + obj[key], + generateArrayPrefix(prefix, key), + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } else { + values = values.concat(stringify( + obj[key], + prefix + (allowDots ? '.' + key : '[' + key + ']'), + generateArrayPrefix, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } + } + + return values; +}; + +module.exports = function (object, opts) { + var obj = object; + var options = opts ? utils.assign({}, opts) : {}; + + if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') { + throw new TypeError('Encoder has to be a function.'); + } + + var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter; + var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling; + var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls; + var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode; + var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder; + var sort = typeof options.sort === 'function' ? options.sort : null; + var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots; + var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate; + var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly; + if (typeof options.format === 'undefined') { + options.format = formats['default']; + } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) { + throw new TypeError('Unknown format option provided.'); + } + var formatter = formats.formatters[options.format]; + var objKeys; + var filter; + + if (typeof options.filter === 'function') { + filter = options.filter; + obj = filter('', obj); + } else if (Array.isArray(options.filter)) { + filter = options.filter; + objKeys = filter; + } + + var keys = []; + + if (typeof obj !== 'object' || obj === null) { + return ''; + } + + var arrayFormat; + if (options.arrayFormat in arrayPrefixGenerators) { + arrayFormat = options.arrayFormat; + } else if ('indices' in options) { + arrayFormat = options.indices ? 'indices' : 'repeat'; + } else { + arrayFormat = 'indices'; + } + + var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; + + if (!objKeys) { + objKeys = Object.keys(obj); + } + + if (sort) { + objKeys.sort(sort); + } + + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + + if (skipNulls && obj[key] === null) { + continue; + } + + keys = keys.concat(stringify( + obj[key], + key, + generateArrayPrefix, + strictNullHandling, + skipNulls, + encode ? encoder : null, + filter, + sort, + allowDots, + serializeDate, + formatter, + encodeValuesOnly + )); + } + + var joined = keys.join(delimiter); + var prefix = options.addQueryPrefix === true ? '?' : ''; + + return joined.length > 0 ? prefix + joined : ''; +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/utils.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/utils.js new file mode 100755 index 0000000..06cae2f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/lib/utils.js @@ -0,0 +1,202 @@ +'use strict'; + +var has = Object.prototype.hasOwnProperty; + +var hexTable = (function () { + var array = []; + for (var i = 0; i < 256; ++i) { + array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase()); + } + + return array; +}()); + +var compactQueue = function compactQueue(queue) { + var obj; + + while (queue.length) { + var item = queue.pop(); + obj = item.obj[item.prop]; + + if (Array.isArray(obj)) { + var compacted = []; + + for (var j = 0; j < obj.length; ++j) { + if (typeof obj[j] !== 'undefined') { + compacted.push(obj[j]); + } + } + + item.obj[item.prop] = compacted; + } + } + + return obj; +}; + +exports.arrayToObject = function arrayToObject(source, options) { + var obj = options && options.plainObjects ? Object.create(null) : {}; + for (var i = 0; i < source.length; ++i) { + if (typeof source[i] !== 'undefined') { + obj[i] = source[i]; + } + } + + return obj; +}; + +exports.merge = function merge(target, source, options) { + if (!source) { + return target; + } + + if (typeof source !== 'object') { + if (Array.isArray(target)) { + target.push(source); + } else if (typeof target === 'object') { + if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) { + target[source] = true; + } + } else { + return [target, source]; + } + + return target; + } + + if (typeof target !== 'object') { + return [target].concat(source); + } + + var mergeTarget = target; + if (Array.isArray(target) && !Array.isArray(source)) { + mergeTarget = exports.arrayToObject(target, options); + } + + if (Array.isArray(target) && Array.isArray(source)) { + source.forEach(function (item, i) { + if (has.call(target, i)) { + if (target[i] && typeof target[i] === 'object') { + target[i] = exports.merge(target[i], item, options); + } else { + target.push(item); + } + } else { + target[i] = item; + } + }); + return target; + } + + return Object.keys(source).reduce(function (acc, key) { + var value = source[key]; + + if (has.call(acc, key)) { + acc[key] = exports.merge(acc[key], value, options); + } else { + acc[key] = value; + } + return acc; + }, mergeTarget); +}; + +exports.assign = function assignSingleSource(target, source) { + return Object.keys(source).reduce(function (acc, key) { + acc[key] = source[key]; + return acc; + }, target); +}; + +exports.decode = function (str) { + try { + return decodeURIComponent(str.replace(/\+/g, ' ')); + } catch (e) { + return str; + } +}; + +exports.encode = function encode(str) { + // This code was originally written by Brian White (mscdex) for the io.js core querystring library. + // It has been adapted here for stricter adherence to RFC 3986 + if (str.length === 0) { + return str; + } + + var string = typeof str === 'string' ? str : String(str); + + var out = ''; + for (var i = 0; i < string.length; ++i) { + var c = string.charCodeAt(i); + + if ( + c === 0x2D // - + || c === 0x2E // . + || c === 0x5F // _ + || c === 0x7E // ~ + || (c >= 0x30 && c <= 0x39) // 0-9 + || (c >= 0x41 && c <= 0x5A) // a-z + || (c >= 0x61 && c <= 0x7A) // A-Z + ) { + out += string.charAt(i); + continue; + } + + if (c < 0x80) { + out = out + hexTable[c]; + continue; + } + + if (c < 0x800) { + out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + if (c < 0xD800 || c >= 0xE000) { + out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + i += 1; + c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); + out += hexTable[0xF0 | (c >> 18)] + + hexTable[0x80 | ((c >> 12) & 0x3F)] + + hexTable[0x80 | ((c >> 6) & 0x3F)] + + hexTable[0x80 | (c & 0x3F)]; + } + + return out; +}; + +exports.compact = function compact(value) { + var queue = [{ obj: { o: value }, prop: 'o' }]; + var refs = []; + + for (var i = 0; i < queue.length; ++i) { + var item = queue[i]; + var obj = item.obj[item.prop]; + + var keys = Object.keys(obj); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + var val = obj[key]; + if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) { + queue.push({ obj: obj, prop: key }); + refs.push(val); + } + } + } + + return compactQueue(queue); +}; + +exports.isRegExp = function isRegExp(obj) { + return Object.prototype.toString.call(obj) === '[object RegExp]'; +}; + +exports.isBuffer = function isBuffer(obj) { + if (obj === null || typeof obj === 'undefined') { + return false; + } + + return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/package.json new file mode 100755 index 0000000..bc1b4a3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/package.json @@ -0,0 +1,124 @@ +{ + "_args": [ + [ + { + "raw": "qs@6.5.1", + "scope": null, + "escapedName": "qs", + "name": "qs", + "rawSpec": "6.5.1", + "spec": "6.5.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "qs@6.5.1", + "_id": "qs@6.5.1", + "_inCache": true, + "_location": "/qs", + "_nodeVersion": "8.4.0", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/qs-6.5.1.tgz_1504943698164_0.10575866606086493" + }, + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "qs@6.5.1", + "scope": null, + "escapedName": "qs", + "name": "qs", + "rawSpec": "6.5.1", + "spec": "6.5.1", + "type": "version" + }, + "_requiredBy": [ + "/body-parser", + "/express" + ], + "_resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "_shasum": "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8", + "_shrinkwrap": null, + "_spec": "qs@6.5.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/ljharb/qs/issues" + }, + "contributors": [ + { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + } + ], + "dependencies": {}, + "description": "A querystring parser that supports nesting and arrays, with a depth limit", + "devDependencies": { + "@ljharb/eslint-config": "^12.2.1", + "browserify": "^14.4.0", + "covert": "^1.1.0", + "editorconfig-tools": "^0.1.1", + "eslint": "^4.6.1", + "evalmd": "^0.0.17", + "iconv-lite": "^0.4.18", + "mkdirp": "^0.5.1", + "qs-iconv": "^1.0.4", + "safe-publish-latest": "^1.1.1", + "tape": "^4.8.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "shasum": "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8", + "tarball": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz" + }, + "engines": { + "node": ">=0.6" + }, + "gitHead": "0e838daa71f91fecda456441ac64e615f38bed8b", + "homepage": "https://github.com/ljharb/qs", + "keywords": [ + "querystring", + "qs" + ], + "license": "BSD-3-Clause", + "main": "lib/index.js", + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + { + "name": "hueniverse", + "email": "eran@hammer.io" + }, + { + "name": "nlf", + "email": "quitlahok@gmail.com" + } + ], + "name": "qs", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/qs.git" + }, + "scripts": { + "coverage": "covert test", + "dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js", + "lint": "eslint lib/*.js test/*.js", + "prelint": "editorconfig-tools check * lib/* test/*", + "prepublish": "safe-publish-latest && npm run dist", + "pretest": "npm run --silent readme && npm run --silent lint", + "readme": "evalmd README.md", + "test": "npm run --silent coverage", + "tests-only": "node test" + }, + "version": "6.5.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/.eslintrc b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/.eslintrc new file mode 100755 index 0000000..20175d6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/.eslintrc @@ -0,0 +1,15 @@ +{ + "rules": { + "array-bracket-newline": 0, + "array-element-newline": 0, + "consistent-return": 2, + "max-lines": 0, + "max-nested-callbacks": [2, 3], + "max-statements": 0, + "no-buffer-constructor": 0, + "no-extend-native": 0, + "no-magic-numbers": 0, + "object-curly-newline": 0, + "sort-keys": 0 + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/index.js new file mode 100755 index 0000000..5e6bc8f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/index.js @@ -0,0 +1,7 @@ +'use strict'; + +require('./parse'); + +require('./stringify'); + +require('./utils'); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/parse.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/parse.js new file mode 100755 index 0000000..d7d8641 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/parse.js @@ -0,0 +1,573 @@ +'use strict'; + +var test = require('tape'); +var qs = require('../'); +var utils = require('../lib/utils'); +var iconv = require('iconv-lite'); + +test('parse()', function (t) { + t.test('parses a simple string', function (st) { + st.deepEqual(qs.parse('0=foo'), { 0: 'foo' }); + st.deepEqual(qs.parse('foo=c++'), { foo: 'c ' }); + st.deepEqual(qs.parse('a[>=]=23'), { a: { '>=': '23' } }); + st.deepEqual(qs.parse('a[<=>]==23'), { a: { '<=>': '=23' } }); + st.deepEqual(qs.parse('a[==]=23'), { a: { '==': '23' } }); + st.deepEqual(qs.parse('foo', { strictNullHandling: true }), { foo: null }); + st.deepEqual(qs.parse('foo'), { foo: '' }); + st.deepEqual(qs.parse('foo='), { foo: '' }); + st.deepEqual(qs.parse('foo=bar'), { foo: 'bar' }); + st.deepEqual(qs.parse(' foo = bar = baz '), { ' foo ': ' bar = baz ' }); + st.deepEqual(qs.parse('foo=bar=baz'), { foo: 'bar=baz' }); + st.deepEqual(qs.parse('foo=bar&bar=baz'), { foo: 'bar', bar: 'baz' }); + st.deepEqual(qs.parse('foo2=bar2&baz2='), { foo2: 'bar2', baz2: '' }); + st.deepEqual(qs.parse('foo=bar&baz', { strictNullHandling: true }), { foo: 'bar', baz: null }); + st.deepEqual(qs.parse('foo=bar&baz'), { foo: 'bar', baz: '' }); + st.deepEqual(qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World'), { + cht: 'p3', + chd: 't:60,40', + chs: '250x100', + chl: 'Hello|World' + }); + st.end(); + }); + + t.test('allows enabling dot notation', function (st) { + st.deepEqual(qs.parse('a.b=c'), { 'a.b': 'c' }); + st.deepEqual(qs.parse('a.b=c', { allowDots: true }), { a: { b: 'c' } }); + st.end(); + }); + + t.deepEqual(qs.parse('a[b]=c'), { a: { b: 'c' } }, 'parses a single nested string'); + t.deepEqual(qs.parse('a[b][c]=d'), { a: { b: { c: 'd' } } }, 'parses a double nested string'); + t.deepEqual( + qs.parse('a[b][c][d][e][f][g][h]=i'), + { a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } }, + 'defaults to a depth of 5' + ); + + t.test('only parses one level when depth = 1', function (st) { + st.deepEqual(qs.parse('a[b][c]=d', { depth: 1 }), { a: { b: { '[c]': 'd' } } }); + st.deepEqual(qs.parse('a[b][c][d]=e', { depth: 1 }), { a: { b: { '[c][d]': 'e' } } }); + st.end(); + }); + + t.deepEqual(qs.parse('a=b&a=c'), { a: ['b', 'c'] }, 'parses a simple array'); + + t.test('parses an explicit array', function (st) { + st.deepEqual(qs.parse('a[]=b'), { a: ['b'] }); + st.deepEqual(qs.parse('a[]=b&a[]=c'), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[]=b&a[]=c&a[]=d'), { a: ['b', 'c', 'd'] }); + st.end(); + }); + + t.test('parses a mix of simple and explicit arrays', function (st) { + st.deepEqual(qs.parse('a=b&a[]=c'), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[0]=b&a=c'), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a=b&a[0]=c'), { a: ['b', 'c'] }); + + st.deepEqual(qs.parse('a[1]=b&a=c', { arrayLimit: 20 }), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[]=b&a=c', { arrayLimit: 0 }), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] }); + + st.deepEqual(qs.parse('a=b&a[1]=c', { arrayLimit: 20 }), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a=b&a[]=c', { arrayLimit: 0 }), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a=b&a[]=c'), { a: ['b', 'c'] }); + + st.end(); + }); + + t.test('parses a nested array', function (st) { + st.deepEqual(qs.parse('a[b][]=c&a[b][]=d'), { a: { b: ['c', 'd'] } }); + st.deepEqual(qs.parse('a[>=]=25'), { a: { '>=': '25' } }); + st.end(); + }); + + t.test('allows to specify array indices', function (st) { + st.deepEqual(qs.parse('a[1]=c&a[0]=b&a[2]=d'), { a: ['b', 'c', 'd'] }); + st.deepEqual(qs.parse('a[1]=c&a[0]=b'), { a: ['b', 'c'] }); + st.deepEqual(qs.parse('a[1]=c', { arrayLimit: 20 }), { a: ['c'] }); + st.deepEqual(qs.parse('a[1]=c', { arrayLimit: 0 }), { a: { 1: 'c' } }); + st.deepEqual(qs.parse('a[1]=c'), { a: ['c'] }); + st.end(); + }); + + t.test('limits specific array indices to arrayLimit', function (st) { + st.deepEqual(qs.parse('a[20]=a', { arrayLimit: 20 }), { a: ['a'] }); + st.deepEqual(qs.parse('a[21]=a', { arrayLimit: 20 }), { a: { 21: 'a' } }); + st.end(); + }); + + t.deepEqual(qs.parse('a[12b]=c'), { a: { '12b': 'c' } }, 'supports keys that begin with a number'); + + t.test('supports encoded = signs', function (st) { + st.deepEqual(qs.parse('he%3Dllo=th%3Dere'), { 'he=llo': 'th=ere' }); + st.end(); + }); + + t.test('is ok with url encoded strings', function (st) { + st.deepEqual(qs.parse('a[b%20c]=d'), { a: { 'b c': 'd' } }); + st.deepEqual(qs.parse('a[b]=c%20d'), { a: { b: 'c d' } }); + st.end(); + }); + + t.test('allows brackets in the value', function (st) { + st.deepEqual(qs.parse('pets=["tobi"]'), { pets: '["tobi"]' }); + st.deepEqual(qs.parse('operators=[">=", "<="]'), { operators: '[">=", "<="]' }); + st.end(); + }); + + t.test('allows empty values', function (st) { + st.deepEqual(qs.parse(''), {}); + st.deepEqual(qs.parse(null), {}); + st.deepEqual(qs.parse(undefined), {}); + st.end(); + }); + + t.test('transforms arrays to objects', function (st) { + st.deepEqual(qs.parse('foo[0]=bar&foo[bad]=baz'), { foo: { 0: 'bar', bad: 'baz' } }); + st.deepEqual(qs.parse('foo[bad]=baz&foo[0]=bar'), { foo: { bad: 'baz', 0: 'bar' } }); + st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar'), { foo: { bad: 'baz', 0: 'bar' } }); + st.deepEqual(qs.parse('foo[]=bar&foo[bad]=baz'), { foo: { 0: 'bar', bad: 'baz' } }); + st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo'), { foo: { bad: 'baz', 0: 'bar', 1: 'foo' } }); + st.deepEqual(qs.parse('foo[0][a]=a&foo[0][b]=b&foo[1][a]=aa&foo[1][b]=bb'), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] }); + + st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c', { allowPrototypes: false }), { a: { 0: 'b', t: 'u' } }); + st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c', { allowPrototypes: true }), { a: { 0: 'b', t: 'u', hasOwnProperty: 'c' } }); + st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y', { allowPrototypes: false }), { a: { 0: 'b', x: 'y' } }); + st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y', { allowPrototypes: true }), { a: { 0: 'b', hasOwnProperty: 'c', x: 'y' } }); + st.end(); + }); + + t.test('transforms arrays to objects (dot notation)', function (st) { + st.deepEqual(qs.parse('foo[0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [{ baz: 'bar' }], fool: { bad: 'baz' } }); + st.deepEqual(qs.parse('foo[0].baz=bar&fool.bad.boo=baz', { allowDots: true }), { foo: [{ baz: 'bar' }], fool: { bad: { boo: 'baz' } } }); + st.deepEqual(qs.parse('foo[0][0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [[{ baz: 'bar' }]], fool: { bad: 'baz' } }); + st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15'], bar: '2' }] }); + st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].baz[1]=16&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15', '16'], bar: '2' }] }); + st.deepEqual(qs.parse('foo.bad=baz&foo[0]=bar', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar' } }); + st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar' } }); + st.deepEqual(qs.parse('foo[]=bar&foo.bad=baz', { allowDots: true }), { foo: { 0: 'bar', bad: 'baz' } }); + st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar&foo[]=foo', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar', 1: 'foo' } }); + st.deepEqual(qs.parse('foo[0].a=a&foo[0].b=b&foo[1].a=aa&foo[1].b=bb', { allowDots: true }), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] }); + st.end(); + }); + + t.test('correctly prunes undefined values when converting an array to an object', function (st) { + st.deepEqual(qs.parse('a[2]=b&a[99999999]=c'), { a: { 2: 'b', 99999999: 'c' } }); + st.end(); + }); + + t.test('supports malformed uri characters', function (st) { + st.deepEqual(qs.parse('{%:%}', { strictNullHandling: true }), { '{%:%}': null }); + st.deepEqual(qs.parse('{%:%}='), { '{%:%}': '' }); + st.deepEqual(qs.parse('foo=%:%}'), { foo: '%:%}' }); + st.end(); + }); + + t.test('doesn\'t produce empty keys', function (st) { + st.deepEqual(qs.parse('_r=1&'), { _r: '1' }); + st.end(); + }); + + t.test('cannot access Object prototype', function (st) { + qs.parse('constructor[prototype][bad]=bad'); + qs.parse('bad[constructor][prototype][bad]=bad'); + st.equal(typeof Object.prototype.bad, 'undefined'); + st.end(); + }); + + t.test('parses arrays of objects', function (st) { + st.deepEqual(qs.parse('a[][b]=c'), { a: [{ b: 'c' }] }); + st.deepEqual(qs.parse('a[0][b]=c'), { a: [{ b: 'c' }] }); + st.end(); + }); + + t.test('allows for empty strings in arrays', function (st) { + st.deepEqual(qs.parse('a[]=b&a[]=&a[]=c'), { a: ['b', '', 'c'] }); + + st.deepEqual( + qs.parse('a[0]=b&a[1]&a[2]=c&a[19]=', { strictNullHandling: true, arrayLimit: 20 }), + { a: ['b', null, 'c', ''] }, + 'with arrayLimit 20 + array indices: null then empty string works' + ); + st.deepEqual( + qs.parse('a[]=b&a[]&a[]=c&a[]=', { strictNullHandling: true, arrayLimit: 0 }), + { a: ['b', null, 'c', ''] }, + 'with arrayLimit 0 + array brackets: null then empty string works' + ); + + st.deepEqual( + qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]', { strictNullHandling: true, arrayLimit: 20 }), + { a: ['b', '', 'c', null] }, + 'with arrayLimit 20 + array indices: empty string then null works' + ); + st.deepEqual( + qs.parse('a[]=b&a[]=&a[]=c&a[]', { strictNullHandling: true, arrayLimit: 0 }), + { a: ['b', '', 'c', null] }, + 'with arrayLimit 0 + array brackets: empty string then null works' + ); + + st.deepEqual( + qs.parse('a[]=&a[]=b&a[]=c'), + { a: ['', 'b', 'c'] }, + 'array brackets: empty strings work' + ); + st.end(); + }); + + t.test('compacts sparse arrays', function (st) { + st.deepEqual(qs.parse('a[10]=1&a[2]=2', { arrayLimit: 20 }), { a: ['2', '1'] }); + st.deepEqual(qs.parse('a[1][b][2][c]=1', { arrayLimit: 20 }), { a: [{ b: [{ c: '1' }] }] }); + st.deepEqual(qs.parse('a[1][2][3][c]=1', { arrayLimit: 20 }), { a: [[[{ c: '1' }]]] }); + st.deepEqual(qs.parse('a[1][2][3][c][1]=1', { arrayLimit: 20 }), { a: [[[{ c: ['1'] }]]] }); + st.end(); + }); + + t.test('parses semi-parsed strings', function (st) { + st.deepEqual(qs.parse({ 'a[b]': 'c' }), { a: { b: 'c' } }); + st.deepEqual(qs.parse({ 'a[b]': 'c', 'a[d]': 'e' }), { a: { b: 'c', d: 'e' } }); + st.end(); + }); + + t.test('parses buffers correctly', function (st) { + var b = new Buffer('test'); + st.deepEqual(qs.parse({ a: b }), { a: b }); + st.end(); + }); + + t.test('continues parsing when no parent is found', function (st) { + st.deepEqual(qs.parse('[]=&a=b'), { 0: '', a: 'b' }); + st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { 0: null, a: 'b' }); + st.deepEqual(qs.parse('[foo]=bar'), { foo: 'bar' }); + st.end(); + }); + + t.test('does not error when parsing a very long array', function (st) { + var str = 'a[]=a'; + while (Buffer.byteLength(str) < 128 * 1024) { + str = str + '&' + str; + } + + st.doesNotThrow(function () { + qs.parse(str); + }); + + st.end(); + }); + + t.test('should not throw when a native prototype has an enumerable property', { parallel: false }, function (st) { + Object.prototype.crash = ''; + Array.prototype.crash = ''; + st.doesNotThrow(qs.parse.bind(null, 'a=b')); + st.deepEqual(qs.parse('a=b'), { a: 'b' }); + st.doesNotThrow(qs.parse.bind(null, 'a[][b]=c')); + st.deepEqual(qs.parse('a[][b]=c'), { a: [{ b: 'c' }] }); + delete Object.prototype.crash; + delete Array.prototype.crash; + st.end(); + }); + + t.test('parses a string with an alternative string delimiter', function (st) { + st.deepEqual(qs.parse('a=b;c=d', { delimiter: ';' }), { a: 'b', c: 'd' }); + st.end(); + }); + + t.test('parses a string with an alternative RegExp delimiter', function (st) { + st.deepEqual(qs.parse('a=b; c=d', { delimiter: /[;,] */ }), { a: 'b', c: 'd' }); + st.end(); + }); + + t.test('does not use non-splittable objects as delimiters', function (st) { + st.deepEqual(qs.parse('a=b&c=d', { delimiter: true }), { a: 'b', c: 'd' }); + st.end(); + }); + + t.test('allows overriding parameter limit', function (st) { + st.deepEqual(qs.parse('a=b&c=d', { parameterLimit: 1 }), { a: 'b' }); + st.end(); + }); + + t.test('allows setting the parameter limit to Infinity', function (st) { + st.deepEqual(qs.parse('a=b&c=d', { parameterLimit: Infinity }), { a: 'b', c: 'd' }); + st.end(); + }); + + t.test('allows overriding array limit', function (st) { + st.deepEqual(qs.parse('a[0]=b', { arrayLimit: -1 }), { a: { 0: 'b' } }); + st.deepEqual(qs.parse('a[-1]=b', { arrayLimit: -1 }), { a: { '-1': 'b' } }); + st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 }), { a: { 0: 'b', 1: 'c' } }); + st.end(); + }); + + t.test('allows disabling array parsing', function (st) { + st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { 0: 'b', 1: 'c' } }); + st.end(); + }); + + t.test('allows for query string prefix', function (st) { + st.deepEqual(qs.parse('?foo=bar', { ignoreQueryPrefix: true }), { foo: 'bar' }); + st.deepEqual(qs.parse('foo=bar', { ignoreQueryPrefix: true }), { foo: 'bar' }); + st.deepEqual(qs.parse('?foo=bar', { ignoreQueryPrefix: false }), { '?foo': 'bar' }); + st.end(); + }); + + t.test('parses an object', function (st) { + var input = { + 'user[name]': { 'pop[bob]': 3 }, + 'user[email]': null + }; + + var expected = { + user: { + name: { 'pop[bob]': 3 }, + email: null + } + }; + + var result = qs.parse(input); + + st.deepEqual(result, expected); + st.end(); + }); + + t.test('parses an object in dot notation', function (st) { + var input = { + 'user.name': { 'pop[bob]': 3 }, + 'user.email.': null + }; + + var expected = { + user: { + name: { 'pop[bob]': 3 }, + email: null + } + }; + + var result = qs.parse(input, { allowDots: true }); + + st.deepEqual(result, expected); + st.end(); + }); + + t.test('parses an object and not child values', function (st) { + var input = { + 'user[name]': { 'pop[bob]': { test: 3 } }, + 'user[email]': null + }; + + var expected = { + user: { + name: { 'pop[bob]': { test: 3 } }, + email: null + } + }; + + var result = qs.parse(input); + + st.deepEqual(result, expected); + st.end(); + }); + + t.test('does not blow up when Buffer global is missing', function (st) { + var tempBuffer = global.Buffer; + delete global.Buffer; + var result = qs.parse('a=b&c=d'); + global.Buffer = tempBuffer; + st.deepEqual(result, { a: 'b', c: 'd' }); + st.end(); + }); + + t.test('does not crash when parsing circular references', function (st) { + var a = {}; + a.b = a; + + var parsed; + + st.doesNotThrow(function () { + parsed = qs.parse({ 'foo[bar]': 'baz', 'foo[baz]': a }); + }); + + st.equal('foo' in parsed, true, 'parsed has "foo" property'); + st.equal('bar' in parsed.foo, true); + st.equal('baz' in parsed.foo, true); + st.equal(parsed.foo.bar, 'baz'); + st.deepEqual(parsed.foo.baz, a); + st.end(); + }); + + t.test('does not crash when parsing deep objects', function (st) { + var parsed; + var str = 'foo'; + + for (var i = 0; i < 5000; i++) { + str += '[p]'; + } + + str += '=bar'; + + st.doesNotThrow(function () { + parsed = qs.parse(str, { depth: 5000 }); + }); + + st.equal('foo' in parsed, true, 'parsed has "foo" property'); + + var depth = 0; + var ref = parsed.foo; + while ((ref = ref.p)) { + depth += 1; + } + + st.equal(depth, 5000, 'parsed is 5000 properties deep'); + + st.end(); + }); + + t.test('parses null objects correctly', { skip: !Object.create }, function (st) { + var a = Object.create(null); + a.b = 'c'; + + st.deepEqual(qs.parse(a), { b: 'c' }); + var result = qs.parse({ a: a }); + st.equal('a' in result, true, 'result has "a" property'); + st.deepEqual(result.a, a); + st.end(); + }); + + t.test('parses dates correctly', function (st) { + var now = new Date(); + st.deepEqual(qs.parse({ a: now }), { a: now }); + st.end(); + }); + + t.test('parses regular expressions correctly', function (st) { + var re = /^test$/; + st.deepEqual(qs.parse({ a: re }), { a: re }); + st.end(); + }); + + t.test('does not allow overwriting prototype properties', function (st) { + st.deepEqual(qs.parse('a[hasOwnProperty]=b', { allowPrototypes: false }), {}); + st.deepEqual(qs.parse('hasOwnProperty=b', { allowPrototypes: false }), {}); + + st.deepEqual( + qs.parse('toString', { allowPrototypes: false }), + {}, + 'bare "toString" results in {}' + ); + + st.end(); + }); + + t.test('can allow overwriting prototype properties', function (st) { + st.deepEqual(qs.parse('a[hasOwnProperty]=b', { allowPrototypes: true }), { a: { hasOwnProperty: 'b' } }); + st.deepEqual(qs.parse('hasOwnProperty=b', { allowPrototypes: true }), { hasOwnProperty: 'b' }); + + st.deepEqual( + qs.parse('toString', { allowPrototypes: true }), + { toString: '' }, + 'bare "toString" results in { toString: "" }' + ); + + st.end(); + }); + + t.test('params starting with a closing bracket', function (st) { + st.deepEqual(qs.parse(']=toString'), { ']': 'toString' }); + st.deepEqual(qs.parse(']]=toString'), { ']]': 'toString' }); + st.deepEqual(qs.parse(']hello]=toString'), { ']hello]': 'toString' }); + st.end(); + }); + + t.test('params starting with a starting bracket', function (st) { + st.deepEqual(qs.parse('[=toString'), { '[': 'toString' }); + st.deepEqual(qs.parse('[[=toString'), { '[[': 'toString' }); + st.deepEqual(qs.parse('[hello[=toString'), { '[hello[': 'toString' }); + st.end(); + }); + + t.test('add keys to objects', function (st) { + st.deepEqual( + qs.parse('a[b]=c&a=d'), + { a: { b: 'c', d: true } }, + 'can add keys to objects' + ); + + st.deepEqual( + qs.parse('a[b]=c&a=toString'), + { a: { b: 'c' } }, + 'can not overwrite prototype' + ); + + st.deepEqual( + qs.parse('a[b]=c&a=toString', { allowPrototypes: true }), + { a: { b: 'c', toString: true } }, + 'can overwrite prototype with allowPrototypes true' + ); + + st.deepEqual( + qs.parse('a[b]=c&a=toString', { plainObjects: true }), + { a: { b: 'c', toString: true } }, + 'can overwrite prototype with plainObjects true' + ); + + st.end(); + }); + + t.test('can return null objects', { skip: !Object.create }, function (st) { + var expected = Object.create(null); + expected.a = Object.create(null); + expected.a.b = 'c'; + expected.a.hasOwnProperty = 'd'; + st.deepEqual(qs.parse('a[b]=c&a[hasOwnProperty]=d', { plainObjects: true }), expected); + st.deepEqual(qs.parse(null, { plainObjects: true }), Object.create(null)); + var expectedArray = Object.create(null); + expectedArray.a = Object.create(null); + expectedArray.a[0] = 'b'; + expectedArray.a.c = 'd'; + st.deepEqual(qs.parse('a[]=b&a[c]=d', { plainObjects: true }), expectedArray); + st.end(); + }); + + t.test('can parse with custom encoding', function (st) { + st.deepEqual(qs.parse('%8c%a7=%91%e5%8d%e3%95%7b', { + decoder: function (str) { + var reg = /%([0-9A-F]{2})/ig; + var result = []; + var parts = reg.exec(str); + while (parts) { + result.push(parseInt(parts[1], 16)); + parts = reg.exec(str); + } + return iconv.decode(new Buffer(result), 'shift_jis').toString(); + } + }), { 県: '大阪府' }); + st.end(); + }); + + t.test('receives the default decoder as a second argument', function (st) { + st.plan(1); + qs.parse('a', { + decoder: function (str, defaultDecoder) { + st.equal(defaultDecoder, utils.decode); + } + }); + st.end(); + }); + + t.test('throws error with wrong decoder', function (st) { + st['throws'](function () { + qs.parse({}, { decoder: 'string' }); + }, new TypeError('Decoder has to be a function.')); + st.end(); + }); + + t.test('does not mutate the options argument', function (st) { + var options = {}; + qs.parse('a[b]=true', options); + st.deepEqual(options, {}); + st.end(); + }); + + t.end(); +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/stringify.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/stringify.js new file mode 100755 index 0000000..124a99d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/stringify.js @@ -0,0 +1,596 @@ +'use strict'; + +var test = require('tape'); +var qs = require('../'); +var utils = require('../lib/utils'); +var iconv = require('iconv-lite'); + +test('stringify()', function (t) { + t.test('stringifies a querystring object', function (st) { + st.equal(qs.stringify({ a: 'b' }), 'a=b'); + st.equal(qs.stringify({ a: 1 }), 'a=1'); + st.equal(qs.stringify({ a: 1, b: 2 }), 'a=1&b=2'); + st.equal(qs.stringify({ a: 'A_Z' }), 'a=A_Z'); + st.equal(qs.stringify({ a: '€' }), 'a=%E2%82%AC'); + st.equal(qs.stringify({ a: '' }), 'a=%EE%80%80'); + st.equal(qs.stringify({ a: '×' }), 'a=%D7%90'); + st.equal(qs.stringify({ a: 'ð·' }), 'a=%F0%90%90%B7'); + st.end(); + }); + + t.test('adds query prefix', function (st) { + st.equal(qs.stringify({ a: 'b' }, { addQueryPrefix: true }), '?a=b'); + st.end(); + }); + + t.test('with query prefix, outputs blank string given an empty object', function (st) { + st.equal(qs.stringify({}, { addQueryPrefix: true }), ''); + st.end(); + }); + + t.test('stringifies a nested object', function (st) { + st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c'); + st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }), 'a%5Bb%5D%5Bc%5D%5Bd%5D=e'); + st.end(); + }); + + t.test('stringifies a nested object with dots notation', function (st) { + st.equal(qs.stringify({ a: { b: 'c' } }, { allowDots: true }), 'a.b=c'); + st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }, { allowDots: true }), 'a.b.c.d=e'); + st.end(); + }); + + t.test('stringifies an array value', function (st) { + st.equal( + qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' }), + 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d', + 'indices => indices' + ); + st.equal( + qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'brackets' }), + 'a%5B%5D=b&a%5B%5D=c&a%5B%5D=d', + 'brackets => brackets' + ); + st.equal( + qs.stringify({ a: ['b', 'c', 'd'] }), + 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d', + 'default => indices' + ); + st.end(); + }); + + t.test('omits nulls when asked', function (st) { + st.equal(qs.stringify({ a: 'b', c: null }, { skipNulls: true }), 'a=b'); + st.end(); + }); + + t.test('omits nested nulls when asked', function (st) { + st.equal(qs.stringify({ a: { b: 'c', d: null } }, { skipNulls: true }), 'a%5Bb%5D=c'); + st.end(); + }); + + t.test('omits array indices when asked', function (st) { + st.equal(qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }), 'a=b&a=c&a=d'); + st.end(); + }); + + t.test('stringifies a nested array value', function (st) { + st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'indices' }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d'); + st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'brackets' }), 'a%5Bb%5D%5B%5D=c&a%5Bb%5D%5B%5D=d'); + st.equal(qs.stringify({ a: { b: ['c', 'd'] } }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d'); + st.end(); + }); + + t.test('stringifies a nested array value with dots notation', function (st) { + st.equal( + qs.stringify( + { a: { b: ['c', 'd'] } }, + { allowDots: true, encode: false, arrayFormat: 'indices' } + ), + 'a.b[0]=c&a.b[1]=d', + 'indices: stringifies with dots + indices' + ); + st.equal( + qs.stringify( + { a: { b: ['c', 'd'] } }, + { allowDots: true, encode: false, arrayFormat: 'brackets' } + ), + 'a.b[]=c&a.b[]=d', + 'brackets: stringifies with dots + brackets' + ); + st.equal( + qs.stringify( + { a: { b: ['c', 'd'] } }, + { allowDots: true, encode: false } + ), + 'a.b[0]=c&a.b[1]=d', + 'default: stringifies with dots + indices' + ); + st.end(); + }); + + t.test('stringifies an object inside an array', function (st) { + st.equal( + qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'indices' }), + 'a%5B0%5D%5Bb%5D=c', + 'indices => brackets' + ); + st.equal( + qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'brackets' }), + 'a%5B%5D%5Bb%5D=c', + 'brackets => brackets' + ); + st.equal( + qs.stringify({ a: [{ b: 'c' }] }), + 'a%5B0%5D%5Bb%5D=c', + 'default => indices' + ); + + st.equal( + qs.stringify({ a: [{ b: { c: [1] } }] }, { arrayFormat: 'indices' }), + 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1', + 'indices => indices' + ); + + st.equal( + qs.stringify({ a: [{ b: { c: [1] } }] }, { arrayFormat: 'brackets' }), + 'a%5B%5D%5Bb%5D%5Bc%5D%5B%5D=1', + 'brackets => brackets' + ); + + st.equal( + qs.stringify({ a: [{ b: { c: [1] } }] }), + 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1', + 'default => indices' + ); + + st.end(); + }); + + t.test('stringifies an array with mixed objects and primitives', function (st) { + st.equal( + qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'indices' }), + 'a[0][b]=1&a[1]=2&a[2]=3', + 'indices => indices' + ); + st.equal( + qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'brackets' }), + 'a[][b]=1&a[]=2&a[]=3', + 'brackets => brackets' + ); + st.equal( + qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false }), + 'a[0][b]=1&a[1]=2&a[2]=3', + 'default => indices' + ); + + st.end(); + }); + + t.test('stringifies an object inside an array with dots notation', function (st) { + st.equal( + qs.stringify( + { a: [{ b: 'c' }] }, + { allowDots: true, encode: false, arrayFormat: 'indices' } + ), + 'a[0].b=c', + 'indices => indices' + ); + st.equal( + qs.stringify( + { a: [{ b: 'c' }] }, + { allowDots: true, encode: false, arrayFormat: 'brackets' } + ), + 'a[].b=c', + 'brackets => brackets' + ); + st.equal( + qs.stringify( + { a: [{ b: 'c' }] }, + { allowDots: true, encode: false } + ), + 'a[0].b=c', + 'default => indices' + ); + + st.equal( + qs.stringify( + { a: [{ b: { c: [1] } }] }, + { allowDots: true, encode: false, arrayFormat: 'indices' } + ), + 'a[0].b.c[0]=1', + 'indices => indices' + ); + st.equal( + qs.stringify( + { a: [{ b: { c: [1] } }] }, + { allowDots: true, encode: false, arrayFormat: 'brackets' } + ), + 'a[].b.c[]=1', + 'brackets => brackets' + ); + st.equal( + qs.stringify( + { a: [{ b: { c: [1] } }] }, + { allowDots: true, encode: false } + ), + 'a[0].b.c[0]=1', + 'default => indices' + ); + + st.end(); + }); + + t.test('does not omit object keys when indices = false', function (st) { + st.equal(qs.stringify({ a: [{ b: 'c' }] }, { indices: false }), 'a%5Bb%5D=c'); + st.end(); + }); + + t.test('uses indices notation for arrays when indices=true', function (st) { + st.equal(qs.stringify({ a: ['b', 'c'] }, { indices: true }), 'a%5B0%5D=b&a%5B1%5D=c'); + st.end(); + }); + + t.test('uses indices notation for arrays when no arrayFormat is specified', function (st) { + st.equal(qs.stringify({ a: ['b', 'c'] }), 'a%5B0%5D=b&a%5B1%5D=c'); + st.end(); + }); + + t.test('uses indices notation for arrays when no arrayFormat=indices', function (st) { + st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' }), 'a%5B0%5D=b&a%5B1%5D=c'); + st.end(); + }); + + t.test('uses repeat notation for arrays when no arrayFormat=repeat', function (st) { + st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' }), 'a=b&a=c'); + st.end(); + }); + + t.test('uses brackets notation for arrays when no arrayFormat=brackets', function (st) { + st.equal(qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' }), 'a%5B%5D=b&a%5B%5D=c'); + st.end(); + }); + + t.test('stringifies a complicated object', function (st) { + st.equal(qs.stringify({ a: { b: 'c', d: 'e' } }), 'a%5Bb%5D=c&a%5Bd%5D=e'); + st.end(); + }); + + t.test('stringifies an empty value', function (st) { + st.equal(qs.stringify({ a: '' }), 'a='); + st.equal(qs.stringify({ a: null }, { strictNullHandling: true }), 'a'); + + st.equal(qs.stringify({ a: '', b: '' }), 'a=&b='); + st.equal(qs.stringify({ a: null, b: '' }, { strictNullHandling: true }), 'a&b='); + + st.equal(qs.stringify({ a: { b: '' } }), 'a%5Bb%5D='); + st.equal(qs.stringify({ a: { b: null } }, { strictNullHandling: true }), 'a%5Bb%5D'); + st.equal(qs.stringify({ a: { b: null } }, { strictNullHandling: false }), 'a%5Bb%5D='); + + st.end(); + }); + + t.test('stringifies a null object', { skip: !Object.create }, function (st) { + var obj = Object.create(null); + obj.a = 'b'; + st.equal(qs.stringify(obj), 'a=b'); + st.end(); + }); + + t.test('returns an empty string for invalid input', function (st) { + st.equal(qs.stringify(undefined), ''); + st.equal(qs.stringify(false), ''); + st.equal(qs.stringify(null), ''); + st.equal(qs.stringify(''), ''); + st.end(); + }); + + t.test('stringifies an object with a null object as a child', { skip: !Object.create }, function (st) { + var obj = { a: Object.create(null) }; + + obj.a.b = 'c'; + st.equal(qs.stringify(obj), 'a%5Bb%5D=c'); + st.end(); + }); + + t.test('drops keys with a value of undefined', function (st) { + st.equal(qs.stringify({ a: undefined }), ''); + + st.equal(qs.stringify({ a: { b: undefined, c: null } }, { strictNullHandling: true }), 'a%5Bc%5D'); + st.equal(qs.stringify({ a: { b: undefined, c: null } }, { strictNullHandling: false }), 'a%5Bc%5D='); + st.equal(qs.stringify({ a: { b: undefined, c: '' } }), 'a%5Bc%5D='); + st.end(); + }); + + t.test('url encodes values', function (st) { + st.equal(qs.stringify({ a: 'b c' }), 'a=b%20c'); + st.end(); + }); + + t.test('stringifies a date', function (st) { + var now = new Date(); + var str = 'a=' + encodeURIComponent(now.toISOString()); + st.equal(qs.stringify({ a: now }), str); + st.end(); + }); + + t.test('stringifies the weird object from qs', function (st) { + st.equal(qs.stringify({ 'my weird field': '~q1!2"\'w$5&7/z8)?' }), 'my%20weird%20field=~q1%212%22%27w%245%267%2Fz8%29%3F'); + st.end(); + }); + + t.test('skips properties that are part of the object prototype', function (st) { + Object.prototype.crash = 'test'; + st.equal(qs.stringify({ a: 'b' }), 'a=b'); + st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c'); + delete Object.prototype.crash; + st.end(); + }); + + t.test('stringifies boolean values', function (st) { + st.equal(qs.stringify({ a: true }), 'a=true'); + st.equal(qs.stringify({ a: { b: true } }), 'a%5Bb%5D=true'); + st.equal(qs.stringify({ b: false }), 'b=false'); + st.equal(qs.stringify({ b: { c: false } }), 'b%5Bc%5D=false'); + st.end(); + }); + + t.test('stringifies buffer values', function (st) { + st.equal(qs.stringify({ a: new Buffer('test') }), 'a=test'); + st.equal(qs.stringify({ a: { b: new Buffer('test') } }), 'a%5Bb%5D=test'); + st.end(); + }); + + t.test('stringifies an object using an alternative delimiter', function (st) { + st.equal(qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }), 'a=b;c=d'); + st.end(); + }); + + t.test('doesn\'t blow up when Buffer global is missing', function (st) { + var tempBuffer = global.Buffer; + delete global.Buffer; + var result = qs.stringify({ a: 'b', c: 'd' }); + global.Buffer = tempBuffer; + st.equal(result, 'a=b&c=d'); + st.end(); + }); + + t.test('selects properties when filter=array', function (st) { + st.equal(qs.stringify({ a: 'b' }, { filter: ['a'] }), 'a=b'); + st.equal(qs.stringify({ a: 1 }, { filter: [] }), ''); + + st.equal( + qs.stringify( + { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' }, + { filter: ['a', 'b', 0, 2], arrayFormat: 'indices' } + ), + 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3', + 'indices => indices' + ); + st.equal( + qs.stringify( + { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' }, + { filter: ['a', 'b', 0, 2], arrayFormat: 'brackets' } + ), + 'a%5Bb%5D%5B%5D=1&a%5Bb%5D%5B%5D=3', + 'brackets => brackets' + ); + st.equal( + qs.stringify( + { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' }, + { filter: ['a', 'b', 0, 2] } + ), + 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3', + 'default => indices' + ); + + st.end(); + }); + + t.test('supports custom representations when filter=function', function (st) { + var calls = 0; + var obj = { a: 'b', c: 'd', e: { f: new Date(1257894000000) } }; + var filterFunc = function (prefix, value) { + calls += 1; + if (calls === 1) { + st.equal(prefix, '', 'prefix is empty'); + st.equal(value, obj); + } else if (prefix === 'c') { + return void 0; + } else if (value instanceof Date) { + st.equal(prefix, 'e[f]'); + return value.getTime(); + } + return value; + }; + + st.equal(qs.stringify(obj, { filter: filterFunc }), 'a=b&e%5Bf%5D=1257894000000'); + st.equal(calls, 5); + st.end(); + }); + + t.test('can disable uri encoding', function (st) { + st.equal(qs.stringify({ a: 'b' }, { encode: false }), 'a=b'); + st.equal(qs.stringify({ a: { b: 'c' } }, { encode: false }), 'a[b]=c'); + st.equal(qs.stringify({ a: 'b', c: null }, { strictNullHandling: true, encode: false }), 'a=b&c'); + st.end(); + }); + + t.test('can sort the keys', function (st) { + var sort = function (a, b) { + return a.localeCompare(b); + }; + st.equal(qs.stringify({ a: 'c', z: 'y', b: 'f' }, { sort: sort }), 'a=c&b=f&z=y'); + st.equal(qs.stringify({ a: 'c', z: { j: 'a', i: 'b' }, b: 'f' }, { sort: sort }), 'a=c&b=f&z%5Bi%5D=b&z%5Bj%5D=a'); + st.end(); + }); + + t.test('can sort the keys at depth 3 or more too', function (st) { + var sort = function (a, b) { + return a.localeCompare(b); + }; + st.equal( + qs.stringify( + { a: 'a', z: { zj: { zjb: 'zjb', zja: 'zja' }, zi: { zib: 'zib', zia: 'zia' } }, b: 'b' }, + { sort: sort, encode: false } + ), + 'a=a&b=b&z[zi][zia]=zia&z[zi][zib]=zib&z[zj][zja]=zja&z[zj][zjb]=zjb' + ); + st.equal( + qs.stringify( + { a: 'a', z: { zj: { zjb: 'zjb', zja: 'zja' }, zi: { zib: 'zib', zia: 'zia' } }, b: 'b' }, + { sort: null, encode: false } + ), + 'a=a&z[zj][zjb]=zjb&z[zj][zja]=zja&z[zi][zib]=zib&z[zi][zia]=zia&b=b' + ); + st.end(); + }); + + t.test('can stringify with custom encoding', function (st) { + st.equal(qs.stringify({ 県: '大阪府', '': '' }, { + encoder: function (str) { + if (str.length === 0) { + return ''; + } + var buf = iconv.encode(str, 'shiftjis'); + var result = []; + for (var i = 0; i < buf.length; ++i) { + result.push(buf.readUInt8(i).toString(16)); + } + return '%' + result.join('%'); + } + }), '%8c%a7=%91%e5%8d%e3%95%7b&='); + st.end(); + }); + + t.test('receives the default encoder as a second argument', function (st) { + st.plan(2); + qs.stringify({ a: 1 }, { + encoder: function (str, defaultEncoder) { + st.equal(defaultEncoder, utils.encode); + } + }); + st.end(); + }); + + t.test('throws error with wrong encoder', function (st) { + st['throws'](function () { + qs.stringify({}, { encoder: 'string' }); + }, new TypeError('Encoder has to be a function.')); + st.end(); + }); + + t.test('can use custom encoder for a buffer object', { skip: typeof Buffer === 'undefined' }, function (st) { + st.equal(qs.stringify({ a: new Buffer([1]) }, { + encoder: function (buffer) { + if (typeof buffer === 'string') { + return buffer; + } + return String.fromCharCode(buffer.readUInt8(0) + 97); + } + }), 'a=b'); + st.end(); + }); + + t.test('serializeDate option', function (st) { + var date = new Date(); + st.equal( + qs.stringify({ a: date }), + 'a=' + date.toISOString().replace(/:/g, '%3A'), + 'default is toISOString' + ); + + var mutatedDate = new Date(); + mutatedDate.toISOString = function () { + throw new SyntaxError(); + }; + st['throws'](function () { + mutatedDate.toISOString(); + }, SyntaxError); + st.equal( + qs.stringify({ a: mutatedDate }), + 'a=' + Date.prototype.toISOString.call(mutatedDate).replace(/:/g, '%3A'), + 'toISOString works even when method is not locally present' + ); + + var specificDate = new Date(6); + st.equal( + qs.stringify( + { a: specificDate }, + { serializeDate: function (d) { return d.getTime() * 7; } } + ), + 'a=42', + 'custom serializeDate function called' + ); + + st.end(); + }); + + t.test('RFC 1738 spaces serialization', function (st) { + st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC1738 }), 'a=b+c'); + st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC1738 }), 'a+b=c+d'); + st.end(); + }); + + t.test('RFC 3986 spaces serialization', function (st) { + st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC3986 }), 'a=b%20c'); + st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC3986 }), 'a%20b=c%20d'); + st.end(); + }); + + t.test('Backward compatibility to RFC 3986', function (st) { + st.equal(qs.stringify({ a: 'b c' }), 'a=b%20c'); + st.end(); + }); + + t.test('Edge cases and unknown formats', function (st) { + ['UFO1234', false, 1234, null, {}, []].forEach( + function (format) { + st['throws']( + function () { + qs.stringify({ a: 'b c' }, { format: format }); + }, + new TypeError('Unknown format option provided.') + ); + } + ); + st.end(); + }); + + t.test('encodeValuesOnly', function (st) { + st.equal( + qs.stringify( + { a: 'b', c: ['d', 'e=f'], f: [['g'], ['h']] }, + { encodeValuesOnly: true } + ), + 'a=b&c[0]=d&c[1]=e%3Df&f[0][0]=g&f[1][0]=h' + ); + st.equal( + qs.stringify( + { a: 'b', c: ['d', 'e'], f: [['g'], ['h']] } + ), + 'a=b&c%5B0%5D=d&c%5B1%5D=e&f%5B0%5D%5B0%5D=g&f%5B1%5D%5B0%5D=h' + ); + st.end(); + }); + + t.test('encodeValuesOnly - strictNullHandling', function (st) { + st.equal( + qs.stringify( + { a: { b: null } }, + { encodeValuesOnly: true, strictNullHandling: true } + ), + 'a[b]' + ); + st.end(); + }); + + t.test('does not mutate the options argument', function (st) { + var options = {}; + qs.stringify({}, options); + st.deepEqual(options, {}); + st.end(); + }); + + t.end(); +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/utils.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/utils.js new file mode 100755 index 0000000..eff4011 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/qs/test/utils.js @@ -0,0 +1,34 @@ +'use strict'; + +var test = require('tape'); +var utils = require('../lib/utils'); + +test('merge()', function (t) { + t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key'); + + var oneMerged = utils.merge({ foo: 'bar' }, { foo: { first: '123' } }); + t.deepEqual(oneMerged, { foo: ['bar', { first: '123' }] }, 'merges a standalone and an object into an array'); + + var twoMerged = utils.merge({ foo: ['bar', { first: '123' }] }, { foo: { second: '456' } }); + t.deepEqual(twoMerged, { foo: { 0: 'bar', 1: { first: '123' }, second: '456' } }, 'merges a standalone and two objects into an array'); + + var sandwiched = utils.merge({ foo: ['bar', { first: '123', second: '456' }] }, { foo: 'baz' }); + t.deepEqual(sandwiched, { foo: ['bar', { first: '123', second: '456' }, 'baz'] }, 'merges an object sandwiched by two standalones into an array'); + + var nestedArrays = utils.merge({ foo: ['baz'] }, { foo: ['bar', 'xyzzy'] }); + t.deepEqual(nestedArrays, { foo: ['baz', 'bar', 'xyzzy'] }); + + t.end(); +}); + +test('assign()', function (t) { + var target = { a: 1, b: 2 }; + var source = { b: 3, c: 4 }; + var result = utils.assign(target, source); + + t.equal(result, target, 'returns the target'); + t.deepEqual(target, { a: 1, b: 3, c: 4 }, 'target and source are merged'); + t.deepEqual(source, { b: 3, c: 4 }, 'source is untouched'); + + t.end(); +}); diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/HISTORY.md new file mode 100755 index 0000000..5e01eef --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/HISTORY.md @@ -0,0 +1,51 @@ +1.2.0 / 2016-06-01 +================== + + * Add `combine` option to combine overlapping ranges + +1.1.0 / 2016-05-13 +================== + + * Fix incorrectly returning -1 when there is at least one valid range + * perf: remove internal function + +1.0.3 / 2015-10-29 +================== + + * perf: enable strict mode + +1.0.2 / 2014-09-08 +================== + + * Support Node.js 0.6 + +1.0.1 / 2014-09-07 +================== + + * Move repository to jshttp + +1.0.0 / 2013-12-11 +================== + + * Add repository to package.json + * Add MIT license + +0.0.4 / 2012-06-17 +================== + + * Change ret -1 for unsatisfiable and -2 when invalid + +0.0.3 / 2012-06-17 +================== + + * Fix last-byte-pos default to len - 1 + +0.0.2 / 2012-06-14 +================== + + * Add `.type` + +0.0.1 / 2012-06-11 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/LICENSE new file mode 100755 index 0000000..3599954 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk <tj@vision-media.ca> +Copyright (c) 2015-2016 Douglas Christopher Wilson <doug@somethingdoug.com + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/README.md new file mode 100755 index 0000000..1b24375 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/README.md @@ -0,0 +1,75 @@ +# range-parser + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Range header field parser. + +## Installation + +``` +$ npm install range-parser +``` + +## API + +```js +var parseRange = require('range-parser') +``` + +### parseRange(size, header, options) + +Parse the given `header` string where `size` is the maximum size of the resource. +An array of ranges will be returned or negative numbers indicating an error parsing. + + * `-2` signals a malformed header string + * `-1` signals an unsatisfiable range + +```js +// parse header from request +var range = parseRange(size, req.headers.range) + +// the type of the range +if (range.type === 'bytes') { + // the ranges + range.forEach(function (r) { + // do something with r.start and r.end + }) +} +``` + +#### Options + +These properties are accepted in the options object. + +##### combine + +Specifies if overlapping & adjacent ranges should be combined, defaults to `false`. +When `true`, ranges will be combined and returned as if they were specified that +way in the header. + +```js +parseRange(100, 'bytes=50-55,0-10,5-10,56-60', { combine: true }) +// => [ +// { start: 0, end: 10 }, +// { start: 50, end: 60 } +// ] +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/range-parser.svg +[npm-url]: https://npmjs.org/package/range-parser +[node-version-image]: https://img.shields.io/node/v/range-parser.svg +[node-version-url]: https://nodejs.org/endownload +[travis-image]: https://img.shields.io/travis/jshttp/range-parser.svg +[travis-url]: https://travis-ci.org/jshttp/range-parser +[coveralls-image]: https://img.shields.io/coveralls/jshttp/range-parser.svg +[coveralls-url]: https://coveralls.io/r/jshttp/range-parser +[downloads-image]: https://img.shields.io/npm/dm/range-parser.svg +[downloads-url]: https://npmjs.org/package/range-parser diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/index.js new file mode 100755 index 0000000..83b2eb6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/index.js @@ -0,0 +1,158 @@ +/*! + * range-parser + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = rangeParser + +/** + * Parse "Range" header `str` relative to the given file `size`. + * + * @param {Number} size + * @param {String} str + * @param {Object} [options] + * @return {Array} + * @public + */ + +function rangeParser (size, str, options) { + var index = str.indexOf('=') + + if (index === -1) { + return -2 + } + + // split the range string + var arr = str.slice(index + 1).split(',') + var ranges = [] + + // add ranges type + ranges.type = str.slice(0, index) + + // parse all ranges + for (var i = 0; i < arr.length; i++) { + var range = arr[i].split('-') + var start = parseInt(range[0], 10) + var end = parseInt(range[1], 10) + + // -nnn + if (isNaN(start)) { + start = size - end + end = size - 1 + // nnn- + } else if (isNaN(end)) { + end = size - 1 + } + + // limit last-byte-pos to current length + if (end > size - 1) { + end = size - 1 + } + + // invalid or unsatisifiable + if (isNaN(start) || isNaN(end) || start > end || start < 0) { + continue + } + + // add range + ranges.push({ + start: start, + end: end + }) + } + + if (ranges.length < 1) { + // unsatisifiable + return -1 + } + + return options && options.combine + ? combineRanges(ranges) + : ranges +} + +/** + * Combine overlapping & adjacent ranges. + * @private + */ + +function combineRanges (ranges) { + var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart) + + for (var j = 0, i = 1; i < ordered.length; i++) { + var range = ordered[i] + var current = ordered[j] + + if (range.start > current.end + 1) { + // next range + ordered[++j] = range + } else if (range.end > current.end) { + // extend range + current.end = range.end + current.index = Math.min(current.index, range.index) + } + } + + // trim ordered array + ordered.length = j + 1 + + // generate combined range + var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex) + + // copy ranges type + combined.type = ranges.type + + return combined +} + +/** + * Map function to add index value to ranges. + * @private + */ + +function mapWithIndex (range, index) { + return { + start: range.start, + end: range.end, + index: index + } +} + +/** + * Map function to remove index value from ranges. + * @private + */ + +function mapWithoutIndex (range) { + return { + start: range.start, + end: range.end + } +} + +/** + * Sort function to sort ranges by index. + * @private + */ + +function sortByRangeIndex (a, b) { + return a.index - b.index +} + +/** + * Sort function to sort ranges by start position. + * @private + */ + +function sortByRangeStart (a, b) { + return a.start - b.start +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/package.json new file mode 100755 index 0000000..b52364c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/range-parser/package.json @@ -0,0 +1,134 @@ +{ + "_args": [ + [ + { + "raw": "range-parser@~1.2.0", + "scope": null, + "escapedName": "range-parser", + "name": "range-parser", + "rawSpec": "~1.2.0", + "spec": ">=1.2.0 <1.3.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "range-parser@>=1.2.0 <1.3.0", + "_id": "range-parser@1.2.0", + "_inCache": true, + "_location": "/range-parser", + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/range-parser-1.2.0.tgz_1464803293097_0.6830497414339334" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "range-parser@~1.2.0", + "scope": null, + "escapedName": "range-parser", + "name": "range-parser", + "rawSpec": "~1.2.0", + "spec": ">=1.2.0 <1.3.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/send" + ], + "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "_shasum": "f49be6b487894ddc40dcc94a322f611092e00d5e", + "_shrinkwrap": null, + "_spec": "range-parser@~1.2.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca", + "url": "http://tjholowaychuk.com" + }, + "bugs": { + "url": "https://github.com/jshttp/range-parser/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "James Wyatt Cready", + "email": "wyatt.cready@lanetix.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": {}, + "description": "Range header field string parser", + "devDependencies": { + "eslint": "2.11.1", + "eslint-config-standard": "5.3.1", + "eslint-plugin-promise": "1.1.0", + "eslint-plugin-standard": "1.3.2", + "istanbul": "0.4.3", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "f49be6b487894ddc40dcc94a322f611092e00d5e", + "tarball": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "gitHead": "0665aca31639d799dee1d35fb10970799559ec48", + "homepage": "https://github.com/jshttp/range-parser", + "keywords": [ + "range", + "parser", + "http" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jonathanong", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "name": "range-parser", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/range-parser.git" + }, + "scripts": { + "lint": "eslint **/*.js", + "test": "mocha --reporter spec", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" + }, + "version": "1.2.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/HISTORY.md new file mode 100755 index 0000000..9f1961f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/HISTORY.md @@ -0,0 +1,247 @@ +2.3.2 / 2017-09-09 +================== + + * deps: iconv-lite@0.4.19 + - Fix ISO-8859-1regression + - Update Windows-1255 + +2.3.1 / 2017-09-07 +================== + + * deps: bytes@3.0.0 + * deps: http-errors@1.6.2 + - deps: depd@1.1.1 + * perf: skip buffer decoding on overage chunk + +2.3.0 / 2017-08-04 +================== + + * Add TypeScript definitions + * Use `http-errors` for standard emitted errors + * deps: bytes@2.5.0 + * deps: iconv-lite@0.4.18 + - Add support for React Native + - Add a warning if not loaded as utf-8 + - Fix CESU-8 decoding in Node.js 8 + - Improve speed of ISO-8859-1 encoding + +2.2.0 / 2017-01-02 +================== + + * deps: iconv-lite@0.4.15 + - Added encoding MS-31J + - Added encoding MS-932 + - Added encoding MS-936 + - Added encoding MS-949 + - Added encoding MS-950 + - Fix GBK/GB18030 handling of Euro character + +2.1.7 / 2016-06-19 +================== + + * deps: bytes@2.4.0 + * perf: remove double-cleanup on happy path + +2.1.6 / 2016-03-07 +================== + + * deps: bytes@2.3.0 + - Drop partial bytes on all parsed units + - Fix parsing byte string that looks like hex + +2.1.5 / 2015-11-30 +================== + + * deps: bytes@2.2.0 + * deps: iconv-lite@0.4.13 + +2.1.4 / 2015-09-27 +================== + + * Fix masking critical errors from `iconv-lite` + * deps: iconv-lite@0.4.12 + - Fix CESU-8 decoding in Node.js 4.x + +2.1.3 / 2015-09-12 +================== + + * Fix sync callback when attaching data listener causes sync read + - Node.js 0.10 compatibility issue + +2.1.2 / 2015-07-05 +================== + + * Fix error stack traces to skip `makeError` + * deps: iconv-lite@0.4.11 + - Add encoding CESU-8 + +2.1.1 / 2015-06-14 +================== + + * Use `unpipe` module for unpiping requests + +2.1.0 / 2015-05-28 +================== + + * deps: iconv-lite@0.4.10 + - Improved UTF-16 endianness detection + - Leading BOM is now removed when decoding + - The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails + +2.0.2 / 2015-05-21 +================== + + * deps: bytes@2.1.0 + - Slight optimizations + +2.0.1 / 2015-05-10 +================== + + * Fix a false-positive when unpiping in Node.js 0.8 + +2.0.0 / 2015-05-08 +================== + + * Return a promise without callback instead of thunk + * deps: bytes@2.0.1 + - units no longer case sensitive when parsing + +1.3.4 / 2015-04-15 +================== + + * Fix hanging callback if request aborts during read + * deps: iconv-lite@0.4.8 + - Add encoding alias UNICODE-1-1-UTF-7 + +1.3.3 / 2015-02-08 +================== + + * deps: iconv-lite@0.4.7 + - Gracefully support enumerables on `Object.prototype` + +1.3.2 / 2015-01-20 +================== + + * deps: iconv-lite@0.4.6 + - Fix rare aliases of single-byte encodings + +1.3.1 / 2014-11-21 +================== + + * deps: iconv-lite@0.4.5 + - Fix Windows-31J and X-SJIS encoding support + +1.3.0 / 2014-07-20 +================== + + * Fully unpipe the stream on error + - Fixes `Cannot switch to old mode now` error on Node.js 0.10+ + +1.2.3 / 2014-07-20 +================== + + * deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + +1.2.2 / 2014-06-19 +================== + + * Send invalid encoding error to callback + +1.2.1 / 2014-06-15 +================== + + * deps: iconv-lite@0.4.3 + - Added encodings UTF-16BE and UTF-16 with BOM + +1.2.0 / 2014-06-13 +================== + + * Passing string as `options` interpreted as encoding + * Support all encodings from `iconv-lite` + +1.1.7 / 2014-06-12 +================== + + * use `string_decoder` module from npm + +1.1.6 / 2014-05-27 +================== + + * check encoding for old streams1 + * support node.js < 0.10.6 + +1.1.5 / 2014-05-14 +================== + + * bump bytes + +1.1.4 / 2014-04-19 +================== + + * allow true as an option + * bump bytes + +1.1.3 / 2014-03-02 +================== + + * fix case when length=null + +1.1.2 / 2013-12-01 +================== + + * be less strict on state.encoding check + +1.1.1 / 2013-11-27 +================== + + * add engines + +1.1.0 / 2013-11-27 +================== + + * add err.statusCode and err.type + * allow for encoding option to be true + * pause the stream instead of dumping on error + * throw if the stream's encoding is set + +1.0.1 / 2013-11-19 +================== + + * dont support streams1, throw if dev set encoding + +1.0.0 / 2013-11-17 +================== + + * rename `expected` option to `length` + +0.2.0 / 2013-11-15 +================== + + * republish + +0.1.1 / 2013-11-15 +================== + + * use bytes + +0.1.0 / 2013-11-11 +================== + + * generator support + +0.0.3 / 2013-10-10 +================== + + * update repo + +0.0.2 / 2013-09-14 +================== + + * dump stream on bad headers + * listen to events after defining received and buffers + +0.0.1 / 2013-09-14 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/LICENSE new file mode 100755 index 0000000..d695c8f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2013-2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/README.md new file mode 100755 index 0000000..c4db8a6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/README.md @@ -0,0 +1,219 @@ +# raw-body + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] + +Gets the entire buffer of a stream either as a `Buffer` or a string. +Validates the stream's length against an expected length and maximum limit. +Ideal for parsing request bodies. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install raw-body +``` + +### TypeScript + +This module includes a [TypeScript](https://www.typescriptlang.org/) +declarition file to enable auto complete in compatible editors and type +information for TypeScript projects. This module depends on the Node.js +types, so install `@types/node`: + +```sh +$ npm install @types/node +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var getRawBody = require('raw-body') +``` + +### getRawBody(stream, [options], [callback]) + +**Returns a promise if no callback specified and global `Promise` exists.** + +Options: + +- `length` - The length of the stream. + If the contents of the stream do not add up to this length, + an `400` error code is returned. +- `limit` - The byte limit of the body. + This is the number of bytes or any string format supported by + [bytes](https://www.npmjs.com/package/bytes), + for example `1000`, `'500kb'` or `'3mb'`. + If the body ends up being larger than this limit, + a `413` error code is returned. +- `encoding` - The encoding to use to decode the body into a string. + By default, a `Buffer` instance will be returned when no encoding is specified. + Most likely, you want `utf-8`, so setting `encoding` to `true` will decode as `utf-8`. + You can use any type of encoding supported by [iconv-lite](https://www.npmjs.org/package/iconv-lite#readme). + +You can also pass a string in place of options to just specify the encoding. + +If an error occurs, the stream will be paused, everything unpiped, +and you are responsible for correctly disposing the stream. +For HTTP requests, no handling is required if you send a response. +For streams that use file descriptors, you should `stream.destroy()` or `stream.close()` to prevent leaks. + +## Errors + +This module creates errors depending on the error condition during reading. +The error may be an error from the underlying Node.js implementation, but is +otherwise an error created by this module, which has the following attributes: + + * `limit` - the limit in bytes + * `length` and `expected` - the expected length of the stream + * `received` - the received bytes + * `encoding` - the invalid encoding + * `status` and `statusCode` - the corresponding status code for the error + * `type` - the error type + +### Types + +The errors from this module have a `type` property which allows for the progamatic +determination of the type of error returned. + +#### encoding.unsupported + +This error will occur when the `encoding` option is specified, but the value does +not map to an encoding supported by the [iconv-lite](https://www.npmjs.org/package/iconv-lite#readme) +module. + +#### entity.too.large + +This error will occur when the `limit` option is specified, but the stream has +an entity that is larger. + +#### request.aborted + +This error will occur when the request stream is aborted by the client before +reading the body has finished. + +#### request.size.invalid + +This error will occur when the `length` option is specified, but the stream has +emitted more bytes. + +#### stream.encoding.set + +This error will occur when the given stream has an encoding set on it, making it +a decoded stream. The stream should not have an encoding set and is expected to +emit `Buffer` objects. + +## Examples + +### Simple Express example + +```js +var contentType = require('content-type') +var express = require('express') +var getRawBody = require('raw-body') + +var app = express() + +app.use(function (req, res, next) { + getRawBody(req, { + length: req.headers['content-length'], + limit: '1mb', + encoding: contentType.parse(req).parameters.charset + }, function (err, string) { + if (err) return next(err) + req.text = string + next() + }) +}) + +// now access req.text +``` + +### Simple Koa example + +```js +var contentType = require('content-type') +var getRawBody = require('raw-body') +var koa = require('koa') + +var app = koa() + +app.use(function * (next) { + this.text = yield getRawBody(this.req, { + length: this.req.headers['content-length'], + limit: '1mb', + encoding: contentType.parse(this.req).parameters.charset + }) + yield next +}) + +// now access this.text +``` + +### Using as a promise + +To use this library as a promise, simply omit the `callback` and a promise is +returned, provided that a global `Promise` is defined. + +```js +var getRawBody = require('raw-body') +var http = require('http') + +var server = http.createServer(function (req, res) { + getRawBody(req) + .then(function (buf) { + res.statusCode = 200 + res.end(buf.length + ' bytes submitted') + }) + .catch(function (err) { + res.statusCode = 500 + res.end(err.message) + }) +}) + +server.listen(3000) +``` + +### Using with TypeScript + +```ts +import * as getRawBody from 'raw-body'; +import * as http from 'http'; + +const server = http.createServer((req, res) => { + getRawBody(req) + .then((buf) => { + res.statusCode = 200; + res.end(buf.length + ' bytes submitted'); + }) + .catch((err) => { + res.statusCode = err.statusCode; + res.end(err.message); + }); +}); + +server.listen(3000); +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/raw-body.svg +[npm-url]: https://npmjs.org/package/raw-body +[node-version-image]: https://img.shields.io/node/v/raw-body.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/stream-utils/raw-body/master.svg +[travis-url]: https://travis-ci.org/stream-utils/raw-body +[coveralls-image]: https://img.shields.io/coveralls/stream-utils/raw-body/master.svg +[coveralls-url]: https://coveralls.io/r/stream-utils/raw-body?branch=master +[downloads-image]: https://img.shields.io/npm/dm/raw-body.svg +[downloads-url]: https://npmjs.org/package/raw-body diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.d.ts b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.d.ts new file mode 100755 index 0000000..dcbbebd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.d.ts @@ -0,0 +1,87 @@ +import { Readable } from 'stream'; + +declare namespace getRawBody { + export type Encoding = string | true; + + export interface Options { + /** + * The expected length of the stream. + */ + length?: number | string | null; + /** + * The byte limit of the body. This is the number of bytes or any string + * format supported by `bytes`, for example `1000`, `'500kb'` or `'3mb'`. + */ + limit?: number | string | null; + /** + * The encoding to use to decode the body into a string. By default, a + * `Buffer` instance will be returned when no encoding is specified. Most + * likely, you want `utf-8`, so setting encoding to `true` will decode as + * `utf-8`. You can use any type of encoding supported by `iconv-lite`. + */ + encoding?: Encoding | null; + } + + export interface RawBodyError extends Error { + /** + * The limit in bytes. + */ + limit?: number; + /** + * The expected length of the stream. + */ + length?: number; + expected?: number; + /** + * The received bytes. + */ + received?: number; + /** + * The encoding. + */ + encoding?: string; + /** + * The corresponding status code for the error. + */ + status: number; + statusCode: number; + /** + * The error type. + */ + type: string; + } +} + +/** + * Gets the entire buffer of a stream either as a `Buffer` or a string. + * Validates the stream's length against an expected length and maximum + * limit. Ideal for parsing request bodies. + */ +declare function getRawBody( + stream: Readable, + callback: (err: getRawBody.RawBodyError, body: Buffer) => void +): void; + +declare function getRawBody( + stream: Readable, + options: (getRawBody.Options & { encoding: getRawBody.Encoding }) | getRawBody.Encoding, + callback: (err: getRawBody.RawBodyError, body: string) => void +): void; + +declare function getRawBody( + stream: Readable, + options: getRawBody.Options, + callback: (err: getRawBody.RawBodyError, body: Buffer) => void +): void; + +declare function getRawBody( + stream: Readable, + options: (getRawBody.Options & { encoding: getRawBody.Encoding }) | getRawBody.Encoding +): Promise<string>; + +declare function getRawBody( + stream: Readable, + options?: getRawBody.Options +): Promise<Buffer>; + +export = getRawBody; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.js new file mode 100755 index 0000000..7fe8186 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/index.js @@ -0,0 +1,286 @@ +/*! + * raw-body + * Copyright(c) 2013-2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var bytes = require('bytes') +var createError = require('http-errors') +var iconv = require('iconv-lite') +var unpipe = require('unpipe') + +/** + * Module exports. + * @public + */ + +module.exports = getRawBody + +/** + * Module variables. + * @private + */ + +var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: / + +/** + * Get the decoder for a given encoding. + * + * @param {string} encoding + * @private + */ + +function getDecoder (encoding) { + if (!encoding) return null + + try { + return iconv.getDecoder(encoding) + } catch (e) { + // error getting decoder + if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) throw e + + // the encoding was not found + throw createError(415, 'specified encoding unsupported', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } +} + +/** + * Get the raw body of a stream (typically HTTP). + * + * @param {object} stream + * @param {object|string|function} [options] + * @param {function} [callback] + * @public + */ + +function getRawBody (stream, options, callback) { + var done = callback + var opts = options || {} + + if (options === true || typeof options === 'string') { + // short cut for encoding + opts = { + encoding: options + } + } + + if (typeof options === 'function') { + done = options + opts = {} + } + + // validate callback is a function, if provided + if (done !== undefined && typeof done !== 'function') { + throw new TypeError('argument callback must be a function') + } + + // require the callback without promises + if (!done && !global.Promise) { + throw new TypeError('argument callback is required') + } + + // get encoding + var encoding = opts.encoding !== true + ? opts.encoding + : 'utf-8' + + // convert the limit to an integer + var limit = bytes.parse(opts.limit) + + // convert the expected length to an integer + var length = opts.length != null && !isNaN(opts.length) + ? parseInt(opts.length, 10) + : null + + if (done) { + // classic callback style + return readStream(stream, encoding, length, limit, done) + } + + return new Promise(function executor (resolve, reject) { + readStream(stream, encoding, length, limit, function onRead (err, buf) { + if (err) return reject(err) + resolve(buf) + }) + }) +} + +/** + * Halt a stream. + * + * @param {Object} stream + * @private + */ + +function halt (stream) { + // unpipe everything from the stream + unpipe(stream) + + // pause stream + if (typeof stream.pause === 'function') { + stream.pause() + } +} + +/** + * Read the data from the stream. + * + * @param {object} stream + * @param {string} encoding + * @param {number} length + * @param {number} limit + * @param {function} callback + * @public + */ + +function readStream (stream, encoding, length, limit, callback) { + var complete = false + var sync = true + + // check the length and limit options. + // note: we intentionally leave the stream paused, + // so users should handle the stream themselves. + if (limit !== null && length !== null && length > limit) { + return done(createError(413, 'request entity too large', { + expected: length, + length: length, + limit: limit, + type: 'entity.too.large' + })) + } + + // streams1: assert request encoding is buffer. + // streams2+: assert the stream encoding is buffer. + // stream._decoder: streams1 + // state.encoding: streams2 + // state.decoder: streams2, specifically < 0.10.6 + var state = stream._readableState + if (stream._decoder || (state && (state.encoding || state.decoder))) { + // developer error + return done(createError(500, 'stream encoding should not be set', { + type: 'stream.encoding.set' + })) + } + + var received = 0 + var decoder + + try { + decoder = getDecoder(encoding) + } catch (err) { + return done(err) + } + + var buffer = decoder + ? '' + : [] + + // attach listeners + stream.on('aborted', onAborted) + stream.on('close', cleanup) + stream.on('data', onData) + stream.on('end', onEnd) + stream.on('error', onEnd) + + // mark sync section complete + sync = false + + function done () { + var args = new Array(arguments.length) + + // copy arguments + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + + // mark complete + complete = true + + if (sync) { + process.nextTick(invokeCallback) + } else { + invokeCallback() + } + + function invokeCallback () { + cleanup() + + if (args[0]) { + // halt the stream on error + halt(stream) + } + + callback.apply(null, args) + } + } + + function onAborted () { + if (complete) return + + done(createError(400, 'request aborted', { + code: 'ECONNABORTED', + expected: length, + length: length, + received: received, + type: 'request.aborted' + })) + } + + function onData (chunk) { + if (complete) return + + received += chunk.length + + if (limit !== null && received > limit) { + done(createError(413, 'request entity too large', { + limit: limit, + received: received, + type: 'entity.too.large' + })) + } else if (decoder) { + buffer += decoder.write(chunk) + } else { + buffer.push(chunk) + } + } + + function onEnd (err) { + if (complete) return + if (err) return done(err) + + if (length !== null && received !== length) { + done(createError(400, 'request size did not match content length', { + expected: length, + length: length, + received: received, + type: 'request.size.invalid' + })) + } else { + var string = decoder + ? buffer + (decoder.end() || '') + : Buffer.concat(buffer) + done(null, string) + } + } + + function cleanup () { + buffer = null + + stream.removeListener('aborted', onAborted) + stream.removeListener('data', onData) + stream.removeListener('end', onEnd) + stream.removeListener('error', onEnd) + stream.removeListener('close', cleanup) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/package.json new file mode 100755 index 0000000..4df8d6a --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/raw-body/package.json @@ -0,0 +1,129 @@ +{ + "_args": [ + [ + { + "raw": "raw-body@2.3.2", + "scope": null, + "escapedName": "raw-body", + "name": "raw-body", + "rawSpec": "2.3.2", + "spec": "2.3.2", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser" + ] + ], + "_from": "raw-body@2.3.2", + "_id": "raw-body@2.3.2", + "_inCache": true, + "_location": "/raw-body", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/raw-body-2.3.2.tgz_1505019564808_0.33962342143058777" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "raw-body@2.3.2", + "scope": null, + "escapedName": "raw-body", + "name": "raw-body", + "rawSpec": "2.3.2", + "spec": "2.3.2", + "type": "version" + }, + "_requiredBy": [ + "/body-parser" + ], + "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "_shasum": "bcd60c77d3eb93cde0050295c3f379389bc88f89", + "_shrinkwrap": null, + "_spec": "raw-body@2.3.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\body-parser", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/stream-utils/raw-body/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Raynos", + "email": "raynos2@gmail.com" + } + ], + "dependencies": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "description": "Get and validate the raw body of a readable stream.", + "devDependencies": { + "bluebird": "3.5.0", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "readable-stream": "2.3.3", + "safe-buffer": "5.1.1" + }, + "directories": {}, + "dist": { + "shasum": "bcd60c77d3eb93cde0050295c3f379389bc88f89", + "tarball": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.d.ts", + "index.js" + ], + "gitHead": "3093b95b4ab376dc3b28ce0e5102d2c7ab694533", + "homepage": "https://github.com/stream-utils/raw-body#readme", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "raw-body", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/stream-utils/raw-body.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --trace-deprecation --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --trace-deprecation --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --trace-deprecation --reporter spec --check-leaks test/" + }, + "version": "2.3.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/.travis.yml b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/.travis.yml new file mode 100755 index 0000000..7b20f28 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - 'node' + - '5' + - '4' + - '0.12' + - '0.10' diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/LICENSE new file mode 100755 index 0000000..0c068ce --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/README.md new file mode 100755 index 0000000..e9a81af --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/README.md @@ -0,0 +1,584 @@ +# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/safe-buffer +[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg +[npm-url]: https://npmjs.org/package/safe-buffer +[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg +[downloads-url]: https://npmjs.org/package/safe-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Safer Node.js Buffer API + +**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`, +`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.** + +**Uses the built-in implementation when available.** + +## install + +``` +npm install safe-buffer +``` + +## usage + +The goal of this package is to provide a safe replacement for the node.js `Buffer`. + +It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to +the top of your node.js modules: + +```js +var Buffer = require('safe-buffer').Buffer + +// Existing buffer code will continue to work without issues: + +new Buffer('hey', 'utf8') +new Buffer([1, 2, 3], 'utf8') +new Buffer(obj) +new Buffer(16) // create an uninitialized buffer (potentially unsafe) + +// But you can use these new explicit APIs to make clear what you want: + +Buffer.from('hey', 'utf8') // convert from many types to a Buffer +Buffer.alloc(16) // create a zero-filled buffer (safe) +Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) +``` + +## api + +### Class Method: Buffer.from(array) +<!-- YAML +added: v3.0.0 +--> + +* `array` {Array} + +Allocates a new `Buffer` using an `array` of octets. + +```js +const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); + // creates a new Buffer containing ASCII bytes + // ['b','u','f','f','e','r'] +``` + +A `TypeError` will be thrown if `array` is not an `Array`. + +### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) +<!-- YAML +added: v5.10.0 +--> + +* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or + a `new ArrayBuffer()` +* `byteOffset` {Number} Default: `0` +* `length` {Number} Default: `arrayBuffer.length - byteOffset` + +When passed a reference to the `.buffer` property of a `TypedArray` instance, +the newly created `Buffer` will share the same allocated memory as the +TypedArray. + +```js +const arr = new Uint16Array(2); +arr[0] = 5000; +arr[1] = 4000; + +const buf = Buffer.from(arr.buffer); // shares the memory with arr; + +console.log(buf); + // Prints: <Buffer 88 13 a0 0f> + +// changing the TypedArray changes the Buffer also +arr[1] = 6000; + +console.log(buf); + // Prints: <Buffer 88 13 70 17> +``` + +The optional `byteOffset` and `length` arguments specify a memory range within +the `arrayBuffer` that will be shared by the `Buffer`. + +```js +const ab = new ArrayBuffer(10); +const buf = Buffer.from(ab, 0, 2); +console.log(buf.length); + // Prints: 2 +``` + +A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. + +### Class Method: Buffer.from(buffer) +<!-- YAML +added: v3.0.0 +--> + +* `buffer` {Buffer} + +Copies the passed `buffer` data onto a new `Buffer` instance. + +```js +const buf1 = Buffer.from('buffer'); +const buf2 = Buffer.from(buf1); + +buf1[0] = 0x61; +console.log(buf1.toString()); + // 'auffer' +console.log(buf2.toString()); + // 'buffer' (copy is not changed) +``` + +A `TypeError` will be thrown if `buffer` is not a `Buffer`. + +### Class Method: Buffer.from(str[, encoding]) +<!-- YAML +added: v5.10.0 +--> + +* `str` {String} String to encode. +* `encoding` {String} Encoding to use, Default: `'utf8'` + +Creates a new `Buffer` containing the given JavaScript string `str`. If +provided, the `encoding` parameter identifies the character encoding. +If not provided, `encoding` defaults to `'utf8'`. + +```js +const buf1 = Buffer.from('this is a tést'); +console.log(buf1.toString()); + // prints: this is a tést +console.log(buf1.toString('ascii')); + // prints: this is a tC)st + +const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); +console.log(buf2.toString()); + // prints: this is a tést +``` + +A `TypeError` will be thrown if `str` is not a string. + +### Class Method: Buffer.alloc(size[, fill[, encoding]]) +<!-- YAML +added: v5.10.0 +--> + +* `size` {Number} +* `fill` {Value} Default: `undefined` +* `encoding` {String} Default: `utf8` + +Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the +`Buffer` will be *zero-filled*. + +```js +const buf = Buffer.alloc(5); +console.log(buf); + // <Buffer 00 00 00 00 00> +``` + +The `size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +If `fill` is specified, the allocated `Buffer` will be initialized by calling +`buf.fill(fill)`. See [`buf.fill()`][] for more information. + +```js +const buf = Buffer.alloc(5, 'a'); +console.log(buf); + // <Buffer 61 61 61 61 61> +``` + +If both `fill` and `encoding` are specified, the allocated `Buffer` will be +initialized by calling `buf.fill(fill, encoding)`. For example: + +```js +const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); +console.log(buf); + // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64> +``` + +Calling `Buffer.alloc(size)` can be significantly slower than the alternative +`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance +contents will *never contain sensitive data*. + +A `TypeError` will be thrown if `size` is not a number. + +### Class Method: Buffer.allocUnsafe(size) +<!-- YAML +added: v5.10.0 +--> + +* `size` {Number} + +Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must +be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit +architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is +thrown. A zero-length Buffer will be created if a `size` less than or equal to +0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +```js +const buf = Buffer.allocUnsafe(5); +console.log(buf); + // <Buffer 78 e0 82 02 01> + // (octets will be different, every time) +buf.fill(0); +console.log(buf); + // <Buffer 00 00 00 00 00> +``` + +A `TypeError` will be thrown if `size` is not a number. + +Note that the `Buffer` module pre-allocates an internal `Buffer` instance of +size `Buffer.poolSize` that is used as a pool for the fast allocation of new +`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated +`new Buffer(size)` constructor) only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default +value of `Buffer.poolSize` is `8192` but can be modified. + +Use of this pre-allocated internal memory pool is a key difference between +calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. +Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer +pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal +Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The +difference is subtle but can be important when an application requires the +additional performance that `Buffer.allocUnsafe(size)` provides. + +### Class Method: Buffer.allocUnsafeSlow(size) +<!-- YAML +added: v5.10.0 +--> + +* `size` {Number} + +Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The +`size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, +allocations under 4KB are, by default, sliced from a single pre-allocated +`Buffer`. This allows applications to avoid the garbage collection overhead of +creating many individually allocated Buffers. This approach improves both +performance and memory usage by eliminating the need to track and cleanup as +many `Persistent` objects. + +However, in the case where a developer may need to retain a small chunk of +memory from a pool for an indeterminate amount of time, it may be appropriate +to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then +copy out the relevant bits. + +```js +// need to keep around a few small chunks of memory +const store = []; + +socket.on('readable', () => { + const data = socket.read(); + // allocate for retained data + const sb = Buffer.allocUnsafeSlow(10); + // copy the data into the new allocation + data.copy(sb, 0, 0, 10); + store.push(sb); +}); +``` + +Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* +a developer has observed undue memory retention in their applications. + +A `TypeError` will be thrown if `size` is not a number. + +### All the Rest + +The rest of the `Buffer` API is exactly the same as in node.js. +[See the docs](https://nodejs.org/api/buffer.html). + + +## Related links + +- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) +- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) + +## Why is `Buffer` unsafe? + +Today, the node.js `Buffer` constructor is overloaded to handle many different argument +types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), +`ArrayBuffer`, and also `Number`. + +The API is optimized for convenience: you can throw any type at it, and it will try to do +what you want. + +Because the Buffer constructor is so powerful, you often see code like this: + +```js +// Convert UTF-8 strings to hex +function toHex (str) { + return new Buffer(str).toString('hex') +} +``` + +***But what happens if `toHex` is called with a `Number` argument?*** + +### Remote Memory Disclosure + +If an attacker can make your program call the `Buffer` constructor with a `Number` +argument, then they can make it allocate uninitialized memory from the node.js process. +This could potentially disclose TLS private keys, user data, or database passwords. + +When the `Buffer` constructor is passed a `Number` argument, it returns an +**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like +this, you **MUST** overwrite the contents before returning it to the user. + +From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): + +> `new Buffer(size)` +> +> - `size` Number +> +> The underlying memory for `Buffer` instances created in this way is not initialized. +> **The contents of a newly created `Buffer` are unknown and could contain sensitive +> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. + +(Emphasis our own.) + +Whenever the programmer intended to create an uninitialized `Buffer` you often see code +like this: + +```js +var buf = new Buffer(16) + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### Would this ever be a problem in real code? + +Yes. It's surprisingly common to forget to check the type of your variables in a +dynamically-typed language like JavaScript. + +Usually the consequences of assuming the wrong type is that your program crashes with an +uncaught exception. But the failure mode for forgetting to check the type of arguments to +the `Buffer` constructor is more catastrophic. + +Here's an example of a vulnerable service that takes a JSON payload and converts it to +hex: + +```js +// Take a JSON payload {str: "some string"} and convert it to hex +var server = http.createServer(function (req, res) { + var data = '' + req.setEncoding('utf8') + req.on('data', function (chunk) { + data += chunk + }) + req.on('end', function () { + var body = JSON.parse(data) + res.end(new Buffer(body.str).toString('hex')) + }) +}) + +server.listen(8080) +``` + +In this example, an http client just has to send: + +```json +{ + "str": 1000 +} +``` + +and it will get back 1,000 bytes of uninitialized memory from the server. + +This is a very serious bug. It's similar in severity to the +[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process +memory by remote attackers. + + +### Which real-world packages were vulnerable? + +#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) + +[Mathias Buus](https://github.com/mafintosh) and I +([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, +[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow +anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get +them to reveal 20 bytes at a time of uninitialized memory from the node.js process. + +Here's +[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) +that fixed it. We released a new fixed version, created a +[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all +vulnerable versions on npm so users will get a warning to upgrade to a newer version. + +#### [`ws`](https://www.npmjs.com/package/ws) + +That got us wondering if there were other vulnerable packages. Sure enough, within a short +period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the +most popular WebSocket implementation in node.js. + +If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as +expected, then uninitialized server memory would be disclosed to the remote peer. + +These were the vulnerable methods: + +```js +socket.send(number) +socket.ping(number) +socket.pong(number) +``` + +Here's a vulnerable socket server with some echo functionality: + +```js +server.on('connection', function (socket) { + socket.on('message', function (message) { + message = JSON.parse(message) + if (message.type === 'echo') { + socket.send(message.data) // send back the user's message + } + }) +}) +``` + +`socket.send(number)` called on the server, will disclose server memory. + +Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue +was fixed, with a more detailed explanation. Props to +[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the +[Node Security Project disclosure](https://nodesecurity.io/advisories/67). + + +### What's the solution? + +It's important that node.js offers a fast way to get memory otherwise performance-critical +applications would needlessly get a lot slower. + +But we need a better way to *signal our intent* as programmers. **When we want +uninitialized memory, we should request it explicitly.** + +Sensitive functionality should not be packed into a developer-friendly API that loosely +accepts many different types. This type of API encourages the lazy practice of passing +variables in without checking the type very carefully. + +#### A new API: `Buffer.allocUnsafe(number)` + +The functionality of creating buffers with uninitialized memory should be part of another +API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that +frequently gets user input of all sorts of different types passed into it. + +```js +var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### How do we fix node.js core? + +We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as +`semver-major`) which defends against one case: + +```js +var str = 16 +new Buffer(str, 'utf8') +``` + +In this situation, it's implied that the programmer intended the first argument to be a +string, since they passed an encoding as a second argument. Today, node.js will allocate +uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not +what the programmer intended. + +But this is only a partial solution, since if the programmer does `new Buffer(variable)` +(without an `encoding` parameter) there's no way to know what they intended. If `variable` +is sometimes a number, then uninitialized memory will sometimes be returned. + +### What's the real long-term fix? + +We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when +we need uninitialized memory. But that would break 1000s of packages. + +~~We believe the best solution is to:~~ + +~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ + +~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ + +#### Update + +We now support adding three new APIs: + +- `Buffer.from(value)` - convert from any type to a buffer +- `Buffer.alloc(size)` - create a zero-filled buffer +- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size + +This solves the core problem that affected `ws` and `bittorrent-dht` which is +`Buffer(variable)` getting tricked into taking a number argument. + +This way, existing code continues working and the impact on the npm ecosystem will be +minimal. Over time, npm maintainers can migrate performance-critical code to use +`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. + + +### Conclusion + +We think there's a serious design issue with the `Buffer` API as it exists today. It +promotes insecure software by putting high-risk functionality into a convenient API +with friendly "developer ergonomics". + +This wasn't merely a theoretical exercise because we found the issue in some of the +most popular npm packages. + +Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of +`buffer`. + +```js +var Buffer = require('safe-buffer').Buffer +``` + +Eventually, we hope that node.js core can switch to this new, safer behavior. We believe +the impact on the ecosystem would be minimal since it's not a breaking change. +Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while +older, insecure packages would magically become safe from this attack vector. + + +## links + +- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) +- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) +- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) + + +## credit + +The original issues in `bittorrent-dht` +([disclosure](https://nodesecurity.io/advisories/68)) and +`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by +[Mathias Buus](https://github.com/mafintosh) and +[Feross Aboukhadijeh](http://feross.org/). + +Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues +and for his work running the [Node Security Project](https://nodesecurity.io/). + +Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and +auditing the code. + + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/index.js new file mode 100755 index 0000000..22438da --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/index.js @@ -0,0 +1,62 @@ +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer') +var Buffer = buffer.Buffer + +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer +} + +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) +} + +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) + +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf +} + +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) +} + +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/package.json new file mode 100755 index 0000000..102d84e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/package.json @@ -0,0 +1,103 @@ +{ + "_args": [ + [ + { + "raw": "safe-buffer@5.1.1", + "scope": null, + "escapedName": "safe-buffer", + "name": "safe-buffer", + "rawSpec": "5.1.1", + "spec": "5.1.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "safe-buffer@5.1.1", + "_id": "safe-buffer@5.1.1", + "_inCache": true, + "_location": "/safe-buffer", + "_nodeVersion": "8.1.2", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/safe-buffer-5.1.1.tgz_1498076368476_0.22441886644810438" + }, + "_npmUser": { + "name": "feross", + "email": "feross@feross.org" + }, + "_npmVersion": "5.0.3", + "_phantomChildren": {}, + "_requested": { + "raw": "safe-buffer@5.1.1", + "scope": null, + "escapedName": "safe-buffer", + "name": "safe-buffer", + "rawSpec": "5.1.1", + "spec": "5.1.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "_shasum": "893312af69b2123def71f57889001671eeb2c853", + "_shrinkwrap": null, + "_spec": "safe-buffer@5.1.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "http://feross.org" + }, + "bugs": { + "url": "https://github.com/feross/safe-buffer/issues" + }, + "dependencies": {}, + "description": "Safer Node.js Buffer API", + "devDependencies": { + "standard": "*", + "tape": "^4.0.0", + "zuul": "^3.0.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "shasum": "893312af69b2123def71f57889001671eeb2c853", + "tarball": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + }, + "gitHead": "5261e0c19dd820c31dd21cb4116902b0ed0f9e57", + "homepage": "https://github.com/feross/safe-buffer", + "keywords": [ + "buffer", + "buffer allocate", + "node security", + "safe", + "safe-buffer", + "security", + "uninitialized" + ], + "license": "MIT", + "main": "index.js", + "maintainers": [ + { + "name": "feross", + "email": "feross@feross.org" + }, + { + "name": "mafintosh", + "email": "mathiasbuus@gmail.com" + } + ], + "name": "safe-buffer", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/feross/safe-buffer.git" + }, + "scripts": { + "test": "standard && tape test.js" + }, + "version": "5.1.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/test.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/test.js new file mode 100755 index 0000000..4925059 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/safe-buffer/test.js @@ -0,0 +1,101 @@ +/* eslint-disable node/no-deprecated-api */ + +var test = require('tape') +var SafeBuffer = require('./').Buffer + +test('new SafeBuffer(value) works just like Buffer', function (t) { + t.deepEqual(new SafeBuffer('hey'), new Buffer('hey')) + t.deepEqual(new SafeBuffer('hey', 'utf8'), new Buffer('hey', 'utf8')) + t.deepEqual(new SafeBuffer('686579', 'hex'), new Buffer('686579', 'hex')) + t.deepEqual(new SafeBuffer([1, 2, 3]), new Buffer([1, 2, 3])) + t.deepEqual(new SafeBuffer(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) + + t.equal(typeof SafeBuffer.isBuffer, 'function') + t.equal(SafeBuffer.isBuffer(new SafeBuffer('hey')), true) + t.equal(Buffer.isBuffer(new SafeBuffer('hey')), true) + t.notOk(SafeBuffer.isBuffer({})) + + t.end() +}) + +test('SafeBuffer.from(value) converts to a Buffer', function (t) { + t.deepEqual(SafeBuffer.from('hey'), new Buffer('hey')) + t.deepEqual(SafeBuffer.from('hey', 'utf8'), new Buffer('hey', 'utf8')) + t.deepEqual(SafeBuffer.from('686579', 'hex'), new Buffer('686579', 'hex')) + t.deepEqual(SafeBuffer.from([1, 2, 3]), new Buffer([1, 2, 3])) + t.deepEqual(SafeBuffer.from(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) + + t.end() +}) + +test('SafeBuffer.alloc(number) returns zeroed-out memory', function (t) { + for (var i = 0; i < 10; i++) { + var expected1 = new Buffer(1000) + expected1.fill(0) + t.deepEqual(SafeBuffer.alloc(1000), expected1) + + var expected2 = new Buffer(1000 * 1000) + expected2.fill(0) + t.deepEqual(SafeBuffer.alloc(1000 * 1000), expected2) + } + t.end() +}) + +test('SafeBuffer.allocUnsafe(number)', function (t) { + var buf = SafeBuffer.allocUnsafe(100) // unitialized memory + t.equal(buf.length, 100) + t.equal(SafeBuffer.isBuffer(buf), true) + t.equal(Buffer.isBuffer(buf), true) + t.end() +}) + +test('SafeBuffer.from() throws with number types', function (t) { + t.plan(5) + t.throws(function () { + SafeBuffer.from(0) + }) + t.throws(function () { + SafeBuffer.from(-1) + }) + t.throws(function () { + SafeBuffer.from(NaN) + }) + t.throws(function () { + SafeBuffer.from(Infinity) + }) + t.throws(function () { + SafeBuffer.from(99) + }) +}) + +test('SafeBuffer.allocUnsafe() throws with non-number types', function (t) { + t.plan(4) + t.throws(function () { + SafeBuffer.allocUnsafe('hey') + }) + t.throws(function () { + SafeBuffer.allocUnsafe('hey', 'utf8') + }) + t.throws(function () { + SafeBuffer.allocUnsafe([1, 2, 3]) + }) + t.throws(function () { + SafeBuffer.allocUnsafe({}) + }) +}) + +test('SafeBuffer.alloc() throws with non-number types', function (t) { + t.plan(4) + t.throws(function () { + SafeBuffer.alloc('hey') + }) + t.throws(function () { + SafeBuffer.alloc('hey', 'utf8') + }) + t.throws(function () { + SafeBuffer.alloc([1, 2, 3]) + }) + t.throws(function () { + SafeBuffer.alloc({}) + }) +}) diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/HISTORY.md new file mode 100755 index 0000000..1865dcd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/HISTORY.md @@ -0,0 +1,452 @@ +0.16.1 / 2017-09-29 +=================== + + * Fix regression in edge-case behavior for empty `path` + +0.16.0 / 2017-09-27 +=================== + + * Add `immutable` option + * Fix missing `</html>` in default error & redirects + * Use instance methods on steam to check for listeners + * deps: mime@1.4.1 + - Add 70 new types for file extensions + - Set charset as "UTF-8" for .js and .json + * perf: improve path validation speed + +0.15.6 / 2017-09-22 +=================== + + * deps: debug@2.6.9 + * perf: improve `If-Match` token parsing + +0.15.5 / 2017-09-20 +=================== + + * deps: etag@~1.8.1 + - perf: replace regular expression with substring + * deps: fresh@0.5.2 + - Fix handling of modified headers with invalid dates + - perf: improve ETag match loop + - perf: improve `If-None-Match` token parsing + +0.15.4 / 2017-08-05 +=================== + + * deps: debug@2.6.8 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: http-errors@~1.6.2 + - deps: depd@1.1.1 + +0.15.3 / 2017-05-16 +=================== + + * deps: debug@2.6.7 + - deps: ms@2.0.0 + * deps: ms@2.0.0 + +0.15.2 / 2017-04-26 +=================== + + * deps: debug@2.6.4 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@0.7.3 + * deps: ms@1.0.0 + +0.15.1 / 2017-03-04 +=================== + + * Fix issue when `Date.parse` does not return `NaN` on invalid date + * Fix strict violation in broken environments + +0.15.0 / 2017-02-25 +=================== + + * Support `If-Match` and `If-Unmodified-Since` headers + * Add `res` and `path` arguments to `directory` event + * Remove usage of `res._headers` private field + - Improves compatibility with Node.js 8 nightly + * Send complete HTML document in redirect & error responses + * Set default CSP header in redirect & error responses + * Use `res.getHeaderNames()` when available + * Use `res.headersSent` when available + * deps: debug@2.6.1 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable set to `3` or higher + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * deps: etag@~1.8.0 + * deps: fresh@0.5.0 + - Fix false detection of `no-cache` request directive + - Fix incorrect result when `If-None-Match` has both `*` and ETags + - Fix weak `ETag` matching to match spec + - perf: delay reading header values until needed + - perf: enable strict mode + - perf: hoist regular expressions + - perf: remove duplicate conditional + - perf: remove unnecessary boolean coercions + - perf: skip checking modified time if ETag check failed + - perf: skip parsing `If-None-Match` when no `ETag` header + - perf: use `Date.parse` instead of `new Date` + * deps: http-errors@~1.6.1 + - Make `message` property enumerable for `HttpError`s + - deps: setprototypeof@1.0.3 + +0.14.2 / 2017-01-23 +=================== + + * deps: http-errors@~1.5.1 + - deps: inherits@2.0.3 + - deps: setprototypeof@1.0.2 + - deps: statuses@'>= 1.3.1 < 2' + * deps: ms@0.7.2 + * deps: statuses@~1.3.1 + +0.14.1 / 2016-06-09 +=================== + + * Fix redirect error when `path` contains raw non-URL characters + * Fix redirect when `path` starts with multiple forward slashes + +0.14.0 / 2016-06-06 +=================== + + * Add `acceptRanges` option + * Add `cacheControl` option + * Attempt to combine multiple ranges into single range + * Correctly inherit from `Stream` class + * Fix `Content-Range` header in 416 responses when using `start`/`end` options + * Fix `Content-Range` header missing from default 416 responses + * Ignore non-byte `Range` headers + * deps: http-errors@~1.5.0 + - Add `HttpError` export, for `err instanceof createError.HttpError` + - Support new code `421 Misdirected Request` + - Use `setprototypeof` module to replace `__proto__` setting + - deps: inherits@2.0.1 + - deps: statuses@'>= 1.3.0 < 2' + - perf: enable strict mode + * deps: range-parser@~1.2.0 + - Fix incorrectly returning -1 when there is at least one valid range + - perf: remove internal function + * deps: statuses@~1.3.0 + - Add `421 Misdirected Request` + - perf: enable strict mode + * perf: remove argument reassignment + +0.13.2 / 2016-03-05 +=================== + + * Fix invalid `Content-Type` header when `send.mime.default_type` unset + +0.13.1 / 2016-01-16 +=================== + + * deps: depd@~1.1.0 + - Support web browser loading + - perf: enable strict mode + * deps: destroy@~1.0.4 + - perf: enable strict mode + * deps: escape-html@~1.0.3 + - perf: enable strict mode + - perf: optimize string replacement + - perf: use faster string coercion + * deps: range-parser@~1.0.3 + - perf: enable strict mode + +0.13.0 / 2015-06-16 +=================== + + * Allow Node.js HTTP server to set `Date` response header + * Fix incorrectly removing `Content-Location` on 304 response + * Improve the default redirect response headers + * Send appropriate headers on default error response + * Use `http-errors` for standard emitted errors + * Use `statuses` instead of `http` module for status messages + * deps: escape-html@1.0.2 + * deps: etag@~1.7.0 + - Improve stat performance by removing hashing + * deps: fresh@0.3.0 + - Add weak `ETag` matching support + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * perf: enable strict mode + * perf: remove unnecessary array allocations + +0.12.3 / 2015-05-13 +=================== + + * deps: debug@~2.2.0 + - deps: ms@0.7.1 + * deps: depd@~1.0.1 + * deps: etag@~1.6.0 + - Improve support for JXcore + - Support "fake" stats objects in environments without `fs` + * deps: ms@0.7.1 + - Prevent extraordinarily long inputs + * deps: on-finished@~2.2.1 + +0.12.2 / 2015-03-13 +=================== + + * Throw errors early for invalid `extensions` or `index` options + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + +0.12.1 / 2015-02-17 +=================== + + * Fix regression sending zero-length files + +0.12.0 / 2015-02-16 +=================== + + * Always read the stat size from the file + * Fix mutating passed-in `options` + * deps: mime@1.3.4 + +0.11.1 / 2015-01-20 +=================== + + * Fix `root` path disclosure + +0.11.0 / 2015-01-05 +=================== + + * deps: debug@~2.1.1 + * deps: etag@~1.5.1 + - deps: crc@3.2.1 + * deps: ms@0.7.0 + - Add `milliseconds` + - Add `msecs` + - Add `secs` + - Add `mins` + - Add `hrs` + - Add `yrs` + * deps: on-finished@~2.2.0 + +0.10.1 / 2014-10-22 +=================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + +0.10.0 / 2014-10-15 +=================== + + * deps: debug@~2.1.0 + - Implement `DEBUG_FD` env variable support + * deps: depd@~1.0.0 + * deps: etag@~1.5.0 + - Improve string performance + - Slightly improve speed for weak ETags over 1KB + +0.9.3 / 2014-09-24 +================== + + * deps: etag@~1.4.0 + - Support "fake" stats objects + +0.9.2 / 2014-09-15 +================== + + * deps: depd@0.4.5 + * deps: etag@~1.3.1 + * deps: range-parser@~1.0.2 + +0.9.1 / 2014-09-07 +================== + + * deps: fresh@0.2.4 + +0.9.0 / 2014-09-07 +================== + + * Add `lastModified` option + * Use `etag` to generate `ETag` header + * deps: debug@~2.0.0 + +0.8.5 / 2014-09-04 +================== + + * Fix malicious path detection for empty string path + +0.8.4 / 2014-09-04 +================== + + * Fix a path traversal issue when using `root` + +0.8.3 / 2014-08-16 +================== + + * deps: destroy@1.0.3 + - renamed from dethroy + * deps: on-finished@2.1.0 + +0.8.2 / 2014-08-14 +================== + + * Work around `fd` leak in Node.js 0.10 for `fs.ReadStream` + * deps: dethroy@1.0.2 + +0.8.1 / 2014-08-05 +================== + + * Fix `extensions` behavior when file already has extension + +0.8.0 / 2014-08-05 +================== + + * Add `extensions` option + +0.7.4 / 2014-08-04 +================== + + * Fix serving index files without root dir + +0.7.3 / 2014-07-29 +================== + + * Fix incorrect 403 on Windows and Node.js 0.11 + +0.7.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + +0.7.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + +0.7.0 / 2014-07-20 +================== + + * Deprecate `hidden` option; use `dotfiles` option + * Add `dotfiles` option + * deps: debug@1.0.4 + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + +0.6.0 / 2014-07-11 +================== + + * Deprecate `from` option; use `root` option + * Deprecate `send.etag()` -- use `etag` in `options` + * Deprecate `send.hidden()` -- use `hidden` in `options` + * Deprecate `send.index()` -- use `index` in `options` + * Deprecate `send.maxage()` -- use `maxAge` in `options` + * Deprecate `send.root()` -- use `root` in `options` + * Cap `maxAge` value to 1 year + * deps: debug@1.0.3 + - Add support for multiple wildcards in namespaces + +0.5.0 / 2014-06-28 +================== + + * Accept string for `maxAge` (converted by `ms`) + * Add `headers` event + * Include link in default redirect response + * Use `EventEmitter.listenerCount` to count listeners + +0.4.3 / 2014-06-11 +================== + + * Do not throw un-catchable error on file open race condition + * Use `escape-html` for HTML escaping + * deps: debug@1.0.2 + - fix some debugging output colors on node.js 0.8 + * deps: finished@1.2.2 + * deps: fresh@0.2.2 + +0.4.2 / 2014-06-09 +================== + + * fix "event emitter leak" warnings + * deps: debug@1.0.1 + * deps: finished@1.2.1 + +0.4.1 / 2014-06-02 +================== + + * Send `max-age` in `Cache-Control` in correct format + +0.4.0 / 2014-05-27 +================== + + * Calculate ETag with md5 for reduced collisions + * Fix wrong behavior when index file matches directory + * Ignore stream errors after request ends + - Goodbye `EBADF, read` + * Skip directories in index file search + * deps: debug@0.8.1 + +0.3.0 / 2014-04-24 +================== + + * Fix sending files with dots without root set + * Coerce option types + * Accept API options in options object + * Set etags to "weak" + * Include file path in etag + * Make "Can't set headers after they are sent." catchable + * Send full entity-body for multi range requests + * Default directory access to 403 when index disabled + * Support multiple index paths + * Support "If-Range" header + * Control whether to generate etags + * deps: mime@1.2.11 + +0.2.0 / 2014-01-29 +================== + + * update range-parser and fresh + +0.1.4 / 2013-08-11 +================== + + * update fresh + +0.1.3 / 2013-07-08 +================== + + * Revert "Fix fd leak" + +0.1.2 / 2013-07-03 +================== + + * Fix fd leak + +0.1.0 / 2012-08-25 +================== + + * add options parameter to send() that is passed to fs.createReadStream() [kanongil] + +0.0.4 / 2012-08-16 +================== + + * allow custom "Accept-Ranges" definition + +0.0.3 / 2012-07-16 +================== + + * fix normalization of the root directory. Closes #3 + +0.0.2 / 2012-07-09 +================== + + * add passing of req explicitly for now (YUCK) + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/LICENSE new file mode 100755 index 0000000..4aa69e8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/README.md new file mode 100755 index 0000000..ca591ed --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/README.md @@ -0,0 +1,309 @@ +# send + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Linux Build][travis-image]][travis-url] +[![Windows Build][appveyor-image]][appveyor-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +Send is a library for streaming files from the file system as a http response +supporting partial responses (Ranges), conditional-GET negotiation (If-Match, +If-Unmodified-Since, If-None-Match, If-Modified-Since), high test coverage, +and granular events which may be leveraged to take appropriate actions in your +application or framework. + +Looking to serve up entire folders mapped to URLs? Try [serve-static](https://www.npmjs.org/package/serve-static). + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install send +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var send = require('send') +``` + +### send(req, path, [options]) + +Create a new `SendStream` for the given path to send to a `res`. The `req` is +the Node.js HTTP request and the `path` is a urlencoded path to send (urlencoded, +not the actual file-system path). + +#### Options + +##### acceptRanges + +Enable or disable accepting ranged requests, defaults to true. +Disabling this will not send `Accept-Ranges` and ignore the contents +of the `Range` request header. + +##### cacheControl + +Enable or disable setting `Cache-Control` response header, defaults to +true. Disabling this will ignore the `immutable` and `maxAge` options. + +##### dotfiles + +Set how "dotfiles" are treated when encountered. A dotfile is a file +or directory that begins with a dot ("."). Note this check is done on +the path itself without checking if the path actually exists on the +disk. If `root` is specified, only the dotfiles above the root are +checked (i.e. the root itself can be within a dotfile when when set +to "deny"). + + - `'allow'` No special treatment for dotfiles. + - `'deny'` Send a 403 for any request for a dotfile. + - `'ignore'` Pretend like the dotfile does not exist and 404. + +The default value is _similar_ to `'ignore'`, with the exception that +this default will not ignore the files within a directory that begins +with a dot, for backward-compatibility. + +##### end + +Byte offset at which the stream ends, defaults to the length of the file +minus 1. The end is inclusive in the stream, meaning `end: 3` will include +the 4th byte in the stream. + +##### etag + +Enable or disable etag generation, defaults to true. + +##### extensions + +If a given file doesn't exist, try appending one of the given extensions, +in the given order. By default, this is disabled (set to `false`). An +example value that will serve extension-less HTML files: `['html', 'htm']`. +This is skipped if the requested file already has an extension. + +##### immutable + +Enable or diable the `immutable` directive in the `Cache-Control` response +header, defaults to `false`. If set to `true`, the `maxAge` option should +also be specified to enable caching. The `immutable` directive will prevent +supported clients from making conditional requests during the life of the +`maxAge` option to check if the file has changed. + +##### index + +By default send supports "index.html" files, to disable this +set `false` or to supply a new index pass a string or an array +in preferred order. + +##### lastModified + +Enable or disable `Last-Modified` header, defaults to true. Uses the file +system's last modified value. + +##### maxAge + +Provide a max-age in milliseconds for http caching, defaults to 0. +This can also be a string accepted by the +[ms](https://www.npmjs.org/package/ms#readme) module. + +##### root + +Serve files relative to `path`. + +##### start + +Byte offset at which the stream starts, defaults to 0. The start is inclusive, +meaning `start: 2` will include the 3rd byte in the stream. + +#### Events + +The `SendStream` is an event emitter and will emit the following events: + + - `error` an error occurred `(err)` + - `directory` a directory was requested `(res, path)` + - `file` a file was requested `(path, stat)` + - `headers` the headers are about to be set on a file `(res, path, stat)` + - `stream` file streaming has started `(stream)` + - `end` streaming has completed + +#### .pipe + +The `pipe` method is used to pipe the response into the Node.js HTTP response +object, typically `send(req, path, options).pipe(res)`. + +### .mime + +The `mime` export is the global instance of of the +[`mime` npm module](https://www.npmjs.com/package/mime). + +This is used to configure the MIME types that are associated with file extensions +as well as other options for how to resolve the MIME type of a file (like the +default type to use for an unknown file extension). + +## Error-handling + +By default when no `error` listeners are present an automatic response will be +made, otherwise you have full control over the response, aka you may show a 5xx +page etc. + +## Caching + +It does _not_ perform internal caching, you should use a reverse proxy cache +such as Varnish for this, or those fancy things called CDNs. If your +application is small enough that it would benefit from single-node memory +caching, it's small enough that it does not need caching at all ;). + +## Debugging + +To enable `debug()` instrumentation output export __DEBUG__: + +``` +$ DEBUG=send node app +``` + +## Running tests + +``` +$ npm install +$ npm test +``` + +## Examples + +### Small example + +```js +var http = require('http') +var parseUrl = require('parseurl') +var send = require('send') + +var server = http.createServer(function onRequest (req, res) { + send(req, parseUrl(req).pathname).pipe(res) +}) + +server.listen(3000) +``` + +### Custom file types + +```js +var http = require('http') +var parseUrl = require('parseurl') +var send = require('send') + +// Default unknown types to text/plain +send.mime.default_type = 'text/plain' + +// Add a custom type +send.mime.define({ + 'application/x-my-type': ['x-mt', 'x-mtt'] +}) + +var server = http.createServer(function onRequest (req, res) { + send(req, parseUrl(req).pathname).pipe(res) +}) + +server.listen(3000) +``` + +### Custom directory index view + +This is a example of serving up a structure of directories with a +custom function to render a listing of a directory. + +```js +var http = require('http') +var fs = require('fs') +var parseUrl = require('parseurl') +var send = require('send') + +// Transfer arbitrary files from within /www/example.com/public/* +// with a custom handler for directory listing +var server = http.createServer(function onRequest (req, res) { + send(req, parseUrl(req).pathname, {index: false, root: '/www/example.com/public'}) + .once('directory', directory) + .pipe(res) +}) + +server.listen(3000) + +// Custom directory handler +function directory (res, path) { + var stream = this + + // redirect to trailing slash for consistent url + if (!stream.hasTrailingSlash()) { + return stream.redirect(path) + } + + // get directory list + fs.readdir(path, function onReaddir (err, list) { + if (err) return stream.error(err) + + // render an index for the directory + res.setHeader('Content-Type', 'text/plain; charset=UTF-8') + res.end(list.join('\n') + '\n') + }) +} +``` + +### Serving from a root directory with custom error-handling + +```js +var http = require('http') +var parseUrl = require('parseurl') +var send = require('send') + +var server = http.createServer(function onRequest (req, res) { + // your custom error-handling logic: + function error (err) { + res.statusCode = err.status || 500 + res.end(err.message) + } + + // your custom headers + function headers (res, path, stat) { + // serve all files for download + res.setHeader('Content-Disposition', 'attachment') + } + + // your custom directory handling logic: + function redirect () { + res.statusCode = 301 + res.setHeader('Location', req.url + '/') + res.end('Redirecting to ' + req.url + '/') + } + + // transfer arbitrary files from within + // /www/example.com/public/* + send(req, parseUrl(req).pathname, {root: '/www/example.com/public'}) + .on('error', error) + .on('directory', redirect) + .on('headers', headers) + .pipe(res) +}) + +server.listen(3000) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/send.svg +[npm-url]: https://npmjs.org/package/send +[travis-image]: https://img.shields.io/travis/pillarjs/send/master.svg?label=linux +[travis-url]: https://travis-ci.org/pillarjs/send +[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/send/master.svg?label=windows +[appveyor-url]: https://ci.appveyor.com/project/dougwilson/send +[coveralls-image]: https://img.shields.io/coveralls/pillarjs/send/master.svg +[coveralls-url]: https://coveralls.io/r/pillarjs/send?branch=master +[downloads-image]: https://img.shields.io/npm/dm/send.svg +[downloads-url]: https://npmjs.org/package/send +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://www.gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/index.js new file mode 100755 index 0000000..c4c9677 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/index.js @@ -0,0 +1,1130 @@ +/*! + * send + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var debug = require('debug')('send') +var deprecate = require('depd')('send') +var destroy = require('destroy') +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var etag = require('etag') +var fresh = require('fresh') +var fs = require('fs') +var mime = require('mime') +var ms = require('ms') +var onFinished = require('on-finished') +var parseRange = require('range-parser') +var path = require('path') +var statuses = require('statuses') +var Stream = require('stream') +var util = require('util') + +/** + * Path function references. + * @private + */ + +var extname = path.extname +var join = path.join +var normalize = path.normalize +var resolve = path.resolve +var sep = path.sep + +/** + * Regular expression for identifying a bytes Range header. + * @private + */ + +var BYTES_RANGE_REGEXP = /^ *bytes=/ + +/** + * Maximum value allowed for the max age. + * @private + */ + +var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1000 // 1 year + +/** + * Regular expression to match a path with a directory up component. + * @private + */ + +var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/ + +/** + * Module exports. + * @public + */ + +module.exports = send +module.exports.mime = mime + +/** + * Return a `SendStream` for `req` and `path`. + * + * @param {object} req + * @param {string} path + * @param {object} [options] + * @return {SendStream} + * @public + */ + +function send (req, path, options) { + return new SendStream(req, path, options) +} + +/** + * Initialize a `SendStream` with the given `path`. + * + * @param {Request} req + * @param {String} path + * @param {object} [options] + * @private + */ + +function SendStream (req, path, options) { + Stream.call(this) + + var opts = options || {} + + this.options = opts + this.path = path + this.req = req + + this._acceptRanges = opts.acceptRanges !== undefined + ? Boolean(opts.acceptRanges) + : true + + this._cacheControl = opts.cacheControl !== undefined + ? Boolean(opts.cacheControl) + : true + + this._etag = opts.etag !== undefined + ? Boolean(opts.etag) + : true + + this._dotfiles = opts.dotfiles !== undefined + ? opts.dotfiles + : 'ignore' + + if (this._dotfiles !== 'ignore' && this._dotfiles !== 'allow' && this._dotfiles !== 'deny') { + throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"') + } + + this._hidden = Boolean(opts.hidden) + + if (opts.hidden !== undefined) { + deprecate('hidden: use dotfiles: \'' + (this._hidden ? 'allow' : 'ignore') + '\' instead') + } + + // legacy support + if (opts.dotfiles === undefined) { + this._dotfiles = undefined + } + + this._extensions = opts.extensions !== undefined + ? normalizeList(opts.extensions, 'extensions option') + : [] + + this._immutable = opts.immutable !== undefined + ? Boolean(opts.immutable) + : false + + this._index = opts.index !== undefined + ? normalizeList(opts.index, 'index option') + : ['index.html'] + + this._lastModified = opts.lastModified !== undefined + ? Boolean(opts.lastModified) + : true + + this._maxage = opts.maxAge || opts.maxage + this._maxage = typeof this._maxage === 'string' + ? ms(this._maxage) + : Number(this._maxage) + this._maxage = !isNaN(this._maxage) + ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) + : 0 + + this._root = opts.root + ? resolve(opts.root) + : null + + if (!this._root && opts.from) { + this.from(opts.from) + } +} + +/** + * Inherits from `Stream`. + */ + +util.inherits(SendStream, Stream) + +/** + * Enable or disable etag generation. + * + * @param {Boolean} val + * @return {SendStream} + * @api public + */ + +SendStream.prototype.etag = deprecate.function(function etag (val) { + this._etag = Boolean(val) + debug('etag %s', this._etag) + return this +}, 'send.etag: pass etag as option') + +/** + * Enable or disable "hidden" (dot) files. + * + * @param {Boolean} path + * @return {SendStream} + * @api public + */ + +SendStream.prototype.hidden = deprecate.function(function hidden (val) { + this._hidden = Boolean(val) + this._dotfiles = undefined + debug('hidden %s', this._hidden) + return this +}, 'send.hidden: use dotfiles option') + +/** + * Set index `paths`, set to a falsy + * value to disable index support. + * + * @param {String|Boolean|Array} paths + * @return {SendStream} + * @api public + */ + +SendStream.prototype.index = deprecate.function(function index (paths) { + var index = !paths ? [] : normalizeList(paths, 'paths argument') + debug('index %o', paths) + this._index = index + return this +}, 'send.index: pass index as option') + +/** + * Set root `path`. + * + * @param {String} path + * @return {SendStream} + * @api public + */ + +SendStream.prototype.root = function root (path) { + this._root = resolve(String(path)) + debug('root %s', this._root) + return this +} + +SendStream.prototype.from = deprecate.function(SendStream.prototype.root, + 'send.from: pass root as option') + +SendStream.prototype.root = deprecate.function(SendStream.prototype.root, + 'send.root: pass root as option') + +/** + * Set max-age to `maxAge`. + * + * @param {Number} maxAge + * @return {SendStream} + * @api public + */ + +SendStream.prototype.maxage = deprecate.function(function maxage (maxAge) { + this._maxage = typeof maxAge === 'string' + ? ms(maxAge) + : Number(maxAge) + this._maxage = !isNaN(this._maxage) + ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) + : 0 + debug('max-age %d', this._maxage) + return this +}, 'send.maxage: pass maxAge as option') + +/** + * Emit error with `status`. + * + * @param {number} status + * @param {Error} [err] + * @private + */ + +SendStream.prototype.error = function error (status, err) { + // emit if listeners instead of responding + if (hasListeners(this, 'error')) { + return this.emit('error', createError(status, err, { + expose: false + })) + } + + var res = this.res + var msg = statuses[status] || String(status) + var doc = createHtmlDocument('Error', escapeHtml(msg)) + + // clear existing headers + clearHeaders(res) + + // add error headers + if (err && err.headers) { + setHeaders(res, err.headers) + } + + // send basic response + res.statusCode = status + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', Buffer.byteLength(doc)) + res.setHeader('Content-Security-Policy', "default-src 'self'") + res.setHeader('X-Content-Type-Options', 'nosniff') + res.end(doc) +} + +/** + * Check if the pathname ends with "/". + * + * @return {boolean} + * @private + */ + +SendStream.prototype.hasTrailingSlash = function hasTrailingSlash () { + return this.path[this.path.length - 1] === '/' +} + +/** + * Check if this is a conditional GET request. + * + * @return {Boolean} + * @api private + */ + +SendStream.prototype.isConditionalGET = function isConditionalGET () { + return this.req.headers['if-match'] || + this.req.headers['if-unmodified-since'] || + this.req.headers['if-none-match'] || + this.req.headers['if-modified-since'] +} + +/** + * Check if the request preconditions failed. + * + * @return {boolean} + * @private + */ + +SendStream.prototype.isPreconditionFailure = function isPreconditionFailure () { + var req = this.req + var res = this.res + + // if-match + var match = req.headers['if-match'] + if (match) { + var etag = res.getHeader('ETag') + return !etag || (match !== '*' && parseTokenList(match).every(function (match) { + return match !== etag && match !== 'W/' + etag && 'W/' + match !== etag + })) + } + + // if-unmodified-since + var unmodifiedSince = parseHttpDate(req.headers['if-unmodified-since']) + if (!isNaN(unmodifiedSince)) { + var lastModified = parseHttpDate(res.getHeader('Last-Modified')) + return isNaN(lastModified) || lastModified > unmodifiedSince + } + + return false +} + +/** + * Strip content-* header fields. + * + * @private + */ + +SendStream.prototype.removeContentHeaderFields = function removeContentHeaderFields () { + var res = this.res + var headers = getHeaderNames(res) + + for (var i = 0; i < headers.length; i++) { + var header = headers[i] + if (header.substr(0, 8) === 'content-' && header !== 'content-location') { + res.removeHeader(header) + } + } +} + +/** + * Respond with 304 not modified. + * + * @api private + */ + +SendStream.prototype.notModified = function notModified () { + var res = this.res + debug('not modified') + this.removeContentHeaderFields() + res.statusCode = 304 + res.end() +} + +/** + * Raise error that headers already sent. + * + * @api private + */ + +SendStream.prototype.headersAlreadySent = function headersAlreadySent () { + var err = new Error('Can\'t set headers after they are sent.') + debug('headers already sent') + this.error(500, err) +} + +/** + * Check if the request is cacheable, aka + * responded with 2xx or 304 (see RFC 2616 section 14.2{5,6}). + * + * @return {Boolean} + * @api private + */ + +SendStream.prototype.isCachable = function isCachable () { + var statusCode = this.res.statusCode + return (statusCode >= 200 && statusCode < 300) || + statusCode === 304 +} + +/** + * Handle stat() error. + * + * @param {Error} error + * @private + */ + +SendStream.prototype.onStatError = function onStatError (error) { + switch (error.code) { + case 'ENAMETOOLONG': + case 'ENOENT': + case 'ENOTDIR': + this.error(404, error) + break + default: + this.error(500, error) + break + } +} + +/** + * Check if the cache is fresh. + * + * @return {Boolean} + * @api private + */ + +SendStream.prototype.isFresh = function isFresh () { + return fresh(this.req.headers, { + 'etag': this.res.getHeader('ETag'), + 'last-modified': this.res.getHeader('Last-Modified') + }) +} + +/** + * Check if the range is fresh. + * + * @return {Boolean} + * @api private + */ + +SendStream.prototype.isRangeFresh = function isRangeFresh () { + var ifRange = this.req.headers['if-range'] + + if (!ifRange) { + return true + } + + // if-range as etag + if (ifRange.indexOf('"') !== -1) { + var etag = this.res.getHeader('ETag') + return Boolean(etag && ifRange.indexOf(etag) !== -1) + } + + // if-range as modified date + var lastModified = this.res.getHeader('Last-Modified') + return parseHttpDate(lastModified) <= parseHttpDate(ifRange) +} + +/** + * Redirect to path. + * + * @param {string} path + * @private + */ + +SendStream.prototype.redirect = function redirect (path) { + var res = this.res + + if (hasListeners(this, 'directory')) { + this.emit('directory', res, path) + return + } + + if (this.hasTrailingSlash()) { + this.error(403) + return + } + + var loc = encodeUrl(collapseLeadingSlashes(this.path + '/')) + var doc = createHtmlDocument('Redirecting', 'Redirecting to <a href="' + escapeHtml(loc) + '">' + + escapeHtml(loc) + '</a>') + + // redirect + res.statusCode = 301 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', Buffer.byteLength(doc)) + res.setHeader('Content-Security-Policy', "default-src 'self'") + res.setHeader('X-Content-Type-Options', 'nosniff') + res.setHeader('Location', loc) + res.end(doc) +} + +/** + * Pipe to `res. + * + * @param {Stream} res + * @return {Stream} res + * @api public + */ + +SendStream.prototype.pipe = function pipe (res) { + // root path + var root = this._root + + // references + this.res = res + + // decode the path + var path = decode(this.path) + if (path === -1) { + this.error(400) + return res + } + + // null byte(s) + if (~path.indexOf('\0')) { + this.error(400) + return res + } + + var parts + if (root !== null) { + // normalize + if (path) { + path = normalize('.' + sep + path) + } + + // malicious path + if (UP_PATH_REGEXP.test(path)) { + debug('malicious path "%s"', path) + this.error(403) + return res + } + + // explode path parts + parts = path.split(sep) + + // join / normalize from optional root dir + path = normalize(join(root, path)) + root = normalize(root + sep) + } else { + // ".." is malicious without "root" + if (UP_PATH_REGEXP.test(path)) { + debug('malicious path "%s"', path) + this.error(403) + return res + } + + // explode path parts + parts = normalize(path).split(sep) + + // resolve the path + path = resolve(path) + } + + // dotfile handling + if (containsDotFile(parts)) { + var access = this._dotfiles + + // legacy support + if (access === undefined) { + access = parts[parts.length - 1][0] === '.' + ? (this._hidden ? 'allow' : 'ignore') + : 'allow' + } + + debug('%s dotfile "%s"', access, path) + switch (access) { + case 'allow': + break + case 'deny': + this.error(403) + return res + case 'ignore': + default: + this.error(404) + return res + } + } + + // index file support + if (this._index.length && this.hasTrailingSlash()) { + this.sendIndex(path) + return res + } + + this.sendFile(path) + return res +} + +/** + * Transfer `path`. + * + * @param {String} path + * @api public + */ + +SendStream.prototype.send = function send (path, stat) { + var len = stat.size + var options = this.options + var opts = {} + var res = this.res + var req = this.req + var ranges = req.headers.range + var offset = options.start || 0 + + if (headersSent(res)) { + // impossible to send now + this.headersAlreadySent() + return + } + + debug('pipe "%s"', path) + + // set header fields + this.setHeader(path, stat) + + // set content-type + this.type(path) + + // conditional GET support + if (this.isConditionalGET()) { + if (this.isPreconditionFailure()) { + this.error(412) + return + } + + if (this.isCachable() && this.isFresh()) { + this.notModified() + return + } + } + + // adjust len to start/end options + len = Math.max(0, len - offset) + if (options.end !== undefined) { + var bytes = options.end - offset + 1 + if (len > bytes) len = bytes + } + + // Range support + if (this._acceptRanges && BYTES_RANGE_REGEXP.test(ranges)) { + // parse + ranges = parseRange(len, ranges, { + combine: true + }) + + // If-Range support + if (!this.isRangeFresh()) { + debug('range stale') + ranges = -2 + } + + // unsatisfiable + if (ranges === -1) { + debug('range unsatisfiable') + + // Content-Range + res.setHeader('Content-Range', contentRange('bytes', len)) + + // 416 Requested Range Not Satisfiable + return this.error(416, { + headers: {'Content-Range': res.getHeader('Content-Range')} + }) + } + + // valid (syntactically invalid/multiple ranges are treated as a regular response) + if (ranges !== -2 && ranges.length === 1) { + debug('range %j', ranges) + + // Content-Range + res.statusCode = 206 + res.setHeader('Content-Range', contentRange('bytes', len, ranges[0])) + + // adjust for requested range + offset += ranges[0].start + len = ranges[0].end - ranges[0].start + 1 + } + } + + // clone options + for (var prop in options) { + opts[prop] = options[prop] + } + + // set read options + opts.start = offset + opts.end = Math.max(offset, offset + len - 1) + + // content-length + res.setHeader('Content-Length', len) + + // HEAD support + if (req.method === 'HEAD') { + res.end() + return + } + + this.stream(path, opts) +} + +/** + * Transfer file for `path`. + * + * @param {String} path + * @api private + */ +SendStream.prototype.sendFile = function sendFile (path) { + var i = 0 + var self = this + + debug('stat "%s"', path) + fs.stat(path, function onstat (err, stat) { + if (err && err.code === 'ENOENT' && !extname(path) && path[path.length - 1] !== sep) { + // not found, check extensions + return next(err) + } + if (err) return self.onStatError(err) + if (stat.isDirectory()) return self.redirect(path) + self.emit('file', path, stat) + self.send(path, stat) + }) + + function next (err) { + if (self._extensions.length <= i) { + return err + ? self.onStatError(err) + : self.error(404) + } + + var p = path + '.' + self._extensions[i++] + + debug('stat "%s"', p) + fs.stat(p, function (err, stat) { + if (err) return next(err) + if (stat.isDirectory()) return next() + self.emit('file', p, stat) + self.send(p, stat) + }) + } +} + +/** + * Transfer index for `path`. + * + * @param {String} path + * @api private + */ +SendStream.prototype.sendIndex = function sendIndex (path) { + var i = -1 + var self = this + + function next (err) { + if (++i >= self._index.length) { + if (err) return self.onStatError(err) + return self.error(404) + } + + var p = join(path, self._index[i]) + + debug('stat "%s"', p) + fs.stat(p, function (err, stat) { + if (err) return next(err) + if (stat.isDirectory()) return next() + self.emit('file', p, stat) + self.send(p, stat) + }) + } + + next() +} + +/** + * Stream `path` to the response. + * + * @param {String} path + * @param {Object} options + * @api private + */ + +SendStream.prototype.stream = function stream (path, options) { + // TODO: this is all lame, refactor meeee + var finished = false + var self = this + var res = this.res + + // pipe + var stream = fs.createReadStream(path, options) + this.emit('stream', stream) + stream.pipe(res) + + // response finished, done with the fd + onFinished(res, function onfinished () { + finished = true + destroy(stream) + }) + + // error handling code-smell + stream.on('error', function onerror (err) { + // request already finished + if (finished) return + + // clean up stream + finished = true + destroy(stream) + + // error + self.onStatError(err) + }) + + // end + stream.on('end', function onend () { + self.emit('end') + }) +} + +/** + * Set content-type based on `path` + * if it hasn't been explicitly set. + * + * @param {String} path + * @api private + */ + +SendStream.prototype.type = function type (path) { + var res = this.res + + if (res.getHeader('Content-Type')) return + + var type = mime.lookup(path) + + if (!type) { + debug('no content-type') + return + } + + var charset = mime.charsets.lookup(type) + + debug('content-type %s', type) + res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : '')) +} + +/** + * Set response header fields, most + * fields may be pre-defined. + * + * @param {String} path + * @param {Object} stat + * @api private + */ + +SendStream.prototype.setHeader = function setHeader (path, stat) { + var res = this.res + + this.emit('headers', res, path, stat) + + if (this._acceptRanges && !res.getHeader('Accept-Ranges')) { + debug('accept ranges') + res.setHeader('Accept-Ranges', 'bytes') + } + + if (this._cacheControl && !res.getHeader('Cache-Control')) { + var cacheControl = 'public, max-age=' + Math.floor(this._maxage / 1000) + + if (this._immutable) { + cacheControl += ', immutable' + } + + debug('cache-control %s', cacheControl) + res.setHeader('Cache-Control', cacheControl) + } + + if (this._lastModified && !res.getHeader('Last-Modified')) { + var modified = stat.mtime.toUTCString() + debug('modified %s', modified) + res.setHeader('Last-Modified', modified) + } + + if (this._etag && !res.getHeader('ETag')) { + var val = etag(stat) + debug('etag %s', val) + res.setHeader('ETag', val) + } +} + +/** + * Clear all headers from a response. + * + * @param {object} res + * @private + */ + +function clearHeaders (res) { + var headers = getHeaderNames(res) + + for (var i = 0; i < headers.length; i++) { + res.removeHeader(headers[i]) + } +} + +/** + * Collapse all leading slashes into a single slash + * + * @param {string} str + * @private + */ +function collapseLeadingSlashes (str) { + for (var i = 0; i < str.length; i++) { + if (str[i] !== '/') { + break + } + } + + return i > 1 + ? '/' + str.substr(i) + : str +} + +/** + * Determine if path parts contain a dotfile. + * + * @api private + */ + +function containsDotFile (parts) { + for (var i = 0; i < parts.length; i++) { + var part = parts[i] + if (part.length > 1 && part[0] === '.') { + return true + } + } + + return false +} + +/** + * Create a Content-Range header. + * + * @param {string} type + * @param {number} size + * @param {array} [range] + */ + +function contentRange (type, size, range) { + return type + ' ' + (range ? range.start + '-' + range.end : '*') + '/' + size +} + +/** + * Create a minimal HTML document. + * + * @param {string} title + * @param {string} body + * @private + */ + +function createHtmlDocument (title, body) { + return '<!DOCTYPE html>\n' + + '<html lang="en">\n' + + '<head>\n' + + '<meta charset="utf-8">\n' + + '<title>' + title + '</title>\n' + + '</head>\n' + + '<body>\n' + + '<pre>' + body + '</pre>\n' + + '</body>\n' + + '<html>\n' +} + +/** + * decodeURIComponent. + * + * Allows V8 to only deoptimize this fn instead of all + * of send(). + * + * @param {String} path + * @api private + */ + +function decode (path) { + try { + return decodeURIComponent(path) + } catch (err) { + return -1 + } +} + +/** + * Get the header names on a respnse. + * + * @param {object} res + * @returns {array[string]} + * @private + */ + +function getHeaderNames (res) { + return typeof res.getHeaderNames !== 'function' + ? Object.keys(res._headers || {}) + : res.getHeaderNames() +} + +/** + * Determine if emitter has listeners of a given type. + * + * The way to do this check is done three different ways in Node.js >= 0.8 + * so this consolidates them into a minimal set using instance methods. + * + * @param {EventEmitter} emitter + * @param {string} type + * @returns {boolean} + * @private + */ + +function hasListeners (emitter, type) { + var count = typeof emitter.listenerCount !== 'function' + ? emitter.listeners(type).length + : emitter.listenerCount(type) + + return count > 0 +} + +/** + * Determine if the response headers have been sent. + * + * @param {object} res + * @returns {boolean} + * @private + */ + +function headersSent (res) { + return typeof res.headersSent !== 'boolean' + ? Boolean(res._header) + : res.headersSent +} + +/** + * Normalize the index option into an array. + * + * @param {boolean|string|array} val + * @param {string} name + * @private + */ + +function normalizeList (val, name) { + var list = [].concat(val || []) + + for (var i = 0; i < list.length; i++) { + if (typeof list[i] !== 'string') { + throw new TypeError(name + ' must be array of strings or false') + } + } + + return list +} + +/** + * Parse an HTTP Date into a number. + * + * @param {string} date + * @private + */ + +function parseHttpDate (date) { + var timestamp = date && Date.parse(date) + + return typeof timestamp === 'number' + ? timestamp + : NaN +} + +/** + * Parse a HTTP token list. + * + * @param {string} str + * @private + */ + +function parseTokenList (str) { + var end = 0 + var list = [] + var start = 0 + + // gather tokens + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + 1 + } + break + case 0x2c: /* , */ + list.push(str.substring(start, end)) + start = end = i + 1 + break + default: + end = i + 1 + break + } + } + + // final token + list.push(str.substring(start, end)) + + return list +} + +/** + * Set an object of headers on a response. + * + * @param {object} res + * @param {object} headers + * @private + */ + +function setHeaders (res, headers) { + var keys = Object.keys(headers) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + res.setHeader(key, headers[key]) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/package.json new file mode 100755 index 0000000..1c29b36 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/send/package.json @@ -0,0 +1,142 @@ +{ + "_args": [ + [ + { + "raw": "send@0.16.1", + "scope": null, + "escapedName": "send", + "name": "send", + "rawSpec": "0.16.1", + "spec": "0.16.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "send@0.16.1", + "_id": "send@0.16.1", + "_inCache": true, + "_location": "/send", + "_nodeVersion": "6.11.3", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/send-0.16.1.tgz_1506713804078_0.7579168814700097" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "send@0.16.1", + "scope": null, + "escapedName": "send", + "name": "send", + "rawSpec": "0.16.1", + "spec": "0.16.1", + "type": "version" + }, + "_requiredBy": [ + "/express", + "/serve-static" + ], + "_resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "_shasum": "a70e1ca21d1382c11d0d9f6231deb281080d7ab3", + "_shrinkwrap": null, + "_spec": "send@0.16.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "bugs": { + "url": "https://github.com/pillarjs/send/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "James Wyatt Cready", + "email": "jcready@gmail.com" + }, + { + "name": "Jesús Leganés Combarro", + "email": "piranna@gmail.com" + } + ], + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" + }, + "description": "Better streaming static file server with Range and conditional-GET support", + "devDependencies": { + "after": "0.8.2", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.2.0", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "shasum": "a70e1ca21d1382c11d0d9f6231deb281080d7ab3", + "tarball": "https://registry.npmjs.org/send/-/send-0.16.1.tgz" + }, + "engines": { + "node": ">= 0.8.0" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "gitHead": "3daa901cf731b86187e4449fa2c52f971e0b3dbc", + "homepage": "https://github.com/pillarjs/send#readme", + "keywords": [ + "static", + "file", + "server" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "send", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/pillarjs/send.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --check-leaks --reporter spec --bail", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot" + }, + "version": "0.16.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/HISTORY.md new file mode 100755 index 0000000..d41d5f5 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/HISTORY.md @@ -0,0 +1,422 @@ +1.13.1 / 2017-09-29 +=================== + + * Fix regression when `root` is incorrectly set to a file + * deps: send@0.16.1 + +1.13.0 / 2017-09-27 +=================== + + * deps: send@0.16.0 + - Add 70 new types for file extensions + - Add `immutable` option + - Fix missing `</html>` in default error & redirects + - Set charset as "UTF-8" for .js and .json + - Use instance methods on steam to check for listeners + - deps: mime@1.4.1 + - perf: improve path validation speed + +1.12.6 / 2017-09-22 +=================== + + * deps: send@0.15.6 + - deps: debug@2.6.9 + - perf: improve `If-Match` token parsing + * perf: improve slash collapsing + +1.12.5 / 2017-09-21 +=================== + + * deps: parseurl@~1.3.2 + - perf: reduce overhead for full URLs + - perf: unroll the "fast-path" `RegExp` + * deps: send@0.15.5 + - Fix handling of modified headers with invalid dates + - deps: etag@~1.8.1 + - deps: fresh@0.5.2 + +1.12.4 / 2017-08-05 +=================== + + * deps: send@0.15.4 + - deps: debug@2.6.8 + - deps: depd@~1.1.1 + - deps: http-errors@~1.6.2 + +1.12.3 / 2017-05-16 +=================== + + * deps: send@0.15.3 + - deps: debug@2.6.7 + +1.12.2 / 2017-04-26 +=================== + + * deps: send@0.15.2 + - deps: debug@2.6.4 + +1.12.1 / 2017-03-04 +=================== + + * deps: send@0.15.1 + - Fix issue when `Date.parse` does not return `NaN` on invalid date + - Fix strict violation in broken environments + +1.12.0 / 2017-02-25 +=================== + + * Send complete HTML document in redirect response + * Set default CSP header in redirect response + * deps: send@0.15.0 + - Fix false detection of `no-cache` request directive + - Fix incorrect result when `If-None-Match` has both `*` and ETags + - Fix weak `ETag` matching to match spec + - Remove usage of `res._headers` private field + - Support `If-Match` and `If-Unmodified-Since` headers + - Use `res.getHeaderNames()` when available + - Use `res.headersSent` when available + - deps: debug@2.6.1 + - deps: etag@~1.8.0 + - deps: fresh@0.5.0 + - deps: http-errors@~1.6.1 + +1.11.2 / 2017-01-23 +=================== + + * deps: send@0.14.2 + - deps: http-errors@~1.5.1 + - deps: ms@0.7.2 + - deps: statuses@~1.3.1 + +1.11.1 / 2016-06-10 +=================== + + * Fix redirect error when `req.url` contains raw non-URL characters + * deps: send@0.14.1 + +1.11.0 / 2016-06-07 +=================== + + * Use status code 301 for redirects + * deps: send@0.14.0 + - Add `acceptRanges` option + - Add `cacheControl` option + - Attempt to combine multiple ranges into single range + - Correctly inherit from `Stream` class + - Fix `Content-Range` header in 416 responses when using `start`/`end` options + - Fix `Content-Range` header missing from default 416 responses + - Ignore non-byte `Range` headers + - deps: http-errors@~1.5.0 + - deps: range-parser@~1.2.0 + - deps: statuses@~1.3.0 + - perf: remove argument reassignment + +1.10.3 / 2016-05-30 +=================== + + * deps: send@0.13.2 + - Fix invalid `Content-Type` header when `send.mime.default_type` unset + +1.10.2 / 2016-01-19 +=================== + + * deps: parseurl@~1.3.1 + - perf: enable strict mode + +1.10.1 / 2016-01-16 +=================== + + * deps: escape-html@~1.0.3 + - perf: enable strict mode + - perf: optimize string replacement + - perf: use faster string coercion + * deps: send@0.13.1 + - deps: depd@~1.1.0 + - deps: destroy@~1.0.4 + - deps: escape-html@~1.0.3 + - deps: range-parser@~1.0.3 + +1.10.0 / 2015-06-17 +=================== + + * Add `fallthrough` option + - Allows declaring this middleware is the final destination + - Provides better integration with Express patterns + * Fix reading options from options prototype + * Improve the default redirect response headers + * deps: escape-html@1.0.2 + * deps: send@0.13.0 + - Allow Node.js HTTP server to set `Date` response header + - Fix incorrectly removing `Content-Location` on 304 response + - Improve the default redirect response headers + - Send appropriate headers on default error response + - Use `http-errors` for standard emitted errors + - Use `statuses` instead of `http` module for status messages + - deps: escape-html@1.0.2 + - deps: etag@~1.7.0 + - deps: fresh@0.3.0 + - deps: on-finished@~2.3.0 + - perf: enable strict mode + - perf: remove unnecessary array allocations + * perf: enable strict mode + * perf: remove argument reassignment + +1.9.3 / 2015-05-14 +================== + + * deps: send@0.12.3 + - deps: debug@~2.2.0 + - deps: depd@~1.0.1 + - deps: etag@~1.6.0 + - deps: ms@0.7.1 + - deps: on-finished@~2.2.1 + +1.9.2 / 2015-03-14 +================== + + * deps: send@0.12.2 + - Throw errors early for invalid `extensions` or `index` options + - deps: debug@~2.1.3 + +1.9.1 / 2015-02-17 +================== + + * deps: send@0.12.1 + - Fix regression sending zero-length files + +1.9.0 / 2015-02-16 +================== + + * deps: send@0.12.0 + - Always read the stat size from the file + - Fix mutating passed-in `options` + - deps: mime@1.3.4 + +1.8.1 / 2015-01-20 +================== + + * Fix redirect loop in Node.js 0.11.14 + * deps: send@0.11.1 + - Fix root path disclosure + +1.8.0 / 2015-01-05 +================== + + * deps: send@0.11.0 + - deps: debug@~2.1.1 + - deps: etag@~1.5.1 + - deps: ms@0.7.0 + - deps: on-finished@~2.2.0 + +1.7.2 / 2015-01-02 +================== + + * Fix potential open redirect when mounted at root + +1.7.1 / 2014-10-22 +================== + + * deps: send@0.10.1 + - deps: on-finished@~2.1.1 + +1.7.0 / 2014-10-15 +================== + + * deps: send@0.10.0 + - deps: debug@~2.1.0 + - deps: depd@~1.0.0 + - deps: etag@~1.5.0 + +1.6.5 / 2015-02-04 +================== + + * Fix potential open redirect when mounted at root + - Back-ported from v1.7.2 + +1.6.4 / 2014-10-08 +================== + + * Fix redirect loop when index file serving disabled + +1.6.3 / 2014-09-24 +================== + + * deps: send@0.9.3 + - deps: etag@~1.4.0 + +1.6.2 / 2014-09-15 +================== + + * deps: send@0.9.2 + - deps: depd@0.4.5 + - deps: etag@~1.3.1 + - deps: range-parser@~1.0.2 + +1.6.1 / 2014-09-07 +================== + + * deps: send@0.9.1 + - deps: fresh@0.2.4 + +1.6.0 / 2014-09-07 +================== + + * deps: send@0.9.0 + - Add `lastModified` option + - Use `etag` to generate `ETag` header + - deps: debug@~2.0.0 + +1.5.4 / 2014-09-04 +================== + + * deps: send@0.8.5 + - Fix a path traversal issue when using `root` + - Fix malicious path detection for empty string path + +1.5.3 / 2014-08-17 +================== + + * deps: send@0.8.3 + +1.5.2 / 2014-08-14 +================== + + * deps: send@0.8.2 + - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream` + +1.5.1 / 2014-08-09 +================== + + * Fix parsing of weird `req.originalUrl` values + * deps: parseurl@~1.3.0 + * deps: utils-merge@1.0.0 + +1.5.0 / 2014-08-05 +================== + + * deps: send@0.8.1 + - Add `extensions` option + +1.4.4 / 2014-08-04 +================== + + * deps: send@0.7.4 + - Fix serving index files without root dir + +1.4.3 / 2014-07-29 +================== + + * deps: send@0.7.3 + - Fix incorrect 403 on Windows and Node.js 0.11 + +1.4.2 / 2014-07-27 +================== + + * deps: send@0.7.2 + - deps: depd@0.4.4 + +1.4.1 / 2014-07-26 +================== + + * deps: send@0.7.1 + - deps: depd@0.4.3 + +1.4.0 / 2014-07-21 +================== + + * deps: parseurl@~1.2.0 + - Cache URLs based on original value + - Remove no-longer-needed URL mis-parse work-around + - Simplify the "fast-path" `RegExp` + * deps: send@0.7.0 + - Add `dotfiles` option + - deps: debug@1.0.4 + - deps: depd@0.4.2 + +1.3.2 / 2014-07-11 +================== + + * deps: send@0.6.0 + - Cap `maxAge` value to 1 year + - deps: debug@1.0.3 + +1.3.1 / 2014-07-09 +================== + + * deps: parseurl@~1.1.3 + - faster parsing of href-only URLs + +1.3.0 / 2014-06-28 +================== + + * Add `setHeaders` option + * Include HTML link in redirect response + * deps: send@0.5.0 + - Accept string for `maxAge` (converted by `ms`) + +1.2.3 / 2014-06-11 +================== + + * deps: send@0.4.3 + - Do not throw un-catchable error on file open race condition + - Use `escape-html` for HTML escaping + - deps: debug@1.0.2 + - deps: finished@1.2.2 + - deps: fresh@0.2.2 + +1.2.2 / 2014-06-09 +================== + + * deps: send@0.4.2 + - fix "event emitter leak" warnings + - deps: debug@1.0.1 + - deps: finished@1.2.1 + +1.2.1 / 2014-06-02 +================== + + * use `escape-html` for escaping + * deps: send@0.4.1 + - Send `max-age` in `Cache-Control` in correct format + +1.2.0 / 2014-05-29 +================== + + * deps: send@0.4.0 + - Calculate ETag with md5 for reduced collisions + - Fix wrong behavior when index file matches directory + - Ignore stream errors after request ends + - Skip directories in index file search + - deps: debug@0.8.1 + +1.1.0 / 2014-04-24 +================== + + * Accept options directly to `send` module + * deps: send@0.3.0 + +1.0.4 / 2014-04-07 +================== + + * Resolve relative paths at middleware setup + * Use parseurl to parse the URL from request + +1.0.3 / 2014-03-20 +================== + + * Do not rely on connect-like environments + +1.0.2 / 2014-03-06 +================== + + * deps: send@0.2.0 + +1.0.1 / 2014-03-05 +================== + + * Add mime export for back-compat + +1.0.0 / 2014-03-05 +================== + + * Genesis from `connect` diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/LICENSE new file mode 100755 index 0000000..cbe62e8 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/LICENSE @@ -0,0 +1,25 @@ +(The MIT License) + +Copyright (c) 2010 Sencha Inc. +Copyright (c) 2011 LearnBoost +Copyright (c) 2011 TJ Holowaychuk +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/README.md new file mode 100755 index 0000000..efd4f76 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/README.md @@ -0,0 +1,261 @@ +# serve-static + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Linux Build][travis-image]][travis-url] +[![Windows Build][appveyor-image]][appveyor-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![Gratipay][gratipay-image]][gratipay-url] + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install serve-static +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var serveStatic = require('serve-static') +``` + +### serveStatic(root, options) + +Create a new middleware function to serve files from within a given root +directory. The file to serve will be determined by combining `req.url` +with the provided root directory. When a file is not found, instead of +sending a 404 response, this module will instead call `next()` to move on +to the next middleware, allowing for stacking and fall-backs. + +#### Options + +##### acceptRanges + +Enable or disable accepting ranged requests, defaults to true. +Disabling this will not send `Accept-Ranges` and ignore the contents +of the `Range` request header. + +##### cacheControl + +Enable or disable setting `Cache-Control` response header, defaults to +true. Disabling this will ignore the `immutable` and `maxAge` options. + +##### dotfiles + + Set how "dotfiles" are treated when encountered. A dotfile is a file +or directory that begins with a dot ("."). Note this check is done on +the path itself without checking if the path actually exists on the +disk. If `root` is specified, only the dotfiles above the root are +checked (i.e. the root itself can be within a dotfile when set +to "deny"). + + - `'allow'` No special treatment for dotfiles. + - `'deny'` Deny a request for a dotfile and 403/`next()`. + - `'ignore'` Pretend like the dotfile does not exist and 404/`next()`. + +The default value is similar to `'ignore'`, with the exception that this +default will not ignore the files within a directory that begins with a dot. + +##### etag + +Enable or disable etag generation, defaults to true. + +##### extensions + +Set file extension fallbacks. When set, if a file is not found, the given +extensions will be added to the file name and search for. The first that +exists will be served. Example: `['html', 'htm']`. + +The default value is `false`. + +##### fallthrough + +Set the middleware to have client errors fall-through as just unhandled +requests, otherwise forward a client error. The difference is that client +errors like a bad request or a request to a non-existent file will cause +this middleware to simply `next()` to your next middleware when this value +is `true`. When this value is `false`, these errors (even 404s), will invoke +`next(err)`. + +Typically `true` is desired such that multiple physical directories can be +mapped to the same web address or for routes to fill in non-existent files. + +The value `false` can be used if this middleware is mounted at a path that +is designed to be strictly a single file system directory, which allows for +short-circuiting 404s for less overhead. This middleware will also reply to +all methods. + +The default value is `true`. + +##### immutable + +Enable or diable the `immutable` directive in the `Cache-Control` response +header, defaults to `false`. If set to `true`, the `maxAge` option should +also be specified to enable caching. The `immutable` directive will prevent +supported clients from making conditional requests during the life of the +`maxAge` option to check if the file has changed. + +##### index + +By default this module will send "index.html" files in response to a request +on a directory. To disable this set `false` or to supply a new index pass a +string or an array in preferred order. + +##### lastModified + +Enable or disable `Last-Modified` header, defaults to true. Uses the file +system's last modified value. + +##### maxAge + +Provide a max-age in milliseconds for http caching, defaults to 0. This +can also be a string accepted by the [ms](https://www.npmjs.org/package/ms#readme) +module. + +##### redirect + +Redirect to trailing "/" when the pathname is a dir. Defaults to `true`. + +##### setHeaders + +Function to set custom headers on response. Alterations to the headers need to +occur synchronously. The function is called as `fn(res, path, stat)`, where +the arguments are: + + - `res` the response object + - `path` the file path that is being sent + - `stat` the stat object of the file that is being sent + +## Examples + +### Serve files with vanilla node.js http server + +```js +var finalhandler = require('finalhandler') +var http = require('http') +var serveStatic = require('serve-static') + +// Serve up public/ftp folder +var serve = serveStatic('public/ftp', {'index': ['index.html', 'index.htm']}) + +// Create server +var server = http.createServer(function onRequest (req, res) { + serve(req, res, finalhandler(req, res)) +}) + +// Listen +server.listen(3000) +``` + +### Serve all files as downloads + +```js +var contentDisposition = require('content-disposition') +var finalhandler = require('finalhandler') +var http = require('http') +var serveStatic = require('serve-static') + +// Serve up public/ftp folder +var serve = serveStatic('public/ftp', { + 'index': false, + 'setHeaders': setHeaders +}) + +// Set header to force download +function setHeaders (res, path) { + res.setHeader('Content-Disposition', contentDisposition(path)) +} + +// Create server +var server = http.createServer(function onRequest (req, res) { + serve(req, res, finalhandler(req, res)) +}) + +// Listen +server.listen(3000) +``` + +### Serving using express + +#### Simple + +This is a simple example of using Express. + +```js +var express = require('express') +var serveStatic = require('serve-static') + +var app = express() + +app.use(serveStatic('public/ftp', {'index': ['default.html', 'default.htm']})) +app.listen(3000) +``` + +#### Multiple roots + +This example shows a simple way to search through multiple directories. +Files are look for in `public-optimized/` first, then `public/` second as +a fallback. + +```js +var express = require('express') +var path = require('path') +var serveStatic = require('serve-static') + +var app = express() + +app.use(serveStatic(path.join(__dirname, 'public-optimized'))) +app.use(serveStatic(path.join(__dirname, 'public'))) +app.listen(3000) +``` + +#### Different settings for paths + +This example shows how to set a different max age depending on the served +file type. In this example, HTML files are not cached, while everything else +is for 1 day. + +```js +var express = require('express') +var path = require('path') +var serveStatic = require('serve-static') + +var app = express() + +app.use(serveStatic(path.join(__dirname, 'public'), { + maxAge: '1d', + setHeaders: setCustomCacheControl +})) + +app.listen(3000) + +function setCustomCacheControl (res, path) { + if (serveStatic.mime.lookup(path) === 'text/html') { + // Custom Cache-Control for HTML files + res.setHeader('Cache-Control', 'public, max-age=0') + } +} +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/serve-static.svg +[npm-url]: https://npmjs.org/package/serve-static +[travis-image]: https://img.shields.io/travis/expressjs/serve-static/master.svg?label=linux +[travis-url]: https://travis-ci.org/expressjs/serve-static +[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/serve-static/master.svg?label=windows +[appveyor-url]: https://ci.appveyor.com/project/dougwilson/serve-static +[coveralls-image]: https://img.shields.io/coveralls/expressjs/serve-static/master.svg +[coveralls-url]: https://coveralls.io/r/expressjs/serve-static +[downloads-image]: https://img.shields.io/npm/dm/serve-static.svg +[downloads-url]: https://npmjs.org/package/serve-static +[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg +[gratipay-url]: https://gratipay.com/dougwilson/ diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/index.js new file mode 100755 index 0000000..3f77391 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/index.js @@ -0,0 +1,209 @@ +/*! + * serve-static + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var parseUrl = require('parseurl') +var resolve = require('path').resolve +var send = require('send') +var url = require('url') + +/** + * Module exports. + * @public + */ + +module.exports = serveStatic +module.exports.mime = send.mime + +/** + * @param {string} root + * @param {object} [options] + * @return {function} + * @public + */ + +function serveStatic (root, options) { + if (!root) { + throw new TypeError('root path required') + } + + if (typeof root !== 'string') { + throw new TypeError('root path must be a string') + } + + // copy options object + var opts = Object.create(options || null) + + // fall-though + var fallthrough = opts.fallthrough !== false + + // default redirect + var redirect = opts.redirect !== false + + // headers listener + var setHeaders = opts.setHeaders + + if (setHeaders && typeof setHeaders !== 'function') { + throw new TypeError('option setHeaders must be function') + } + + // setup options for send + opts.maxage = opts.maxage || opts.maxAge || 0 + opts.root = resolve(root) + + // construct directory listener + var onDirectory = redirect + ? createRedirectDirectoryListener() + : createNotFoundDirectoryListener() + + return function serveStatic (req, res, next) { + if (req.method !== 'GET' && req.method !== 'HEAD') { + if (fallthrough) { + return next() + } + + // method not allowed + res.statusCode = 405 + res.setHeader('Allow', 'GET, HEAD') + res.setHeader('Content-Length', '0') + res.end() + return + } + + var forwardError = !fallthrough + var originalUrl = parseUrl.original(req) + var path = parseUrl(req).pathname + + // make sure redirect occurs at mount + if (path === '/' && originalUrl.pathname.substr(-1) !== '/') { + path = '' + } + + // create send stream + var stream = send(req, path, opts) + + // add directory handler + stream.on('directory', onDirectory) + + // add headers listener + if (setHeaders) { + stream.on('headers', setHeaders) + } + + // add file listener for fallthrough + if (fallthrough) { + stream.on('file', function onFile () { + // once file is determined, always forward error + forwardError = true + }) + } + + // forward errors + stream.on('error', function error (err) { + if (forwardError || !(err.statusCode < 500)) { + next(err) + return + } + + next() + }) + + // pipe + stream.pipe(res) + } +} + +/** + * Collapse all leading slashes into a single slash + * @private + */ +function collapseLeadingSlashes (str) { + for (var i = 0; i < str.length; i++) { + if (str.charCodeAt(i) !== 0x2f /* / */) { + break + } + } + + return i > 1 + ? '/' + str.substr(i) + : str +} + + /** + * Create a minimal HTML document. + * + * @param {string} title + * @param {string} body + * @private + */ + +function createHtmlDocument (title, body) { + return '<!DOCTYPE html>\n' + + '<html lang="en">\n' + + '<head>\n' + + '<meta charset="utf-8">\n' + + '<title>' + title + '</title>\n' + + '</head>\n' + + '<body>\n' + + '<pre>' + body + '</pre>\n' + + '</body>\n' +} + +/** + * Create a directory listener that just 404s. + * @private + */ + +function createNotFoundDirectoryListener () { + return function notFound () { + this.error(404) + } +} + +/** + * Create a directory listener that performs a redirect. + * @private + */ + +function createRedirectDirectoryListener () { + return function redirect (res) { + if (this.hasTrailingSlash()) { + this.error(404) + return + } + + // get original URL + var originalUrl = parseUrl.original(this.req) + + // append trailing slash + originalUrl.path = null + originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + '/') + + // reformat the URL + var loc = encodeUrl(url.format(originalUrl)) + var doc = createHtmlDocument('Redirecting', 'Redirecting to <a href="' + escapeHtml(loc) + '">' + + escapeHtml(loc) + '</a>') + + // send redirect response + res.statusCode = 301 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', Buffer.byteLength(doc)) + res.setHeader('Content-Security-Policy', "default-src 'self'") + res.setHeader('X-Content-Type-Options', 'nosniff') + res.setHeader('Location', loc) + res.end(doc) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/package.json new file mode 100755 index 0000000..cf41f31 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/serve-static/package.json @@ -0,0 +1,111 @@ +{ + "_args": [ + [ + { + "raw": "serve-static@1.13.1", + "scope": null, + "escapedName": "serve-static", + "name": "serve-static", + "rawSpec": "1.13.1", + "spec": "1.13.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "serve-static@1.13.1", + "_id": "serve-static@1.13.1", + "_inCache": true, + "_location": "/serve-static", + "_nodeVersion": "6.11.3", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/serve-static-1.13.1.tgz_1506715867957_0.268530584173277" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "serve-static@1.13.1", + "scope": null, + "escapedName": "serve-static", + "name": "serve-static", + "rawSpec": "1.13.1", + "spec": "1.13.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "_shasum": "4c57d53404a761d8f2e7c1e8a18a47dbf278a719", + "_shrinkwrap": null, + "_spec": "serve-static@1.13.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/expressjs/serve-static/issues" + }, + "dependencies": { + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.1" + }, + "description": "Serve static files", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.2.0", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "shasum": "4c57d53404a761d8f2e7c1e8a18a47dbf278a719", + "tarball": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz" + }, + "engines": { + "node": ">= 0.8.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "f6f76136aa967f917886730c57efd4c9d3bc12f7", + "homepage": "https://github.com/expressjs/serve-static#readme", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "serve-static", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/expressjs/serve-static.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + }, + "version": "1.13.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/LICENSE new file mode 100755 index 0000000..61afa2f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2015, Wes Todd + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/README.md new file mode 100755 index 0000000..826bf02 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/README.md @@ -0,0 +1,26 @@ +# Polyfill for `Object.setPrototypeOf` + +A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. + +## Usage: + +``` +$ npm install --save setprototypeof +``` + +```javascript +var setPrototypeOf = require('setprototypeof'); + +var obj = {}; +setPrototypeOf(obj, { + foo: function() { + return 'bar'; + } +}); +obj.foo(); // bar +``` + +TypeScript is also supported: +```typescript +import setPrototypeOf = require('setprototypeof'); +``` \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.d.ts b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.d.ts new file mode 100755 index 0000000..f108ecd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.d.ts @@ -0,0 +1,2 @@ +declare function setPrototypeOf(o: any, proto: object | null): any; +export = setPrototypeOf; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.js new file mode 100755 index 0000000..93ea417 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/index.js @@ -0,0 +1,15 @@ +module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); + +function setProtoOf(obj, proto) { + obj.__proto__ = proto; + return obj; +} + +function mixinProperties(obj, proto) { + for (var prop in proto) { + if (!obj.hasOwnProperty(prop)) { + obj[prop] = proto[prop]; + } + } + return obj; +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/package.json new file mode 100755 index 0000000..653fb4c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/setprototypeof/package.json @@ -0,0 +1,90 @@ +{ + "_args": [ + [ + { + "raw": "setprototypeof@1.1.0", + "scope": null, + "escapedName": "setprototypeof", + "name": "setprototypeof", + "rawSpec": "1.1.0", + "spec": "1.1.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "setprototypeof@1.1.0", + "_id": "setprototypeof@1.1.0", + "_inCache": true, + "_location": "/setprototypeof", + "_nodeVersion": "8.4.0", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/setprototypeof-1.1.0.tgz_1505346623089_0.6391460271552205" + }, + "_npmUser": { + "name": "wesleytodd", + "email": "wes@wesleytodd.com" + }, + "_npmVersion": "5.3.0", + "_phantomChildren": {}, + "_requested": { + "raw": "setprototypeof@1.1.0", + "scope": null, + "escapedName": "setprototypeof", + "name": "setprototypeof", + "rawSpec": "1.1.0", + "spec": "1.1.0", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "_shasum": "d0bd85536887b6fe7c0d818cb962d9d91c54e656", + "_shrinkwrap": null, + "_spec": "setprototypeof@1.1.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Wes Todd" + }, + "bugs": { + "url": "https://github.com/wesleytodd/setprototypeof/issues" + }, + "dependencies": {}, + "description": "A small polyfill for Object.setprototypeof", + "devDependencies": {}, + "directories": {}, + "dist": { + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "shasum": "d0bd85536887b6fe7c0d818cb962d9d91c54e656", + "tarball": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + }, + "gitHead": "8fc2c260d8b7da91133edefde49a3df461f220c8", + "homepage": "https://github.com/wesleytodd/setprototypeof", + "keywords": [ + "polyfill", + "object", + "setprototypeof" + ], + "license": "ISC", + "main": "index.js", + "maintainers": [ + { + "name": "wesleytodd", + "email": "wes@wesleytodd.com" + } + ], + "name": "setprototypeof", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/wesleytodd/setprototypeof.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "typings": "index.d.ts", + "version": "1.1.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/HISTORY.md new file mode 100755 index 0000000..3015a5f --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/HISTORY.md @@ -0,0 +1,55 @@ +1.3.1 / 2016-11-11 +================== + + * Fix return type in JSDoc + +1.3.0 / 2016-05-17 +================== + + * Add `421 Misdirected Request` + * perf: enable strict mode + +1.2.1 / 2015-02-01 +================== + + * Fix message for status 451 + - `451 Unavailable For Legal Reasons` + +1.2.0 / 2014-09-28 +================== + + * Add `208 Already Repored` + * Add `226 IM Used` + * Add `306 (Unused)` + * Add `415 Unable For Legal Reasons` + * Add `508 Loop Detected` + +1.1.1 / 2014-09-24 +================== + + * Add missing 308 to `codes.json` + +1.1.0 / 2014-09-21 +================== + + * Add `codes.json` for universal support + +1.0.4 / 2014-08-20 +================== + + * Package cleanup + +1.0.3 / 2014-06-08 +================== + + * Add 308 to `.redirect` category + +1.0.2 / 2014-03-13 +================== + + * Add `.retry` category + +1.0.1 / 2014-03-12 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/LICENSE new file mode 100755 index 0000000..82af4df --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/LICENSE @@ -0,0 +1,23 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/README.md new file mode 100755 index 0000000..2bf0756 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/README.md @@ -0,0 +1,103 @@ +# Statuses + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +HTTP status utility for node. + +## API + +```js +var status = require('statuses') +``` + +### var code = status(Integer || String) + +If `Integer` or `String` is a valid HTTP code or status message, then the appropriate `code` will be returned. Otherwise, an error will be thrown. + +```js +status(403) // => 403 +status('403') // => 403 +status('forbidden') // => 403 +status('Forbidden') // => 403 +status(306) // throws, as it's not supported by node.js +``` + +### status.codes + +Returns an array of all the status codes as `Integer`s. + +### var msg = status[code] + +Map of `code` to `status message`. `undefined` for invalid `code`s. + +```js +status[404] // => 'Not Found' +``` + +### var code = status[msg] + +Map of `status message` to `code`. `msg` can either be title-cased or lower-cased. `undefined` for invalid `status message`s. + +```js +status['not found'] // => 404 +status['Not Found'] // => 404 +``` + +### status.redirect[code] + +Returns `true` if a status code is a valid redirect status. + +```js +status.redirect[200] // => undefined +status.redirect[301] // => true +``` + +### status.empty[code] + +Returns `true` if a status code expects an empty body. + +```js +status.empty[200] // => undefined +status.empty[204] // => true +status.empty[304] // => true +``` + +### status.retry[code] + +Returns `true` if you should retry the rest. + +```js +status.retry[501] // => undefined +status.retry[503] // => true +``` + +## Adding Status Codes + +The status codes are primarily sourced from http://www.iana.org/assignments/http-status-codes/http-status-codes-1.csv. +Additionally, custom codes are added from http://en.wikipedia.org/wiki/List_of_HTTP_status_codes. +These are added manually in the `lib/*.json` files. +If you would like to add a status code, add it to the appropriate JSON file. + +To rebuild `codes.json`, run the following: + +```bash +# update src/iana.json +npm run fetch +# build codes.json +npm run build +``` + +[npm-image]: https://img.shields.io/npm/v/statuses.svg +[npm-url]: https://npmjs.org/package/statuses +[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/statuses.svg +[travis-url]: https://travis-ci.org/jshttp/statuses +[coveralls-image]: https://img.shields.io/coveralls/jshttp/statuses.svg +[coveralls-url]: https://coveralls.io/r/jshttp/statuses?branch=master +[downloads-image]: https://img.shields.io/npm/dm/statuses.svg +[downloads-url]: https://npmjs.org/package/statuses diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/codes.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/codes.json new file mode 100755 index 0000000..e765123 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/codes.json @@ -0,0 +1,65 @@ +{ + "100": "Continue", + "101": "Switching Protocols", + "102": "Processing", + "200": "OK", + "201": "Created", + "202": "Accepted", + "203": "Non-Authoritative Information", + "204": "No Content", + "205": "Reset Content", + "206": "Partial Content", + "207": "Multi-Status", + "208": "Already Reported", + "226": "IM Used", + "300": "Multiple Choices", + "301": "Moved Permanently", + "302": "Found", + "303": "See Other", + "304": "Not Modified", + "305": "Use Proxy", + "306": "(Unused)", + "307": "Temporary Redirect", + "308": "Permanent Redirect", + "400": "Bad Request", + "401": "Unauthorized", + "402": "Payment Required", + "403": "Forbidden", + "404": "Not Found", + "405": "Method Not Allowed", + "406": "Not Acceptable", + "407": "Proxy Authentication Required", + "408": "Request Timeout", + "409": "Conflict", + "410": "Gone", + "411": "Length Required", + "412": "Precondition Failed", + "413": "Payload Too Large", + "414": "URI Too Long", + "415": "Unsupported Media Type", + "416": "Range Not Satisfiable", + "417": "Expectation Failed", + "418": "I'm a teapot", + "421": "Misdirected Request", + "422": "Unprocessable Entity", + "423": "Locked", + "424": "Failed Dependency", + "425": "Unordered Collection", + "426": "Upgrade Required", + "428": "Precondition Required", + "429": "Too Many Requests", + "431": "Request Header Fields Too Large", + "451": "Unavailable For Legal Reasons", + "500": "Internal Server Error", + "501": "Not Implemented", + "502": "Bad Gateway", + "503": "Service Unavailable", + "504": "Gateway Timeout", + "505": "HTTP Version Not Supported", + "506": "Variant Also Negotiates", + "507": "Insufficient Storage", + "508": "Loop Detected", + "509": "Bandwidth Limit Exceeded", + "510": "Not Extended", + "511": "Network Authentication Required" +} \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/index.js new file mode 100755 index 0000000..9f955c6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/index.js @@ -0,0 +1,110 @@ +/*! + * statuses + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var codes = require('./codes.json') + +/** + * Module exports. + * @public + */ + +module.exports = status + +// array of status codes +status.codes = populateStatusesMap(status, codes) + +// status codes for redirects +status.redirect = { + 300: true, + 301: true, + 302: true, + 303: true, + 305: true, + 307: true, + 308: true +} + +// status codes for empty bodies +status.empty = { + 204: true, + 205: true, + 304: true +} + +// status codes for when you should retry the request +status.retry = { + 502: true, + 503: true, + 504: true +} + +/** + * Populate the statuses map for given codes. + * @private + */ + +function populateStatusesMap (statuses, codes) { + var arr = [] + + Object.keys(codes).forEach(function forEachCode (code) { + var message = codes[code] + var status = Number(code) + + // Populate properties + statuses[status] = message + statuses[message] = status + statuses[message.toLowerCase()] = status + + // Add to array + arr.push(status) + }) + + return arr +} + +/** + * Get the status code. + * + * Given a number, this will throw if it is not a known status + * code, otherwise the code will be returned. Given a string, + * the string will be parsed for a number and return the code + * if valid, otherwise will lookup the code assuming this is + * the status message. + * + * @param {string|number} code + * @returns {number} + * @public + */ + +function status (code) { + if (typeof code === 'number') { + if (!status[code]) throw new Error('invalid status code: ' + code) + return code + } + + if (typeof code !== 'string') { + throw new TypeError('code must be a number or string') + } + + // '403' + var n = parseInt(code, 10) + if (!isNaN(n)) { + if (!status[n]) throw new Error('invalid status code: ' + n) + return n + } + + n = status[code.toLowerCase()] + if (!n) throw new Error('invalid status message: "' + code + '"') + return n +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/package.json new file mode 100755 index 0000000..1462bb2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/statuses/package.json @@ -0,0 +1,141 @@ +{ + "_args": [ + [ + { + "raw": "statuses@~1.3.1", + "scope": null, + "escapedName": "statuses", + "name": "statuses", + "rawSpec": "~1.3.1", + "spec": ">=1.3.1 <1.4.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "statuses@>=1.3.1 <1.4.0", + "_id": "statuses@1.3.1", + "_inCache": true, + "_location": "/statuses", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/statuses-1.3.1.tgz_1478923281491_0.5574048184789717" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "statuses@~1.3.1", + "scope": null, + "escapedName": "statuses", + "name": "statuses", + "rawSpec": "~1.3.1", + "spec": ">=1.3.1 <1.4.0", + "type": "range" + }, + "_requiredBy": [ + "/express", + "/finalhandler", + "/http-errors", + "/send" + ], + "_resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "_shasum": "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e", + "_shrinkwrap": null, + "_spec": "statuses@~1.3.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/statuses/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": {}, + "description": "HTTP status utility", + "devDependencies": { + "csv-parse": "1.1.7", + "eslint": "3.10.0", + "eslint-config-standard": "6.2.1", + "eslint-plugin-promise": "3.3.2", + "eslint-plugin-standard": "2.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5", + "stream-to-array": "2.3.0" + }, + "directories": {}, + "dist": { + "shasum": "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e", + "tarball": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "HISTORY.md", + "index.js", + "codes.json", + "LICENSE" + ], + "gitHead": "28a619be77f5b4741e6578a5764c5b06ec6d4aea", + "homepage": "https://github.com/jshttp/statuses", + "keywords": [ + "http", + "status", + "code" + ], + "license": "MIT", + "maintainers": [ + { + "name": "defunctzombie", + "email": "shtylman@gmail.com" + }, + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "fishrock123", + "email": "fishrock123@rocketmail.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + }, + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + { + "name": "tjholowaychuk", + "email": "tj@vision-media.ca" + } + ], + "name": "statuses", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/statuses.git" + }, + "scripts": { + "build": "node scripts/build.js", + "fetch": "node scripts/fetch.js", + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "update": "npm run fetch && npm run build" + }, + "version": "1.3.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/HISTORY.md new file mode 100755 index 0000000..96bc93e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/HISTORY.md @@ -0,0 +1,218 @@ +1.6.15 / 2017-03-31 +=================== + + * deps: mime-types@~2.1.15 + - Add new mime types + +1.6.14 / 2016-11-18 +=================== + + * deps: mime-types@~2.1.13 + - Add new mime types + +1.6.13 / 2016-05-18 +=================== + + * deps: mime-types@~2.1.11 + - Add new mime types + +1.6.12 / 2016-02-28 +=================== + + * deps: mime-types@~2.1.10 + - Add new mime types + - Fix extension of `application/dash+xml` + - Update primary extension for `audio/mp4` + +1.6.11 / 2016-01-29 +=================== + + * deps: mime-types@~2.1.9 + - Add new mime types + +1.6.10 / 2015-12-01 +=================== + + * deps: mime-types@~2.1.8 + - Add new mime types + +1.6.9 / 2015-09-27 +================== + + * deps: mime-types@~2.1.7 + - Add new mime types + +1.6.8 / 2015-09-04 +================== + + * deps: mime-types@~2.1.6 + - Add new mime types + +1.6.7 / 2015-08-20 +================== + + * Fix type error when given invalid type to match against + * deps: mime-types@~2.1.5 + - Add new mime types + +1.6.6 / 2015-07-31 +================== + + * deps: mime-types@~2.1.4 + - Add new mime types + +1.6.5 / 2015-07-16 +================== + + * deps: mime-types@~2.1.3 + - Add new mime types + +1.6.4 / 2015-07-01 +================== + + * deps: mime-types@~2.1.2 + - Add new mime types + * perf: enable strict mode + * perf: remove argument reassignment + +1.6.3 / 2015-06-08 +================== + + * deps: mime-types@~2.1.1 + - Add new mime types + * perf: reduce try block size + * perf: remove bitwise operations + +1.6.2 / 2015-05-10 +================== + + * deps: mime-types@~2.0.11 + - Add new mime types + +1.6.1 / 2015-03-13 +================== + + * deps: mime-types@~2.0.10 + - Add new mime types + +1.6.0 / 2015-02-12 +================== + + * fix false-positives in `hasBody` `Transfer-Encoding` check + * support wildcard for both type and subtype (`*/*`) + +1.5.7 / 2015-02-09 +================== + + * fix argument reassignment + * deps: mime-types@~2.0.9 + - Add new mime types + +1.5.6 / 2015-01-29 +================== + + * deps: mime-types@~2.0.8 + - Add new mime types + +1.5.5 / 2014-12-30 +================== + + * deps: mime-types@~2.0.7 + - Add new mime types + - Fix missing extensions + - Fix various invalid MIME type entries + - Remove example template MIME types + - deps: mime-db@~1.5.0 + +1.5.4 / 2014-12-10 +================== + + * deps: mime-types@~2.0.4 + - Add new mime types + - deps: mime-db@~1.3.0 + +1.5.3 / 2014-11-09 +================== + + * deps: mime-types@~2.0.3 + - Add new mime types + - deps: mime-db@~1.2.0 + +1.5.2 / 2014-09-28 +================== + + * deps: mime-types@~2.0.2 + - Add new mime types + - deps: mime-db@~1.1.0 + +1.5.1 / 2014-09-07 +================== + + * Support Node.js 0.6 + * deps: media-typer@0.3.0 + * deps: mime-types@~2.0.1 + - Support Node.js 0.6 + +1.5.0 / 2014-09-05 +================== + + * fix `hasbody` to be true for `content-length: 0` + +1.4.0 / 2014-09-02 +================== + + * update mime-types + +1.3.2 / 2014-06-24 +================== + + * use `~` range on mime-types + +1.3.1 / 2014-06-19 +================== + + * fix global variable leak + +1.3.0 / 2014-06-19 +================== + + * improve type parsing + + - invalid media type never matches + - media type not case-sensitive + - extra LWS does not affect results + +1.2.2 / 2014-06-19 +================== + + * fix behavior on unknown type argument + +1.2.1 / 2014-06-03 +================== + + * switch dependency from `mime` to `mime-types@1.0.0` + +1.2.0 / 2014-05-11 +================== + + * support suffix matching: + + - `+json` matches `application/vnd+json` + - `*/vnd+json` matches `application/vnd+json` + - `application/*+json` matches `application/vnd+json` + +1.1.0 / 2014-04-12 +================== + + * add non-array values support + * expose internal utilities: + + - `.is()` + - `.hasBody()` + - `.normalize()` + - `.match()` + +1.0.1 / 2014-03-30 +================== + + * add `multipart` as a shorthand diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/LICENSE new file mode 100755 index 0000000..386b7b6 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong <me@jongleberry.com> +Copyright (c) 2014-2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/README.md new file mode 100755 index 0000000..70c47da --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/README.md @@ -0,0 +1,146 @@ +# type-is + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Infer the content-type of a request. + +### Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install type-is +``` + +## API + +```js +var http = require('http') +var typeis = require('type-is') + +http.createServer(function (req, res) { + var istext = typeis(req, ['text/*']) + res.end('you ' + (istext ? 'sent' : 'did not send') + ' me text') +}) +``` + +### type = typeis(request, types) + +`request` is the node HTTP request. `types` is an array of types. + +<!-- eslint-disable no-undef --> + +```js +// req.headers.content-type = 'application/json' + +typeis(req, ['json']) // 'json' +typeis(req, ['html', 'json']) // 'json' +typeis(req, ['application/*']) // 'application/json' +typeis(req, ['application/json']) // 'application/json' + +typeis(req, ['html']) // false +``` + +### typeis.hasBody(request) + +Returns a Boolean if the given `request` has a body, regardless of the +`Content-Type` header. + +Having a body has no relation to how large the body is (it may be 0 bytes). +This is similar to how file existence works. If a body does exist, then this +indicates that there is data to read from the Node.js request stream. + +<!-- eslint-disable no-undef --> + +```js +if (typeis.hasBody(req)) { + // read the body, since there is one + + req.on('data', function (chunk) { + // ... + }) +} +``` + +### type = typeis.is(mediaType, types) + +`mediaType` is the [media type](https://tools.ietf.org/html/rfc6838) string. `types` is an array of types. + +<!-- eslint-disable no-undef --> + +```js +var mediaType = 'application/json' + +typeis.is(mediaType, ['json']) // 'json' +typeis.is(mediaType, ['html', 'json']) // 'json' +typeis.is(mediaType, ['application/*']) // 'application/json' +typeis.is(mediaType, ['application/json']) // 'application/json' + +typeis.is(mediaType, ['html']) // false +``` + +### Each type can be: + +- An extension name such as `json`. This name will be returned if matched. +- A mime type such as `application/json`. +- A mime type with a wildcard such as `*/*` or `*/json` or `application/*`. The full mime type will be returned if matched. +- A suffix such as `+json`. This can be combined with a wildcard such as `*/vnd+json` or `application/*+json`. The full mime type will be returned if matched. + +`false` will be returned if no type matches or the content type is invalid. + +`null` will be returned if the request does not have a body. + +## Examples + +### Example body parser + +```js +var express = require('express') +var typeis = require('type-is') + +var app = express() + +app.use(function bodyParser (req, res, next) { + if (!typeis.hasBody(req)) { + return next() + } + + switch (typeis(req, ['urlencoded', 'json', 'multipart'])) { + case 'urlencoded': + // parse urlencoded body + throw new Error('implement urlencoded body parsing') + case 'json': + // parse json body + throw new Error('implement json body parsing') + case 'multipart': + // parse multipart body + throw new Error('implement multipart body parsing') + default: + // 415 error code + res.statusCode = 415 + res.end() + break + } +}) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/type-is.svg +[npm-url]: https://npmjs.org/package/type-is +[node-version-image]: https://img.shields.io/node/v/type-is.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/type-is/master.svg +[travis-url]: https://travis-ci.org/jshttp/type-is +[coveralls-image]: https://img.shields.io/coveralls/jshttp/type-is/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/type-is?branch=master +[downloads-image]: https://img.shields.io/npm/dm/type-is.svg +[downloads-url]: https://npmjs.org/package/type-is diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/index.js new file mode 100755 index 0000000..4da7301 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/index.js @@ -0,0 +1,262 @@ +/*! + * type-is + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var typer = require('media-typer') +var mime = require('mime-types') + +/** + * Module exports. + * @public + */ + +module.exports = typeofrequest +module.exports.is = typeis +module.exports.hasBody = hasbody +module.exports.normalize = normalize +module.exports.match = mimeMatch + +/** + * Compare a `value` content-type with `types`. + * Each `type` can be an extension like `html`, + * a special shortcut like `multipart` or `urlencoded`, + * or a mime type. + * + * If no types match, `false` is returned. + * Otherwise, the first `type` that matches is returned. + * + * @param {String} value + * @param {Array} types + * @public + */ + +function typeis (value, types_) { + var i + var types = types_ + + // remove parameters and normalize + var val = tryNormalizeType(value) + + // no type or invalid + if (!val) { + return false + } + + // support flattened arguments + if (types && !Array.isArray(types)) { + types = new Array(arguments.length - 1) + for (i = 0; i < types.length; i++) { + types[i] = arguments[i + 1] + } + } + + // no types, return the content type + if (!types || !types.length) { + return val + } + + var type + for (i = 0; i < types.length; i++) { + if (mimeMatch(normalize(type = types[i]), val)) { + return type[0] === '+' || type.indexOf('*') !== -1 + ? val + : type + } + } + + // no matches + return false +} + +/** + * Check if a request has a request body. + * A request with a body __must__ either have `transfer-encoding` + * or `content-length` headers set. + * http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.3 + * + * @param {Object} request + * @return {Boolean} + * @public + */ + +function hasbody (req) { + return req.headers['transfer-encoding'] !== undefined || + !isNaN(req.headers['content-length']) +} + +/** + * Check if the incoming request contains the "Content-Type" + * header field, and it contains any of the give mime `type`s. + * If there is no request body, `null` is returned. + * If there is no content type, `false` is returned. + * Otherwise, it returns the first `type` that matches. + * + * Examples: + * + * // With Content-Type: text/html; charset=utf-8 + * this.is('html'); // => 'html' + * this.is('text/html'); // => 'text/html' + * this.is('text/*', 'application/json'); // => 'text/html' + * + * // When Content-Type is application/json + * this.is('json', 'urlencoded'); // => 'json' + * this.is('application/json'); // => 'application/json' + * this.is('html', 'application/*'); // => 'application/json' + * + * this.is('html'); // => false + * + * @param {String|Array} types... + * @return {String|false|null} + * @public + */ + +function typeofrequest (req, types_) { + var types = types_ + + // no body + if (!hasbody(req)) { + return null + } + + // support flattened arguments + if (arguments.length > 2) { + types = new Array(arguments.length - 1) + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i + 1] + } + } + + // request content type + var value = req.headers['content-type'] + + return typeis(value, types) +} + +/** + * Normalize a mime type. + * If it's a shorthand, expand it to a valid mime type. + * + * In general, you probably want: + * + * var type = is(req, ['urlencoded', 'json', 'multipart']); + * + * Then use the appropriate body parsers. + * These three are the most common request body types + * and are thus ensured to work. + * + * @param {String} type + * @private + */ + +function normalize (type) { + if (typeof type !== 'string') { + // invalid type + return false + } + + switch (type) { + case 'urlencoded': + return 'application/x-www-form-urlencoded' + case 'multipart': + return 'multipart/*' + } + + if (type[0] === '+') { + // "+json" -> "*/*+json" expando + return '*/*' + type + } + + return type.indexOf('/') === -1 + ? mime.lookup(type) + : type +} + +/** + * Check if `expected` mime type + * matches `actual` mime type with + * wildcard and +suffix support. + * + * @param {String} expected + * @param {String} actual + * @return {Boolean} + * @private + */ + +function mimeMatch (expected, actual) { + // invalid type + if (expected === false) { + return false + } + + // split types + var actualParts = actual.split('/') + var expectedParts = expected.split('/') + + // invalid format + if (actualParts.length !== 2 || expectedParts.length !== 2) { + return false + } + + // validate type + if (expectedParts[0] !== '*' && expectedParts[0] !== actualParts[0]) { + return false + } + + // validate suffix wildcard + if (expectedParts[1].substr(0, 2) === '*+') { + return expectedParts[1].length <= actualParts[1].length + 1 && + expectedParts[1].substr(1) === actualParts[1].substr(1 - expectedParts[1].length) + } + + // validate subtype + if (expectedParts[1] !== '*' && expectedParts[1] !== actualParts[1]) { + return false + } + + return true +} + +/** + * Normalize a type and remove parameters. + * + * @param {string} value + * @return {string} + * @private + */ + +function normalizeType (value) { + // parse the type + var type = typer.parse(value) + + // remove the parameters + type.parameters = undefined + + // reformat it + return typer.format(type) +} + +/** + * Try to normalize a type and remove parameters. + * + * @param {string} value + * @return {string} + * @private + */ + +function tryNormalizeType (value) { + try { + return normalizeType(value) + } catch (err) { + return null + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/package.json new file mode 100755 index 0000000..37994cd --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/type-is/package.json @@ -0,0 +1,122 @@ +{ + "_args": [ + [ + { + "raw": "type-is@~1.6.15", + "scope": null, + "escapedName": "type-is", + "name": "type-is", + "rawSpec": "~1.6.15", + "spec": ">=1.6.15 <1.7.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "type-is@>=1.6.15 <1.7.0", + "_id": "type-is@1.6.15", + "_inCache": true, + "_location": "/type-is", + "_nodeVersion": "4.7.3", + "_npmOperationalInternal": { + "host": "packages-18-east.internal.npmjs.com", + "tmp": "tmp/type-is-1.6.15.tgz_1491016789014_0.6958203655667603" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "2.15.11", + "_phantomChildren": {}, + "_requested": { + "raw": "type-is@~1.6.15", + "scope": null, + "escapedName": "type-is", + "name": "type-is", + "rawSpec": "~1.6.15", + "spec": ">=1.6.15 <1.7.0", + "type": "range" + }, + "_requiredBy": [ + "/body-parser", + "/express" + ], + "_resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "_shasum": "cab10fb4909e441c82842eafe1ad646c81804410", + "_shrinkwrap": null, + "_spec": "type-is@~1.6.15", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "bugs": { + "url": "https://github.com/jshttp/type-is/issues" + }, + "contributors": [ + { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + } + ], + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.15" + }, + "description": "Infer the content-type of a request.", + "devDependencies": { + "eslint": "3.19.0", + "eslint-config-standard": "7.1.0", + "eslint-plugin-markdown": "1.0.0-beta.4", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "2.1.1", + "istanbul": "0.4.5", + "mocha": "1.21.5" + }, + "directories": {}, + "dist": { + "shasum": "cab10fb4909e441c82842eafe1ad646c81804410", + "tarball": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz" + }, + "engines": { + "node": ">= 0.6" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "gitHead": "9e88be851cc628364ad8842433dce32437ea4e73", + "homepage": "https://github.com/jshttp/type-is#readme", + "keywords": [ + "content", + "type", + "checking" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + { + "name": "jongleberry", + "email": "jonathanrichardong@gmail.com" + } + ], + "name": "type-is", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/type-is.git" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.6.15" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/HISTORY.md new file mode 100755 index 0000000..85e0f8d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/HISTORY.md @@ -0,0 +1,4 @@ +1.0.0 / 2015-06-14 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/LICENSE new file mode 100755 index 0000000..aed0138 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/README.md new file mode 100755 index 0000000..e536ad2 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/README.md @@ -0,0 +1,43 @@ +# unpipe + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Unpipe a stream from all destinations. + +## Installation + +```sh +$ npm install unpipe +``` + +## API + +```js +var unpipe = require('unpipe') +``` + +### unpipe(stream) + +Unpipes all destinations from a given stream. With stream 2+, this is +equivalent to `stream.unpipe()`. When used with streams 1 style streams +(typically Node.js 0.8 and below), this module attempts to undo the +actions done in `stream.pipe(dest)`. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/unpipe.svg +[npm-url]: https://npmjs.org/package/unpipe +[node-image]: https://img.shields.io/node/v/unpipe.svg +[node-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg +[travis-url]: https://travis-ci.org/stream-utils/unpipe +[coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg +[coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master +[downloads-image]: https://img.shields.io/npm/dm/unpipe.svg +[downloads-url]: https://npmjs.org/package/unpipe diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/index.js new file mode 100755 index 0000000..15c3d97 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/index.js @@ -0,0 +1,69 @@ +/*! + * unpipe + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = unpipe + +/** + * Determine if there are Node.js pipe-like data listeners. + * @private + */ + +function hasPipeDataListeners(stream) { + var listeners = stream.listeners('data') + + for (var i = 0; i < listeners.length; i++) { + if (listeners[i].name === 'ondata') { + return true + } + } + + return false +} + +/** + * Unpipe a stream from all destinations. + * + * @param {object} stream + * @public + */ + +function unpipe(stream) { + if (!stream) { + throw new TypeError('argument stream is required') + } + + if (typeof stream.unpipe === 'function') { + // new-style + stream.unpipe() + return + } + + // Node.js 0.8 hack + if (!hasPipeDataListeners(stream)) { + return + } + + var listener + var listeners = stream.listeners('close') + + for (var i = 0; i < listeners.length; i++) { + listener = listeners[i] + + if (listener.name !== 'cleanup' && listener.name !== 'onclose') { + continue + } + + // invoke the listener + listener.call(stream) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/package.json new file mode 100755 index 0000000..ccd611d --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/unpipe/package.json @@ -0,0 +1,94 @@ +{ + "_args": [ + [ + { + "raw": "unpipe@1.0.0", + "scope": null, + "escapedName": "unpipe", + "name": "unpipe", + "rawSpec": "1.0.0", + "spec": "1.0.0", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\raw-body" + ] + ], + "_from": "unpipe@1.0.0", + "_id": "unpipe@1.0.0", + "_inCache": true, + "_location": "/unpipe", + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "1.4.28", + "_phantomChildren": {}, + "_requested": { + "raw": "unpipe@1.0.0", + "scope": null, + "escapedName": "unpipe", + "name": "unpipe", + "rawSpec": "1.0.0", + "spec": "1.0.0", + "type": "version" + }, + "_requiredBy": [ + "/finalhandler", + "/raw-body" + ], + "_resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "_shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec", + "_shrinkwrap": null, + "_spec": "unpipe@1.0.0", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\raw-body", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/stream-utils/unpipe/issues" + }, + "dependencies": {}, + "description": "Unpipe a stream from all destinations", + "devDependencies": { + "istanbul": "0.3.15", + "mocha": "2.2.5", + "readable-stream": "1.1.13" + }, + "directories": {}, + "dist": { + "shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec", + "tarball": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "gitHead": "d2df901c06487430e78dca62b6edb8bb2fc5e99d", + "homepage": "https://github.com/stream-utils/unpipe", + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "unpipe", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/stream-utils/unpipe.git" + }, + "scripts": { + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.0.0" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/.npmignore b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/.npmignore new file mode 100755 index 0000000..3e53844 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/.npmignore @@ -0,0 +1,9 @@ +CONTRIBUTING.md +Makefile +docs/ +examples/ +reports/ +test/ + +.jshintrc +.travis.yml diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/LICENSE new file mode 100755 index 0000000..76f6d08 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013-2017 Jared Hanson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/README.md new file mode 100755 index 0000000..0cb7117 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/README.md @@ -0,0 +1,34 @@ +# utils-merge + +[](https://www.npmjs.com/package/utils-merge) +[](https://travis-ci.org/jaredhanson/utils-merge) +[](https://codeclimate.com/github/jaredhanson/utils-merge) +[](https://coveralls.io/r/jaredhanson/utils-merge) +[](https://david-dm.org/jaredhanson/utils-merge) + + +Merges the properties from a source object into a destination object. + +## Install + +```bash +$ npm install utils-merge +``` + +## Usage + +```javascript +var a = { foo: 'bar' } + , b = { bar: 'baz' }; + +merge(a, b); +// => { foo: 'bar', bar: 'baz' } +``` + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2013-2017 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> + +<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/vK9dyjRnnWsMzzJTQ57fRJpH/jaredhanson/utils-merge'> <img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/vK9dyjRnnWsMzzJTQ57fRJpH/jaredhanson/utils-merge.svg' /></a> diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/index.js new file mode 100755 index 0000000..4265c69 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/index.js @@ -0,0 +1,23 @@ +/** + * Merge object b with object a. + * + * var a = { foo: 'bar' } + * , b = { bar: 'baz' }; + * + * merge(a, b); + * // => { foo: 'bar', bar: 'baz' } + * + * @param {Object} a + * @param {Object} b + * @return {Object} + * @api public + */ + +exports = module.exports = function(a, b){ + if (a && b) { + for (var key in b) { + a[key] = b[key]; + } + } + return a; +}; diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/package.json new file mode 100755 index 0000000..455c947 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/utils-merge/package.json @@ -0,0 +1,101 @@ +{ + "_args": [ + [ + { + "raw": "utils-merge@1.0.1", + "scope": null, + "escapedName": "utils-merge", + "name": "utils-merge", + "rawSpec": "1.0.1", + "spec": "1.0.1", + "type": "version" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "utils-merge@1.0.1", + "_id": "utils-merge@1.0.1", + "_inCache": true, + "_location": "/utils-merge", + "_nodeVersion": "6.9.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/utils-merge-1.0.1.tgz_1505866719585_0.7930543632246554" + }, + "_npmUser": { + "name": "jaredhanson", + "email": "jaredhanson@gmail.com" + }, + "_npmVersion": "3.10.8", + "_phantomChildren": {}, + "_requested": { + "raw": "utils-merge@1.0.1", + "scope": null, + "escapedName": "utils-merge", + "name": "utils-merge", + "rawSpec": "1.0.1", + "spec": "1.0.1", + "type": "version" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "_shasum": "9f95710f50a267947b2ccc124741c1028427e713", + "_shrinkwrap": null, + "_spec": "utils-merge@1.0.1", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Jared Hanson", + "email": "jaredhanson@gmail.com", + "url": "http://www.jaredhanson.net/" + }, + "bugs": { + "url": "http://github.com/jaredhanson/utils-merge/issues" + }, + "dependencies": {}, + "description": "merge() utility function", + "devDependencies": { + "chai": "1.x.x", + "make-node": "0.3.x", + "mocha": "1.x.x" + }, + "directories": {}, + "dist": { + "shasum": "9f95710f50a267947b2ccc124741c1028427e713", + "tarball": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + }, + "engines": { + "node": ">= 0.4.0" + }, + "gitHead": "680a65305312a990751fd32b83bd2c12d67809d4", + "homepage": "https://github.com/jaredhanson/utils-merge#readme", + "keywords": [ + "util" + ], + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "http://opensource.org/licenses/MIT" + } + ], + "main": "./index", + "maintainers": [ + { + "name": "jaredhanson", + "email": "jaredhanson@gmail.com" + } + ], + "name": "utils-merge", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git://github.com/jaredhanson/utils-merge.git" + }, + "scripts": { + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" + }, + "version": "1.0.1" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/HISTORY.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/HISTORY.md new file mode 100755 index 0000000..f6cbcf7 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/HISTORY.md @@ -0,0 +1,39 @@ +1.1.2 / 2017-09-23 +================== + + * perf: improve header token parsing speed + +1.1.1 / 2017-03-20 +================== + + * perf: hoist regular expression + +1.1.0 / 2015-09-29 +================== + + * Only accept valid field names in the `field` argument + - Ensures the resulting string is a valid HTTP header value + +1.0.1 / 2015-07-08 +================== + + * Fix setting empty header from empty `field` + * perf: enable strict mode + * perf: remove argument reassignments + +1.0.0 / 2014-08-10 +================== + + * Accept valid `Vary` header string as `field` + * Add `vary.append` for low-level string manipulation + * Move to `jshttp` orgainzation + +0.1.0 / 2014-06-05 +================== + + * Support array of fields to set + +0.0.0 / 2014-06-04 +================== + + * Initial release diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/LICENSE b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/LICENSE new file mode 100755 index 0000000..84441fb --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/README.md b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/README.md new file mode 100755 index 0000000..cc000b3 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/README.md @@ -0,0 +1,101 @@ +# vary + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Manipulate the HTTP Vary header + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install vary +``` + +## API + +<!-- eslint-disable no-unused-vars --> + +```js +var vary = require('vary') +``` + +### vary(res, field) + +Adds the given header `field` to the `Vary` response header of `res`. +This can be a string of a single field, a string of a valid `Vary` +header, or an array of multiple fields. + +This will append the header if not already listed, otherwise leaves +it listed in the current location. + +<!-- eslint-disable no-undef --> + +```js +// Append "Origin" to the Vary header of the response +vary(res, 'Origin') +``` + +### vary.append(header, field) + +Adds the given header `field` to the `Vary` response header string `header`. +This can be a string of a single field, a string of a valid `Vary` header, +or an array of multiple fields. + +This will append the header if not already listed, otherwise leaves +it listed in the current location. The new header string is returned. + +<!-- eslint-disable no-undef --> + +```js +// Get header string appending "Origin" to "Accept, User-Agent" +vary.append('Accept, User-Agent', 'Origin') +``` + +## Examples + +### Updating the Vary header when content is based on it + +```js +var http = require('http') +var vary = require('vary') + +http.createServer(function onRequest (req, res) { + // about to user-agent sniff + vary(res, 'User-Agent') + + var ua = req.headers['user-agent'] || '' + var isMobile = /mobi|android|touch|mini/i.test(ua) + + // serve site, depending on isMobile + res.setHeader('Content-Type', 'text/html') + res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user') +}) +``` + +## Testing + +```sh +$ npm test +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/vary.svg +[npm-url]: https://npmjs.org/package/vary +[node-version-image]: https://img.shields.io/node/v/vary.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/vary/master.svg +[travis-url]: https://travis-ci.org/jshttp/vary +[coveralls-image]: https://img.shields.io/coveralls/jshttp/vary/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/vary +[downloads-image]: https://img.shields.io/npm/dm/vary.svg +[downloads-url]: https://npmjs.org/package/vary diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/index.js b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/index.js new file mode 100755 index 0000000..5b5e741 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/index.js @@ -0,0 +1,149 @@ +/*! + * vary + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + */ + +module.exports = vary +module.exports.append = append + +/** + * RegExp to match field-name in RFC 7230 sec 3.2 + * + * field-name = token + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + */ + +var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/ + +/** + * Append a field to a vary header. + * + * @param {String} header + * @param {String|Array} field + * @return {String} + * @public + */ + +function append (header, field) { + if (typeof header !== 'string') { + throw new TypeError('header argument is required') + } + + if (!field) { + throw new TypeError('field argument is required') + } + + // get fields array + var fields = !Array.isArray(field) + ? parse(String(field)) + : field + + // assert on invalid field names + for (var j = 0; j < fields.length; j++) { + if (!FIELD_NAME_REGEXP.test(fields[j])) { + throw new TypeError('field argument contains an invalid header name') + } + } + + // existing, unspecified vary + if (header === '*') { + return header + } + + // enumerate current values + var val = header + var vals = parse(header.toLowerCase()) + + // unspecified vary + if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) { + return '*' + } + + for (var i = 0; i < fields.length; i++) { + var fld = fields[i].toLowerCase() + + // append value (case-preserving) + if (vals.indexOf(fld) === -1) { + vals.push(fld) + val = val + ? val + ', ' + fields[i] + : fields[i] + } + } + + return val +} + +/** + * Parse a vary header into an array. + * + * @param {String} header + * @return {Array} + * @private + */ + +function parse (header) { + var end = 0 + var list = [] + var start = 0 + + // gather tokens + for (var i = 0, len = header.length; i < len; i++) { + switch (header.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + 1 + } + break + case 0x2c: /* , */ + list.push(header.substring(start, end)) + start = end = i + 1 + break + default: + end = i + 1 + break + } + } + + // final token + list.push(header.substring(start, end)) + + return list +} + +/** + * Mark that a request is varied on a header field. + * + * @param {Object} res + * @param {String|Array} field + * @public + */ + +function vary (res, field) { + if (!res || !res.getHeader || !res.setHeader) { + // quack quack + throw new TypeError('res argument is required') + } + + // get existing header + var val = res.getHeader('Vary') || '' + var header = Array.isArray(val) + ? val.join(', ') + : String(val) + + // set new header + if ((val = append(header, field))) { + res.setHeader('Vary', val) + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/package.json b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/package.json new file mode 100755 index 0000000..25cf977 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/node_modules/vary/package.json @@ -0,0 +1,114 @@ +{ + "_args": [ + [ + { + "raw": "vary@~1.1.2", + "scope": null, + "escapedName": "vary", + "name": "vary", + "rawSpec": "~1.1.2", + "spec": ">=1.1.2 <1.2.0", + "type": "range" + }, + "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express" + ] + ], + "_from": "vary@>=1.1.2 <1.2.0", + "_id": "vary@1.1.2", + "_inCache": true, + "_location": "/vary", + "_nodeVersion": "6.11.1", + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/vary-1.1.2.tgz_1506217630296_0.28528453782200813" + }, + "_npmUser": { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + }, + "_npmVersion": "3.10.10", + "_phantomChildren": {}, + "_requested": { + "raw": "vary@~1.1.2", + "scope": null, + "escapedName": "vary", + "name": "vary", + "rawSpec": "~1.1.2", + "spec": ">=1.1.2 <1.2.0", + "type": "range" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "_shasum": "2299f02c6ded30d4a5961b0b9f74524a18f634fc", + "_shrinkwrap": null, + "_spec": "vary@~1.1.2", + "_where": "C:\\Users\\Nelson\\Desktop\\ClassExamples\\Express\\ExpressCode\\example1\\node_modules\\express", + "author": { + "name": "Douglas Christopher Wilson", + "email": "doug@somethingdoug.com" + }, + "bugs": { + "url": "https://github.com/jshttp/vary/issues" + }, + "dependencies": {}, + "description": "Manipulate the HTTP Vary header", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "supertest": "1.1.0" + }, + "directories": {}, + "dist": { + "shasum": "2299f02c6ded30d4a5961b0b9f74524a18f634fc", + "tarball": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "gitHead": "4067e646233fbc8ec9e7a9cd78d6f063c6fdc17e", + "homepage": "https://github.com/jshttp/vary#readme", + "keywords": [ + "http", + "res", + "vary" + ], + "license": "MIT", + "maintainers": [ + { + "name": "dougwilson", + "email": "doug@somethingdoug.com" + } + ], + "name": "vary", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/vary.git" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.1.2" +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/package.json b/389N_stuff/code_examples/ExpressCode/examples/package.json new file mode 100755 index 0000000..a6db9bc --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/package.json @@ -0,0 +1,17 @@ +{ + "name": "expressintro", + "version": "1.0.0", + "description": "express introduction", + "main": "example1.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "cmsc389N", + "license": "ISC", + "dependencies": { + "body-parser": "^1.18.2", + "ejs": "^2.5.7", + "express": "^4.16.2", + "morgan": "^1.9.0" + } +} diff --git a/389N_stuff/code_examples/ExpressCode/examples/postParameters.js b/389N_stuff/code_examples/ExpressCode/examples/postParameters.js new file mode 100755 index 0000000..bafc598 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/postParameters.js @@ -0,0 +1,22 @@ + +let http = require("http"); +let path = require("path"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ +let bodyParser = require("body-parser"); + +app.set("views", path.resolve(__dirname, "templates")); +app.set("view engine", "ejs"); + +/* Initializes request.body with post information */ +app.use(bodyParser.urlencoded({extended:false})); + +app.post("/", function(request, response) { + let variables = { semester: request.body.semester, + teacher : request.body.teacher + }; + response.render("courseInfo", variables); +}); + +console.log("Server started on port 7003"); +http.createServer(app).listen(7003); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/queryArguments.js b/389N_stuff/code_examples/ExpressCode/examples/queryArguments.js new file mode 100755 index 0000000..767c55c --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/queryArguments.js @@ -0,0 +1,21 @@ +/* + *http://localhost:7002/?semester=fall + */ + +let http = require("http"); +let path = require("path"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ + +app.set("views", path.resolve(__dirname, "templates")); +app.set("view engine", "ejs"); + +app.get("/", function(request, response) { + let variables = { semester: request.query.semester, + teacher : request.query.teacher + }; + response.render("courseInfo", variables); +}); + +console.log("Server started on port 7002"); +http.createServer(app).listen(7002); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/routing.js b/389N_stuff/code_examples/ExpressCode/examples/routing.js new file mode 100755 index 0000000..67e3258 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/routing.js @@ -0,0 +1,27 @@ +/* + * http://localhost:8000/class/summer + */ +let http = require("http"); +let express = require("express"); /* Accessing express module */ + +let app = express(); /* app is a request handler function */ + +app.get("/", function(request, response) { + response.end("Welcome to the cmsc389N home page"); +}); + +app.get("/syllabus", function(request, response) { + response.end("Class Syllabus") +}); + +app.get("/class/:semester", function(request, response) { + response.end("Information for semester: " + request.params.semester); +}); + +/* Middleware function invoked if above ones don't match */ +app.use(function (request, response) { + response.status(404).send("Resource not found"); +}); + +console.log("Server started on port 8000"); +http.createServer(app).listen(8000); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/Testudo.jpg b/389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/Testudo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..64478744002ecfaf2de8e0ef57b122468eb9ea9d GIT binary patch literal 18507 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 literal 0 HcmV?d00001 diff --git a/389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/armory.jpg b/389N_stuff/code_examples/ExpressCode/examples/serverStaticFiles/armory.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a1a7677a50c3232d6729d9b3b75e41cd09e6800b GIT binary patch literal 33190 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 WSvEQAS4x1mIL48-)vRL{zyH}8d!8Er literal 0 HcmV?d00001 diff --git a/389N_stuff/code_examples/ExpressCode/examples/servingFiles.js b/389N_stuff/code_examples/ExpressCode/examples/servingFiles.js new file mode 100755 index 0000000..372e80e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/servingFiles.js @@ -0,0 +1,25 @@ +/* + *http://localhost:7001/Testudo.jpg + */ + +let http = require("http"); +let path = require("path"); +let express = require("express"); /* Accessing express module */ +let app = express(); /* app is a request handler function */ + +console.log("__dirname: " + __dirname); +/* Notice serverStaticFiles is not part of the url to find files */ +let publicPath = path.resolve(__dirname, "serverStaticFiles"); + +app.use(express.static(publicPath)); + +/* If the static file is not found this middleware function will be executed */ +app.use(function(request, response) { + let statusCode = 200; /* OK */ + + response.writeHead(statusCode, {"Content-type": "text/html"}); + response.end("<h1>Requested file not found2</h1>"); +}); + +console.log("Server started on port 7001"); +http.createServer(app).listen(7001); \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/templates/courseInfo.ejs b/389N_stuff/code_examples/ExpressCode/examples/templates/courseInfo.ejs new file mode 100755 index 0000000..520f71e --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/templates/courseInfo.ejs @@ -0,0 +1,17 @@ +<!doctype html> +<html lang="en"> + <head> + <title>Course Web Page</title> + <meta charset="utf-8" /> + </head> + + <body> + <h1>Course Information</h1> + <p> + Additional information for the + <strong><%= semester %></strong> semester + taught by <strong><%= teacher %></strong> is + available on the CS Dept web site. + </p> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/ExpressCode/examples/templates/welcome.ejs b/389N_stuff/code_examples/ExpressCode/examples/templates/welcome.ejs new file mode 100755 index 0000000..8181788 --- /dev/null +++ b/389N_stuff/code_examples/ExpressCode/examples/templates/welcome.ejs @@ -0,0 +1,14 @@ +<!doctype html> +<html lang="en"> + <head> + <title>Course Web Page</title> + <meta charset="utf-8" /> + </head> + + <body> + <h1>Introduction (<%= semester %>)</h1> + <p> + The usual greeting is <%= greeting %> + </p> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/courseInfo.txt b/389N_stuff/code_examples/NodeJSCode/courseInfo.txt new file mode 100755 index 0000000..c9812d3 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/courseInfo.txt @@ -0,0 +1,2 @@ +The course has a total of six projects. +The total number of credits is 6. diff --git a/389N_stuff/code_examples/NodeJSCode/fibonacciAsync.js b/389N_stuff/code_examples/NodeJSCode/fibonacciAsync.js new file mode 100755 index 0000000..9096a08 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/fibonacciAsync.js @@ -0,0 +1,38 @@ +function fibonacci(n) { + if (n === 0) { + return 0; + } else if (n === 1) { + return 1; + } else { + return fibonacci(n - 1) + fibonacci(n - 2); + } +}; + +function Calculator() { }; + +Calculator.prototype.computeFibonacciAsync = function(value, callback) { + if (typeof value !== 'number') { + /* Notice we callback is used without second argument */ + return callback(new Error('number argument missing')); + } + + /* nextTick makes processing asynchronous */ + process.nextTick(function() { + let result = fibonacci(value); /* computation */ + callback(null, result); /* using callback to report answer */ + }); +} + +let calculator = new Calculator(); +let value = 40; + +calculator.computeFibonacciAsync(value, function(err, result) { + if (err) { + console.error(err); + } else { + console.log(`fibonacci value for ${value} is ${result}`); + } +}); + +console.log('computing fibonacci'); + diff --git a/389N_stuff/code_examples/NodeJSCode/imageServer.html b/389N_stuff/code_examples/NodeJSCode/imageServer.html new file mode 100755 index 0000000..e680259 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/imageServer.html @@ -0,0 +1,20 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8" /> + <title>PHP Example</title> + </head> + + <body> + <form action="http://localhost:5000" method="get"> + <p> + <strong>Name: </strong><input type="text" name="imageName" value="umcp" /> + </p> + + <!--We need the submit button--> + <p> + <input type="submit" value="Submit Data" /> + </p> + </form> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/imageServer.js b/389N_stuff/code_examples/NodeJSCode/imageServer.js new file mode 100755 index 0000000..f956461 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/imageServer.js @@ -0,0 +1,33 @@ +let http = require('http'); +let fs = require('fs'); + +let portNumber = 5000; +let webServer = http.createServer(function (request, response){ + let url = require('url'); + let name = url.parse(request.url, true).query.imageName; + + if (name === 'umcp') { + let fileName = 'images/umcp.jpg'; + fs.stat(fileName, function(err, fileInfo) { + if (err) { + console.error(err); + response.writeHead(200, {'Content-type': 'text/html'}); + response.write('<h1>Image file not found</h1>'); + response.end(); + } else { + let image = fs.readFileSync(fileName); + response.contentType = "image/jpg"; + response.contentLength = fileInfo.size; + response.end(image, "binary"); + } + }); + } else { + response.writeHead(200, {'Content-type': 'text/html'}); + response.write('<h1>Invalid image name specified in the url</h1>'); + response.end(); + } +}); + +webServer.listen(portNumber); + +console.log(`Image Web server is running at http://localhost:${portNumber}`); \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/images/umcp.jpg b/389N_stuff/code_examples/NodeJSCode/images/umcp.jpg new file mode 100755 index 0000000000000000000000000000000000000000..56f93def8ee12753521d660aa1b386ce58917b4a GIT binary patch literal 35675 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 BwTl1% literal 0 HcmV?d00001 diff --git a/389N_stuff/code_examples/NodeJSCode/readFileContentsAsync.js b/389N_stuff/code_examples/NodeJSCode/readFileContentsAsync.js new file mode 100755 index 0000000..0c530c2 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/readFileContentsAsync.js @@ -0,0 +1,14 @@ + +/* Module for file reading */ +let fs = require("fs"); +let fileName = "courseInfo.txt" + +fs.readFile(fileName, 'utf-8', +function(err, fileContent) { + if (err) { + throw err; + } + console.log("Printed immediately after file reading started"); + console.log(`Displaying content for file ${fileName}`); + console.log(fileContent); +}); \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/readFileContentsSync.js b/389N_stuff/code_examples/NodeJSCode/readFileContentsSync.js new file mode 100755 index 0000000..51df68d --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/readFileContentsSync.js @@ -0,0 +1,9 @@ + +/* Module for file reading */ +let fs = require("fs"); +let fileName = "courseInfo.txt" + +/* Notice Sync word in method */ +let fileContent = fs.readFileSync(fileName, 'utf-8'); +console.log(`Displaying content for file ${fileName}`); +console.log(fileContent); \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/timer.js b/389N_stuff/code_examples/NodeJSCode/timer.js new file mode 100755 index 0000000..98a0efc --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/timer.js @@ -0,0 +1,21 @@ +process.stdin.setEncoding("utf8"); + +let timeInMilliseconds = 2000; + +var timer = setInterval(function(name) { + console.log(`Fear the ${name}`); +}, timeInMilliseconds, "turtle"); + +console.log("Type stop to stop the timer"); +process.stdin.on('readable', function() { + let dataInput = process.stdin.read(); + if (dataInput !== null) { + let command = dataInput.trim(); + if (command === "stop") { + console.log("timer stopped"); + clearInterval(timer); + } else { + console.log(`Invalid command: ${command}`); + } + } +}); diff --git a/389N_stuff/code_examples/NodeJSCode/webServer.js b/389N_stuff/code_examples/NodeJSCode/webServer.js new file mode 100755 index 0000000..4468300 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/webServer.js @@ -0,0 +1,12 @@ +let http = require('http'); + +let portNumber = 4000; +let webServer = http.createServer(function (request, response){ + response.writeHead(200, {'Content-type':'text/html'}); + response.write('<h1>Web Server (NodeJS based) Running</h1>'); + response.end(); +}); + +webServer.listen(portNumber); + +console.log(`Web server is running at http://localhost:${portNumber}`); \ No newline at end of file diff --git a/389N_stuff/code_examples/NodeJSCode/webServerControl.js b/389N_stuff/code_examples/NodeJSCode/webServerControl.js new file mode 100755 index 0000000..42b3133 --- /dev/null +++ b/389N_stuff/code_examples/NodeJSCode/webServerControl.js @@ -0,0 +1,27 @@ +process.stdin.setEncoding("utf8"); + +let http = require('http'); + + +let portNumber = 4000; +let webServer = http.createServer(function (request, response){ + response.writeHead(200, {'Content-type':'text/html'}); + response.write('<h1>Web Server (NodeJS based) Running</h1>'); + response.end(); +}); + +webServer.listen(portNumber); +console.log(`Web server is running at http://localhost:${portNumber}`); +console.log("Type stop to shutdown the server"); +process.stdin.on('readable', function() { + let dataInput = process.stdin.read(); + if (dataInput !== null) { + let command = dataInput.trim(); + if (command === "stop") { + console.log("Shutting down the server"); + process.exit(0); + } else { + console.log(`Invalid command: ${command}`); + } + } +}); diff --git a/389N_stuff/code_examples/WebServicesPromisesCode/ImmediatelyInvokedFunctionExpression.html b/389N_stuff/code_examples/WebServicesPromisesCode/ImmediatelyInvokedFunctionExpression.html new file mode 100755 index 0000000..cb51ad4 --- /dev/null +++ b/389N_stuff/code_examples/WebServicesPromisesCode/ImmediatelyInvokedFunctionExpression.html @@ -0,0 +1,20 @@ +<!doctype html> +<html lang="en"> + <head> + <title>Example</title> + <meta charset="utf-8" /> + </head> + + <body> + <script> + /* Immediately Invoked Function Expression (IIFE) */ + + /* Placing the function expression within parenthesis */ + document.writeln("IIFE<br>"); + (function (x, y) { + document.writeln(x * y); + } (4, 6)); + document.writeln("End of IIFE<br>"); + </script> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/WebServicesPromisesCode/ModuleImplementationViaIIFE.html b/389N_stuff/code_examples/WebServicesPromisesCode/ModuleImplementationViaIIFE.html new file mode 100755 index 0000000..87049e7 --- /dev/null +++ b/389N_stuff/code_examples/WebServicesPromisesCode/ModuleImplementationViaIIFE.html @@ -0,0 +1,49 @@ +<!doctype html> +<html lang="en"> + <head> + <title>Example</title> + <meta charset="utf-8" /> + </head> + + <body> + <script> + const CounterModule = function() { + let value = 0; + + function increment() { + value++; + } + + function decrement() { + value--; + } + + function getValue(args) { + return value; + } + + /* returned object represents the interface */ + return { + inc: function() { + increment(); + }, + + dec: function() { + decrement(); + }, + + val: function() { + return getValue(); + } + }; + }(); /* Notice () */ + + CounterModule.inc(); + CounterModule.inc(); + document.writeln(CounterModule.val() + "<br>"); + CounterModule.dec(); + document.writeln(CounterModule.val() + "<br>"); + </script> + + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/WebServicesPromisesCode/PromisesBasics.html b/389N_stuff/code_examples/WebServicesPromisesCode/PromisesBasics.html new file mode 100755 index 0000000..ec7f7af --- /dev/null +++ b/389N_stuff/code_examples/WebServicesPromisesCode/PromisesBasics.html @@ -0,0 +1,39 @@ +<!doctype html> +<html lang="en"> + <head> + <title>Example</title> + <meta charset="utf-8" /> + </head> + + <body> + <script> + const promise = new Promise((resolve, reject) => { + document.writeln("executor started<br>"); + const asyncTaskSucceded = true; + + /* Simulates asynch task delay; whether it succeeds or not based on asyncTaskSucceded */ + const delay = 2000; + setTimeout(() => { + alert("async task completed"); + if (asyncTaskSucceded) { + resolve(); + } else { + reject(); + } + }, delay); + }); + + function ifSuccessful() { + alert("Yes, task finished successfully and now we will use results for further processing"); + } + + function ifItFails(args) { + alert("Task failed and we will perform this processing in this case"); + } + + promise.then(ifSuccessful, ifItFails); + + + </script> + </body> +</html> \ No newline at end of file diff --git a/389N_stuff/code_examples/WebServicesPromisesCode/PromisesFib.js b/389N_stuff/code_examples/WebServicesPromisesCode/PromisesFib.js new file mode 100755 index 0000000..970bee8 --- /dev/null +++ b/389N_stuff/code_examples/WebServicesPromisesCode/PromisesFib.js @@ -0,0 +1,51 @@ + +function fibonacci(n) { + if (n === 0) { + return 0; + } else if (n === 1) { + return 1; + } else { + return fibonacci(n - 1) + fibonacci(n - 2); + } +}; + +function Calculator() { }; + +Calculator.prototype.computeFibonacciAsync = function(value, callback) { + if (typeof value !== 'number') { + /* Notice we callback is used without second argument */ + return callback(new Error('number argument missing')); + } + + /* nextTick makes processing asynchronous */ + process.nextTick(function() { + let result = fibonacci(value); /* computation */ + callback(null, result); /* using callback to report answer */ + }); +} + +let calculator = new Calculator(); +let value = 40; + +const promise = new Promise((resolve, reject) => { + calculator.computeFibonacciAsync(value, function(err, result) { + if (err) { + reject(err); + } else { + resolve(result); + } + }); +}); + +function ifSuccessful(answer) { + console.log(`fibonacci value is ${answer}`); +} + +function ifItFails(err) { + console.error(err); +} + +promise.then(ifSuccessful, ifItFails); +console.log("Computation scheduled"); + + \ No newline at end of file -- GitLab