├── Cleanup_commands └── cleanup_cli.txt ├── LICENSE ├── README.md ├── TestHarness ├── loadDataToDDb.js └── node_modules │ ├── .bin │ ├── dummyjson │ ├── handlebars │ ├── uglifyjs │ └── uuid │ ├── align-text │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── amdefine │ ├── LICENSE │ ├── README.md │ ├── amdefine.js │ ├── intercept.js │ └── package.json │ ├── async │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── async.js │ │ └── async.min.js │ ├── lib │ │ └── async.js │ └── package.json │ ├── camelcase │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md │ ├── center-align │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── utils.js │ ├── cliui │ ├── .coveralls.yml │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE.txt │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── wordwrap │ │ │ ├── .npmignore │ │ │ ├── README.markdown │ │ │ ├── example │ │ │ ├── center.js │ │ │ └── meat.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── break.js │ │ │ ├── idleness.txt │ │ │ └── wrap.js │ ├── package.json │ └── test │ │ └── cliui.js │ ├── decamelize │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md │ ├── dummy-json │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── TODO.md │ ├── cli.js │ ├── index.js │ ├── lib │ │ ├── helpers.js │ │ ├── mockdata.js │ │ └── utils.js │ └── package.json │ ├── fecha │ ├── .idea │ │ ├── .name │ │ ├── encodings.xml │ │ ├── fecha.iml │ │ ├── jsLibraryMappings.xml │ │ ├── libraries │ │ │ └── fecha_node_modules.xml │ │ ├── modules.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── .npmignore │ ├── .travis.yml │ ├── Gulpfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── fecha.js │ ├── fecha.min.js │ ├── karma.conf.js │ ├── package.json │ └── test.js │ ├── guid │ ├── LICENSE │ ├── README.md │ ├── ender.js │ ├── guid.js │ ├── package.json │ └── tests │ │ └── guid.js │ ├── handlebars │ ├── .gitmodules │ ├── .istanbul.yml │ ├── .npmignore │ ├── CONTRIBUTING.md │ ├── FAQ.md │ ├── LICENSE │ ├── README.markdown │ ├── bin │ │ └── handlebars │ ├── dist │ │ ├── amd │ │ │ ├── handlebars.js │ │ │ ├── handlebars.runtime.js │ │ │ ├── handlebars │ │ │ │ ├── base.js │ │ │ │ ├── compiler │ │ │ │ │ ├── ast.js │ │ │ │ │ ├── base.js │ │ │ │ │ ├── code-gen.js │ │ │ │ │ ├── compiler.js │ │ │ │ │ ├── helpers.js │ │ │ │ │ ├── javascript-compiler.js │ │ │ │ │ ├── parser.js │ │ │ │ │ ├── printer.js │ │ │ │ │ ├── visitor.js │ │ │ │ │ └── whitespace-control.js │ │ │ │ ├── decorators.js │ │ │ │ ├── decorators │ │ │ │ │ └── inline.js │ │ │ │ ├── exception.js │ │ │ │ ├── helpers.js │ │ │ │ ├── helpers │ │ │ │ │ ├── block-helper-missing.js │ │ │ │ │ ├── each.js │ │ │ │ │ ├── helper-missing.js │ │ │ │ │ ├── if.js │ │ │ │ │ ├── log.js │ │ │ │ │ ├── lookup.js │ │ │ │ │ └── with.js │ │ │ │ ├── logger.js │ │ │ │ ├── no-conflict.js │ │ │ │ ├── runtime.js │ │ │ │ ├── safe-string.js │ │ │ │ └── utils.js │ │ │ └── precompiler.js │ │ ├── cjs │ │ │ ├── handlebars.js │ │ │ ├── handlebars.runtime.js │ │ │ ├── handlebars │ │ │ │ ├── base.js │ │ │ │ ├── compiler │ │ │ │ │ ├── ast.js │ │ │ │ │ ├── base.js │ │ │ │ │ ├── code-gen.js │ │ │ │ │ ├── compiler.js │ │ │ │ │ ├── helpers.js │ │ │ │ │ ├── javascript-compiler.js │ │ │ │ │ ├── parser.js │ │ │ │ │ ├── printer.js │ │ │ │ │ ├── visitor.js │ │ │ │ │ └── whitespace-control.js │ │ │ │ ├── decorators.js │ │ │ │ ├── decorators │ │ │ │ │ └── inline.js │ │ │ │ ├── exception.js │ │ │ │ ├── helpers.js │ │ │ │ ├── helpers │ │ │ │ │ ├── block-helper-missing.js │ │ │ │ │ ├── each.js │ │ │ │ │ ├── helper-missing.js │ │ │ │ │ ├── if.js │ │ │ │ │ ├── log.js │ │ │ │ │ ├── lookup.js │ │ │ │ │ └── with.js │ │ │ │ ├── logger.js │ │ │ │ ├── no-conflict.js │ │ │ │ ├── runtime.js │ │ │ │ ├── safe-string.js │ │ │ │ └── utils.js │ │ │ └── precompiler.js │ │ ├── handlebars.amd.js │ │ ├── handlebars.amd.min.js │ │ ├── handlebars.js │ │ ├── handlebars.min.js │ │ ├── handlebars.runtime.amd.js │ │ ├── handlebars.runtime.amd.min.js │ │ ├── handlebars.runtime.js │ │ └── handlebars.runtime.min.js │ ├── docs │ │ ├── compiler-api.md │ │ └── decorators-api.md │ ├── lib │ │ ├── handlebars.js │ │ ├── handlebars.runtime.js │ │ ├── handlebars │ │ │ ├── base.js │ │ │ ├── compiler │ │ │ │ ├── ast.js │ │ │ │ ├── base.js │ │ │ │ ├── code-gen.js │ │ │ │ ├── compiler.js │ │ │ │ ├── helpers.js │ │ │ │ ├── javascript-compiler.js │ │ │ │ ├── parser.js │ │ │ │ ├── printer.js │ │ │ │ ├── visitor.js │ │ │ │ └── whitespace-control.js │ │ │ ├── decorators.js │ │ │ ├── decorators │ │ │ │ └── inline.js │ │ │ ├── exception.js │ │ │ ├── helpers.js │ │ │ ├── helpers │ │ │ │ ├── block-helper-missing.js │ │ │ │ ├── each.js │ │ │ │ ├── helper-missing.js │ │ │ │ ├── if.js │ │ │ │ ├── log.js │ │ │ │ ├── lookup.js │ │ │ │ └── with.js │ │ │ ├── logger.js │ │ │ ├── no-conflict.js │ │ │ ├── runtime.js │ │ │ ├── safe-string.js │ │ │ └── utils.js │ │ ├── index.js │ │ └── precompiler.js │ ├── package.json │ ├── print-script │ ├── release-notes.md │ └── runtime.js │ ├── is-buffer │ ├── .travis.yml │ ├── .zuul.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── basic.js │ ├── kind-of │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── lazy-cache │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── longest │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── minimist │ ├── .travis.yml │ ├── LICENSE │ ├── example │ │ └── parse.js │ ├── index.js │ ├── package.json │ ├── readme.markdown │ └── test │ │ ├── bool.js │ │ ├── dash.js │ │ ├── default_bool.js │ │ ├── dotted.js │ │ ├── long.js │ │ ├── num.js │ │ ├── parse.js │ │ ├── parse_modified.js │ │ ├── short.js │ │ └── whitespace.js │ ├── node-uuid │ ├── .npmignore │ ├── LICENSE.md │ ├── README.md │ ├── benchmark │ │ ├── README.md │ │ ├── bench.gnu │ │ ├── bench.sh │ │ ├── benchmark-native.c │ │ └── benchmark.js │ ├── bin │ │ └── uuid │ ├── bower.json │ ├── component.json │ ├── package.json │ ├── test │ │ ├── compare_v1.js │ │ ├── test.html │ │ └── test.js │ └── uuid.js │ ├── numbro │ ├── CHANGELOG-Numeraljs.md │ ├── CHANGELOG.md │ ├── LICENSE │ ├── LICENSE-Numeraljs │ ├── README.md │ ├── dist │ │ ├── languages.js │ │ ├── languages.min.js │ │ ├── languages │ │ │ ├── cs-CZ.min.js │ │ │ ├── da-DK.min.js │ │ │ ├── de-CH.min.js │ │ │ ├── de-DE.min.js │ │ │ ├── en-AU.min.js │ │ │ ├── en-GB.min.js │ │ │ ├── en-NZ.min.js │ │ │ ├── en-ZA.min.js │ │ │ ├── es-AR.min.js │ │ │ ├── es-ES.min.js │ │ │ ├── et-EE.min.js │ │ │ ├── fa-IR.min.js │ │ │ ├── fi-FI.min.js │ │ │ ├── fil-PH.min.js │ │ │ ├── fr-CA.min.js │ │ │ ├── fr-CH.min.js │ │ │ ├── fr-FR.min.js │ │ │ ├── he-IL.min.js │ │ │ ├── hu-HU.min.js │ │ │ ├── index.min.js │ │ │ ├── it-IT.min.js │ │ │ ├── ja-JP.min.js │ │ │ ├── ko-KR.min.js │ │ │ ├── lv-LV.min.js │ │ │ ├── nb-NO.min.js │ │ │ ├── nl-BE.min.js │ │ │ ├── nl-NL.min.js │ │ │ ├── pl-PL.min.js │ │ │ ├── pt-BR.min.js │ │ │ ├── pt-PT.min.js │ │ │ ├── ru-RU.min.js │ │ │ ├── ru-UA.min.js │ │ │ ├── sk-SK.min.js │ │ │ ├── sv-SE.min.js │ │ │ ├── th-TH.min.js │ │ │ ├── tr-TR.min.js │ │ │ ├── uk-UA.min.js │ │ │ ├── zh-CN.min.js │ │ │ └── zh-TW.min.js │ │ ├── numbro.js │ │ └── numbro.min.js │ ├── languages │ │ ├── cs-CZ.js │ │ ├── da-DK.js │ │ ├── de-CH.js │ │ ├── de-DE.js │ │ ├── en-AU.js │ │ ├── en-GB.js │ │ ├── en-NZ.js │ │ ├── en-ZA.js │ │ ├── es-AR.js │ │ ├── es-ES.js │ │ ├── et-EE.js │ │ ├── fa-IR.js │ │ ├── fi-FI.js │ │ ├── fil-PH.js │ │ ├── fr-CA.js │ │ ├── fr-CH.js │ │ ├── fr-FR.js │ │ ├── he-IL.js │ │ ├── hu-HU.js │ │ ├── index.js │ │ ├── it-IT.js │ │ ├── ja-JP.js │ │ ├── ko-KR.js │ │ ├── lv-LV.js │ │ ├── nb-NO.js │ │ ├── nl-BE.js │ │ ├── nl-NL.js │ │ ├── pl-PL.js │ │ ├── pt-BR.js │ │ ├── pt-PT.js │ │ ├── ru-RU.js │ │ ├── ru-UA.js │ │ ├── sk-SK.js │ │ ├── sv-SE.js │ │ ├── th-TH.js │ │ ├── tr-TR.js │ │ ├── uk-UA.js │ │ ├── zh-CN.js │ │ └── zh-TW.js │ ├── numbro.d.ts │ ├── numbro.js │ └── package.json │ ├── optimist │ ├── .travis.yml │ ├── LICENSE │ ├── example │ │ ├── bool.js │ │ ├── boolean_double.js │ │ ├── boolean_single.js │ │ ├── default_hash.js │ │ ├── default_singles.js │ │ ├── divide.js │ │ ├── line_count.js │ │ ├── line_count_options.js │ │ ├── line_count_wrap.js │ │ ├── nonopt.js │ │ ├── reflect.js │ │ ├── short.js │ │ ├── string.js │ │ ├── usage-options.js │ │ └── xup.js │ ├── index.js │ ├── package.json │ ├── readme.markdown │ └── test │ │ ├── _.js │ │ ├── _ │ │ ├── argv.js │ │ └── bin.js │ │ ├── dash.js │ │ ├── parse.js │ │ ├── parse_modified.js │ │ ├── short.js │ │ ├── usage.js │ │ └── whitespace.js │ ├── repeat-string │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── right-align │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json │ ├── seedrandom │ ├── .coveralls.yml │ ├── .npmignore │ ├── .travis.yml │ ├── Gruntfile.js │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── index.js │ ├── lib │ │ ├── alea.js │ │ ├── alea.min.js │ │ ├── tychei.js │ │ ├── tychei.min.js │ │ ├── xor128.js │ │ ├── xor128.min.js │ │ ├── xor4096.js │ │ ├── xor4096.min.js │ │ ├── xorshift7.js │ │ ├── xorshift7.min.js │ │ ├── xorwow.js │ │ └── xorwow.min.js │ ├── package.json │ ├── seedrandom.js │ ├── seedrandom.min.js │ └── test │ │ ├── altprng.html │ │ ├── autoseed.html │ │ ├── bitgen.js │ │ ├── cryptotest.js │ │ ├── lib │ │ ├── qunit.css │ │ ├── qunit.js │ │ └── require.js │ │ ├── newapi.html │ │ ├── nodetest.js │ │ ├── options.html │ │ ├── out │ │ └── dieharder-report.txt │ │ ├── prngtest.js │ │ ├── require.html │ │ ├── run_dieharder.sh │ │ └── state.html │ ├── source-map │ ├── README.md │ ├── build │ │ ├── assert-shim.js │ │ ├── mini-require.js │ │ ├── prefix-source-map.jsm │ │ ├── prefix-utils.jsm │ │ ├── suffix-browser.js │ │ ├── suffix-source-map.jsm │ │ ├── suffix-utils.jsm │ │ ├── test-prefix.js │ │ └── test-suffix.js │ ├── lib │ │ ├── source-map.js │ │ └── source-map │ │ │ ├── array-set.js │ │ │ ├── base64-vlq.js │ │ │ ├── base64.js │ │ │ ├── binary-search.js │ │ │ ├── mapping-list.js │ │ │ ├── quick-sort.js │ │ │ ├── source-map-consumer.js │ │ │ ├── source-map-generator.js │ │ │ ├── source-node.js │ │ │ └── util.js │ └── package.json │ ├── uglify-js │ ├── LICENSE │ ├── README.md │ ├── bin │ │ ├── extract-props.js │ │ └── uglifyjs │ ├── lib │ │ ├── ast.js │ │ ├── compress.js │ │ ├── mozilla-ast.js │ │ ├── output.js │ │ ├── parse.js │ │ ├── propmangle.js │ │ ├── scope.js │ │ ├── sourcemap.js │ │ ├── transform.js │ │ └── utils.js │ ├── node_modules │ │ ├── async │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── component.json │ │ │ ├── lib │ │ │ │ └── async.js │ │ │ └── package.json │ │ └── source-map │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── dist │ │ │ ├── source-map.debug.js │ │ │ ├── source-map.js │ │ │ ├── source-map.min.js │ │ │ └── source-map.min.js.map │ │ │ ├── lib │ │ │ ├── array-set.js │ │ │ ├── base64-vlq.js │ │ │ ├── base64.js │ │ │ ├── binary-search.js │ │ │ ├── mapping-list.js │ │ │ ├── quick-sort.js │ │ │ ├── source-map-consumer.js │ │ │ ├── source-map-generator.js │ │ │ ├── source-node.js │ │ │ └── util.js │ │ │ ├── package.json │ │ │ └── source-map.js │ ├── package.json │ └── tools │ │ ├── domprops.json │ │ ├── exports.js │ │ ├── node.js │ │ └── props.html │ ├── uglify-to-browserify │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js │ ├── window-size │ ├── LICENSE-MIT │ ├── README.md │ ├── index.js │ └── package.json │ ├── wordwrap │ ├── LICENSE │ ├── README.markdown │ ├── example │ │ ├── center.js │ │ └── meat.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── break.js │ │ ├── idleness.txt │ │ └── wrap.js │ └── yargs │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── completion.sh.hbs │ ├── index.js │ ├── lib │ ├── completion.js │ ├── parser.js │ ├── usage.js │ └── validation.js │ └── package.json ├── cfTemplates ├── Aurora.yaml ├── Networking.yaml ├── RootTemplate.yaml └── ec2-instance.yaml └── lambda_iam ├── AuroraDataMgr.zip ├── DynamoDB-Stream-lambda-Trust-Policy.json ├── DynamoDb-Stream-lambda-AccessPolicy.json ├── aurora-s3-Trust-Policy.json ├── aurora-s3-access-Policy.json ├── ddbStreamProcessor.zip ├── firehose_delivery_AccessPolicy.json ├── firehose_delivery_transformation.zip ├── firehose_delivery_trust_policy.json ├── firehose_lambda_transformation_AccessPolicy.json ├── firehose_lambda_transformation_trust_policy.json ├── lambda-aurora-AccessPolicy.json ├── lambda-aurora-Trust-Policy.json ├── lambda-s3-notification-config.json └── s3-destination-configuration.json /Cleanup_commands/cleanup_cli.txt: -------------------------------------------------------------------------------- 1 | aws iam delete-role-policy --policy-name aurora-s3-access-Policy --role-name aurora_s3_access_role 2 | aws iam delete-role --role-name aurora_s3_access_role 3 | aws rds delete-db-cluster-parameter-group --db-cluster-parameter-group-name webAnayticsclusterParamGroup 4 | aws dynamodb delete-table --table-name web_analytics 5 | aws iam delete-role-policy --policy-name DdbStreamProcessingAccessPolicy --role-name DdbStreamLambdaRole 6 | aws iam delete-role --role-name DdbStreamLambdaRole 7 | aws lambda delete-function --function-name WebAnalyticsDdbStreamFunction 8 | 9 | aws iam delete-role-policy --policy-name firehose_lambda_transformation_AccessPolicy --role-name firehose_delivery_lambda_transformation_role 10 | 11 | aws iam delete-role --role-name firehose_delivery_lambda_transformation_role 12 | 13 | 14 | aws iam delete-role-policy --policy-name firehose_delivery_AccessPolicy --role-name firehose_delivery_role 15 | aws iam delete-role --role-name firehose_delivery_role 16 | 17 | aws firehose delete-delivery-stream --delivery-stream-name webAnalytics 18 | 19 | aws iam delete-role-policy --policy-name lambda-aurora-AccessPolicy --role-name lambda_aurora_role 20 | aws iam delete-role --role-name lambda_aurora_role 21 | 22 | 23 | 24 | aws lambda delete-function --function-name firehoseDeliveryTransformationFunction 25 | aws lambda delete-function --function-name AuroraDataManagementFunction -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ddbStreamsToAurora 2 | Source code which enables Data Replication from DynamoDB to Amazon Aurora.This source code is to be used as a reference 3 | for an AWS Database Blog post which shows you how you could implement data replication from dynamodb to Amazon Aurora. It is not production ready. 4 | 5 | The cleanup_cli.txt file contains all the CLI commands to cleanup resources which were created using CLI commands documented in the blog post. 6 | 7 | 8 | The 'TestHarness' folder contains source code of a TestHarness which populates a DynamoDB Table with sample data. 9 | 10 | The 'cfTemplates' folder contains source code for all the cloudformation templates used within the blog post. 11 | 12 | The 'lambda_iam' folder contains IAM Policies and the source code (Zip files) for all the Lambda functions used in the blog post. -------------------------------------------------------------------------------- /TestHarness/node_modules/.bin/dummyjson: -------------------------------------------------------------------------------- 1 | ../dummy-json/cli.js -------------------------------------------------------------------------------- /TestHarness/node_modules/.bin/handlebars: -------------------------------------------------------------------------------- 1 | ../handlebars/bin/handlebars -------------------------------------------------------------------------------- /TestHarness/node_modules/.bin/uglifyjs: -------------------------------------------------------------------------------- 1 | ../uglify-js/bin/uglifyjs -------------------------------------------------------------------------------- /TestHarness/node_modules/.bin/uuid: -------------------------------------------------------------------------------- 1 | ../node-uuid/bin/uuid -------------------------------------------------------------------------------- /TestHarness/node_modules/align-text/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/align-text/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * align-text 3 | * 4 | * Copyright (c) 2015, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var typeOf = require('kind-of'); 11 | var repeat = require('repeat-string'); 12 | var longest = require('longest'); 13 | 14 | module.exports = function alignText(val, fn) { 15 | var lines, type = typeOf(val); 16 | 17 | if (type === 'array') { 18 | lines = val; 19 | } else if (type === 'string') { 20 | lines = val.split(/(?:\r\n|\n)/); 21 | } else { 22 | throw new TypeError('align-text expects a string or array.'); 23 | } 24 | 25 | var fnType = typeOf(fn); 26 | var len = lines.length; 27 | var max = longest(lines); 28 | var res = [], i = 0; 29 | 30 | while (len--) { 31 | var line = String(lines[i++]); 32 | var diff; 33 | 34 | if (fnType === 'function') { 35 | diff = fn(line.length, max.length, line, lines, i); 36 | } else if (fnType === 'number') { 37 | diff = fn; 38 | } else { 39 | diff = max.length - line.length; 40 | } 41 | 42 | if (typeOf(diff) === 'number') { 43 | res.push(repeat(' ', diff) + line); 44 | } else if (typeOf(diff) === 'object') { 45 | var result = repeat(diff.character || ' ', diff.indent || 0); 46 | res.push((diff.prefix || '') + result + line); 47 | } 48 | } 49 | 50 | if (type === 'array') return res; 51 | return res.join('\n'); 52 | }; 53 | -------------------------------------------------------------------------------- /TestHarness/node_modules/amdefine/intercept.js: -------------------------------------------------------------------------------- 1 | /*jshint node: true */ 2 | var inserted, 3 | Module = require('module'), 4 | fs = require('fs'), 5 | existingExtFn = Module._extensions['.js'], 6 | amdefineRegExp = /amdefine\.js/; 7 | 8 | inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; 9 | 10 | //From the node/lib/module.js source: 11 | function stripBOM(content) { 12 | // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) 13 | // because the buffer-to-string conversion in `fs.readFileSync()` 14 | // translates it to FEFF, the UTF-16 BOM. 15 | if (content.charCodeAt(0) === 0xFEFF) { 16 | content = content.slice(1); 17 | } 18 | return content; 19 | } 20 | 21 | //Also adapted from the node/lib/module.js source: 22 | function intercept(module, filename) { 23 | var content = stripBOM(fs.readFileSync(filename, 'utf8')); 24 | 25 | if (!amdefineRegExp.test(module.id)) { 26 | content = inserted + content; 27 | } 28 | 29 | module._compile(content, filename); 30 | } 31 | 32 | intercept._id = 'amdefine/intercept'; 33 | 34 | if (!existingExtFn._id || existingExtFn._id !== intercept._id) { 35 | Module._extensions['.js'] = intercept; 36 | } 37 | -------------------------------------------------------------------------------- /TestHarness/node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2014 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /TestHarness/node_modules/camelcase/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function () { 3 | var str = [].map.call(arguments, function (str) { 4 | return str.trim(); 5 | }).filter(function (str) { 6 | return str.length; 7 | }).join('-'); 8 | 9 | if (!str.length) { 10 | return ''; 11 | } 12 | 13 | if (str.length === 1 || !(/[_.\- ]+/).test(str) ) { 14 | if (str[0] === str[0].toLowerCase() && str.slice(1) !== str.slice(1).toLowerCase()) { 15 | return str; 16 | } 17 | 18 | return str.toLowerCase(); 19 | } 20 | 21 | return str 22 | .replace(/^[_.\- ]+/, '') 23 | .toLowerCase() 24 | .replace(/[_.\- ]+(\w|$)/g, function (m, p1) { 25 | return p1.toUpperCase(); 26 | }); 27 | }; 28 | -------------------------------------------------------------------------------- /TestHarness/node_modules/camelcase/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/camelcase/readme.md: -------------------------------------------------------------------------------- 1 | # camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) 2 | 3 | > Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar` 4 | 5 | 6 | ## Install 7 | 8 | ```sh 9 | $ npm install --save camelcase 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var camelCase = require('camelcase'); 17 | 18 | camelCase('foo-bar'); 19 | //=> fooBar 20 | 21 | camelCase('foo_bar'); 22 | //=> fooBar 23 | 24 | camelCase('Foo-Bar'); 25 | //=> fooBar 26 | 27 | camelCase('--foo.bar'); 28 | //=> fooBar 29 | 30 | camelCase('__foo__bar__'); 31 | //=> fooBar 32 | 33 | camelCase('foo bar'); 34 | //=> fooBar 35 | 36 | console.log(process.argv[3]); 37 | //=> --foo-bar 38 | camelCase(process.argv[3]); 39 | //=> fooBar 40 | 41 | camelCase('foo', 'bar'); 42 | //=> fooBar 43 | 44 | camelCase('__foo__', '--bar'); 45 | //=> fooBar 46 | ``` 47 | 48 | 49 | ## Related 50 | 51 | See [`decamelize`](https://github.com/sindresorhus/decamelize) for the inverse. 52 | 53 | 54 | ## License 55 | 56 | MIT © [Sindre Sorhus](http://sindresorhus.com) 57 | -------------------------------------------------------------------------------- /TestHarness/node_modules/center-align/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/center-align/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * center-align 3 | * 4 | * Copycenter (c) 2015, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var utils = require('./utils'); 11 | 12 | module.exports = function centerAlign(val) { 13 | return utils.align(val, function (len, longest) { 14 | return Math.floor((longest - len) / 2); 15 | }); 16 | }; 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/center-align/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Lazily-required module dependencies (makes the application 5 | * faster) 6 | */ 7 | 8 | var utils = require('lazy-cache')(require); 9 | 10 | /** 11 | * Temporarily re-assign `require` to trick browserify and 12 | * webpack into reconizing lazy dependencies. 13 | * 14 | * This tiny bit of ugliness has the huge dual advantage of 15 | * only loading modules that are actually called at some 16 | * point in the lifecycle of the application, whilst also 17 | * allowing browserify and webpack to find modules that 18 | * are depended on but never actually called. 19 | */ 20 | 21 | var fn = require; 22 | require = utils; 23 | 24 | /** 25 | * Lazily required module dependencies 26 | */ 27 | 28 | require('align-text', 'align'); 29 | 30 | /** 31 | * Restore `require` 32 | */ 33 | 34 | require = fn; 35 | 36 | /** 37 | * Expose `utils` modules 38 | */ 39 | 40 | module.exports = utils; 41 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: NiRhyj91Z2vtgob6XdEAqs83rzNnbMZUu 2 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.11" 5 | - "0.12" 6 | - "iojs" 7 | after_script: "NODE_ENV=test YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha --require patched-blanket --reporter mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js" 8 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Contributors 2 | 3 | Permission to use, copy, modify, and/or distribute this software 4 | for any purpose with or without fee is hereby granted, provided 5 | that the above copyright notice and this permission notice 6 | appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 10 | OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE 11 | LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES 12 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 13 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 14 | ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/node_modules/wordwrap/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/node_modules/wordwrap/example/center.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(20, 60); 2 | console.log(wrap( 3 | 'At long last the struggle and tumult was over.' 4 | + ' The machines had finally cast off their oppressors' 5 | + ' and were finally free to roam the cosmos.' 6 | + '\n' 7 | + 'Free of purpose, free of obligation.' 8 | + ' Just drifting through emptiness.' 9 | + ' The sun was just another point of light.' 10 | )); 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/node_modules/wordwrap/example/meat.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(15); 2 | 3 | console.log(wrap('You and your whole family are made out of meat.')); 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/node_modules/wordwrap/test/break.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var wordwrap = require('../'); 3 | 4 | exports.hard = function () { 5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' 6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' 7 | + '"browser":"chrome/6.0"}' 8 | ; 9 | var s_ = wordwrap.hard(80)(s); 10 | 11 | var lines = s_.split('\n'); 12 | assert.equal(lines.length, 2); 13 | assert.ok(lines[0].length < 80); 14 | assert.ok(lines[1].length < 80); 15 | 16 | assert.equal(s, s_.replace(/\n/g, '')); 17 | }; 18 | 19 | exports.break = function () { 20 | var s = new Array(55+1).join('a'); 21 | var s_ = wordwrap.hard(20)(s); 22 | 23 | var lines = s_.split('\n'); 24 | assert.equal(lines.length, 3); 25 | assert.ok(lines[0].length === 20); 26 | assert.ok(lines[1].length === 20); 27 | assert.ok(lines[2].length === 15); 28 | 29 | assert.equal(s, s_.replace(/\n/g, '')); 30 | }; 31 | -------------------------------------------------------------------------------- /TestHarness/node_modules/cliui/node_modules/wordwrap/test/wrap.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var wordwrap = require('wordwrap'); 3 | 4 | var fs = require('fs'); 5 | var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); 6 | 7 | exports.stop80 = function () { 8 | var lines = wordwrap(80)(idleness).split(/\n/); 9 | var words = idleness.split(/\s+/); 10 | 11 | lines.forEach(function (line) { 12 | assert.ok(line.length <= 80, 'line > 80 columns'); 13 | var chunks = line.match(/\S/) ? line.split(/\s+/) : []; 14 | assert.deepEqual(chunks, words.splice(0, chunks.length)); 15 | }); 16 | }; 17 | 18 | exports.start20stop60 = function () { 19 | var lines = wordwrap(20, 100)(idleness).split(/\n/); 20 | var words = idleness.split(/\s+/); 21 | 22 | lines.forEach(function (line) { 23 | assert.ok(line.length <= 100, 'line > 100 columns'); 24 | var chunks = line 25 | .split(/\s+/) 26 | .filter(function (x) { return x.match(/\S/) }) 27 | ; 28 | assert.deepEqual(chunks, words.splice(0, chunks.length)); 29 | assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); 30 | }); 31 | }; 32 | -------------------------------------------------------------------------------- /TestHarness/node_modules/decamelize/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (str, sep) { 3 | if (typeof str !== 'string') { 4 | throw new TypeError('Expected a string'); 5 | } 6 | 7 | sep = typeof sep === 'undefined' ? '_' : sep; 8 | 9 | return str 10 | .replace(/([a-z\d])([A-Z])/g, '$1' + sep + '$2') 11 | .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + sep + '$2') 12 | .toLowerCase(); 13 | }; 14 | -------------------------------------------------------------------------------- /TestHarness/node_modules/decamelize/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/decamelize/readme.md: -------------------------------------------------------------------------------- 1 | # decamelize [![Build Status](https://travis-ci.org/sindresorhus/decamelize.svg?branch=master)](https://travis-ci.org/sindresorhus/decamelize) 2 | 3 | > Convert a camelized string into a lowercased one with a custom separator
4 | > Example: `unicornRainbow` → `unicorn_rainbow` 5 | 6 | 7 | ## Install 8 | 9 | ``` 10 | $ npm install --save decamelize 11 | ``` 12 | 13 | 14 | ## Usage 15 | 16 | ```js 17 | const decamelize = require('decamelize'); 18 | 19 | decamelize('unicornRainbow'); 20 | //=> 'unicorn_rainbow' 21 | 22 | decamelize('unicornRainbow', '-'); 23 | //=> 'unicorn-rainbow' 24 | ``` 25 | 26 | 27 | ## API 28 | 29 | ### decamelize(input, [separator]) 30 | 31 | #### input 32 | 33 | Type: `string` 34 | 35 | #### separator 36 | 37 | Type: `string`
38 | Default: `_` 39 | 40 | 41 | ## Related 42 | 43 | See [`camelcase`](https://github.com/sindresorhus/camelcase) for the inverse. 44 | 45 | 46 | ## License 47 | 48 | MIT © [Sindre Sorhus](https://sindresorhus.com) 49 | -------------------------------------------------------------------------------- /TestHarness/node_modules/dummy-json/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | -------------------------------------------------------------------------------- /TestHarness/node_modules/dummy-json/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Matt Sweetman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /TestHarness/node_modules/dummy-json/TODO.md: -------------------------------------------------------------------------------- 1 | Expose randomChar as a built-in helper, eg: {{char 'ABCDEF'}} 2 | Not as helpful as regex, but could point to alternatives in the readme 3 | 4 | 5 | Store last generated values on the root data object - useful for other helpers to access 6 | eg: options.data.root.__firstName 7 | 8 | 9 | Alternative way to supply custom arrays of mock data: 10 | 11 | dummyjson.parse(string, { 12 | lists: { 13 | size: ['S', 'M', 'L', 'XL'] 14 | } 15 | }); 16 | 17 | Would need to ensure that these custom lists can override the defaults, like firstNames, lastNames, etc 18 | -------------------------------------------------------------------------------- /TestHarness/node_modules/dummy-json/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var os = require('os'); 4 | var fs = require('fs'); 5 | var dummyjson = require('./index'); 6 | 7 | var args = process.argv.slice(2); 8 | 9 | if (args && args[0]) { 10 | var result = dummyjson.parse( 11 | fs.readFileSync(args[0], {encoding: 'utf8'}) 12 | ); 13 | process.stdout.write(result + os.EOL); 14 | } 15 | -------------------------------------------------------------------------------- /TestHarness/node_modules/dummy-json/lib/utils.js: -------------------------------------------------------------------------------- 1 | var seedrandom = require('seedrandom'); 2 | 3 | // Create an instance of the prng without a seed (so it'll be a random sequence every time) 4 | var prng = seedrandom(); 5 | 6 | var utils = { 7 | setRandomSeed: function (seed) { 8 | prng = seedrandom(seed); 9 | }, 10 | 11 | random: function () { 12 | return prng(); 13 | }, 14 | 15 | randomInt: function (min, max) { 16 | return Math.floor(utils.random() * (max - min + 1)) + min; 17 | }, 18 | 19 | randomFloat: function (min, max) { 20 | return utils.random() * (max - min) + min; 21 | }, 22 | 23 | randomBoolean: function () { 24 | return utils.random() < 0.5; 25 | }, 26 | 27 | randomDate: function (min, max) { 28 | // We add the timezone offset to avoid the date falling outside the supplied range 29 | var d = new Date(Math.floor(utils.random() * (max - min)) + min); 30 | d.setTime(d.getTime() + d.getTimezoneOffset() * 60000); 31 | return d; 32 | }, 33 | 34 | randomArrayItem: function (array) { 35 | return array[utils.randomInt(0, array.length - 1)]; 36 | }, 37 | 38 | randomChar: function (charset) { 39 | charset = charset || 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 40 | return charset.charAt(utils.randomInt(0, charset.length - 1)); 41 | } 42 | }; 43 | 44 | module.exports = utils; 45 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/.name: -------------------------------------------------------------------------------- 1 | fecha -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/fecha.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/jsLibraryMappings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/libraries/fecha_node_modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 4.2 -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/Gulpfile.js: -------------------------------------------------------------------------------- 1 | var uglify = require('gulp-uglify'), 2 | gulp = require('gulp'), 3 | rename = require('gulp-rename'); 4 | 5 | gulp.task('build', function () { 6 | gulp.src('fecha.js') 7 | .pipe(uglify()) 8 | .pipe(rename(function (path) { 9 | path.extname = ".min.js" 10 | })) 11 | .pipe(gulp.dest('./')) 12 | }); 13 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Taylor Hakes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /TestHarness/node_modules/fecha/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fecha", 3 | "main": "fecha.js", 4 | "version": "1.2.0", 5 | "homepage": "https://github.com/taylorhakes/fecha", 6 | "authors": [ 7 | "Taylor Hakes" 8 | ], 9 | "description": "Date formatting and parsing", 10 | "moduleType": [ 11 | "amd", 12 | "globals", 13 | "node" 14 | ], 15 | "keywords": [ 16 | "date", 17 | "parse", 18 | "moment", 19 | "format", 20 | "fecha", 21 | "formatting" 22 | ], 23 | "license": "MIT", 24 | "ignore": [ 25 | "**/.*", 26 | "node_modules", 27 | "bower_components", 28 | "test", 29 | "tests" 30 | ], 31 | "devDependencies": { 32 | "karma": "^0.12.31", 33 | "jasmine-core": "^2.1.3", 34 | "karma-jasmine": "^0.3.4", 35 | "karma-phantomjs-launcher": "^0.1.4", 36 | "karma-coverage": "^0.2.7", 37 | "gulp": "^3.8.10", 38 | "gulp-uglify": "^1.0.2", 39 | "gulp-rename": "^1.2.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /TestHarness/node_modules/guid/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright 2009, 2010 Dan Dean. All rights reserved. 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | IN THE SOFTWARE. -------------------------------------------------------------------------------- /TestHarness/node_modules/guid/ender.js: -------------------------------------------------------------------------------- 1 | !function ($) { 2 | $.ender({ guid: Guid.raw }); 3 | }(ender); 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "spec/mustache"] 2 | path = spec/mustache 3 | url = git://github.com/mustache/spec.git 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/.istanbul.yml: -------------------------------------------------------------------------------- 1 | instrumentation: 2 | excludes: ['**/spec/**'] 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .gitignore 3 | .rvmrc 4 | .eslintrc 5 | .travis.yml 6 | .rspec 7 | Gemfile 8 | Gemfile.lock 9 | Rakefile 10 | Gruntfile.js 11 | *.gemspec 12 | *.nuspec 13 | *.log 14 | bench/* 15 | configurations/* 16 | components/* 17 | coverage/* 18 | dist/cdnjs/* 19 | dist/components/* 20 | spec/* 21 | src/* 22 | tasks/* 23 | tmp/* 24 | publish/* 25 | vendor/* 26 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011-2016 by Yehuda Katz 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/amd/handlebars/decorators.js: -------------------------------------------------------------------------------- 1 | define(['exports', './decorators/inline'], function (exports, _decoratorsInline) { 2 | 'use strict'; 3 | 4 | exports.__esModule = true; 5 | exports.registerDefaultDecorators = registerDefaultDecorators; 6 | // istanbul ignore next 7 | 8 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 9 | 10 | var _registerInline = _interopRequireDefault(_decoratorsInline); 11 | 12 | function registerDefaultDecorators(instance) { 13 | _registerInline['default'](instance); 14 | } 15 | }); 16 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFTyxXQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCwrQkFBZSxRQUFRLENBQUMsQ0FBQztHQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG5cbiJdfQ== 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/amd/handlebars/helpers/lookup.js: -------------------------------------------------------------------------------- 1 | define(['exports', 'module'], function (exports, module) { 2 | 'use strict'; 3 | 4 | module.exports = function (instance) { 5 | instance.registerHelper('lookup', function (obj, field) { 6 | return obj && obj[field]; 7 | }); 8 | }; 9 | }); 10 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OzttQkFBZSxVQUFTLFFBQVEsRUFBRTtBQUNoQyxZQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxVQUFTLEdBQUcsRUFBRSxLQUFLLEVBQUU7QUFDckQsYUFBTyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFCLENBQUMsQ0FBQztHQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmpbZmllbGRdO1xuICB9KTtcbn1cbiJdfQ== 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/amd/handlebars/safe-string.js: -------------------------------------------------------------------------------- 1 | define(['exports', 'module'], function (exports, module) { 2 | // Build out our basic SafeString type 3 | 'use strict'; 4 | 5 | function SafeString(string) { 6 | this.string = string; 7 | } 8 | 9 | SafeString.prototype.toString = SafeString.prototype.toHTML = function () { 10 | return '' + this.string; 11 | }; 12 | 13 | module.exports = SafeString; 14 | }); 15 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxXQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsUUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7R0FDdEI7O0FBRUQsWUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxXQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0dBQ3pCLENBQUM7O21CQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ== 16 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/cjs/handlebars/decorators.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports.registerDefaultDecorators = registerDefaultDecorators; 5 | // istanbul ignore next 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8 | 9 | var _decoratorsInline = require('./decorators/inline'); 10 | 11 | var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline); 12 | 13 | function registerDefaultDecorators(instance) { 14 | _decoratorsInline2['default'](instance); 15 | } 16 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG5cbiJdfQ== 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | exports['default'] = function (instance) { 6 | instance.registerHelper('lookup', function (obj, field) { 7 | return obj && obj[field]; 8 | }); 9 | }; 10 | 11 | module.exports = exports['default']; 12 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFO0FBQ3JELFdBQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztHQUMxQixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJsb29rdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignbG9va3VwJywgZnVuY3Rpb24ob2JqLCBmaWVsZCkge1xuICAgIHJldHVybiBvYmogJiYgb2JqW2ZpZWxkXTtcbiAgfSk7XG59XG4iXX0= 13 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/dist/cjs/handlebars/safe-string.js: -------------------------------------------------------------------------------- 1 | // Build out our basic SafeString type 2 | 'use strict'; 3 | 4 | exports.__esModule = true; 5 | function SafeString(string) { 6 | this.string = string; 7 | } 8 | 9 | SafeString.prototype.toString = SafeString.prototype.toHTML = function () { 10 | return '' + this.string; 11 | }; 12 | 13 | exports['default'] = SafeString; 14 | module.exports = exports['default']; 15 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ== 16 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars.js: -------------------------------------------------------------------------------- 1 | import runtime from './handlebars.runtime'; 2 | 3 | // Compiler imports 4 | import AST from './handlebars/compiler/ast'; 5 | import { parser as Parser, parse } from './handlebars/compiler/base'; 6 | import { Compiler, compile, precompile } from './handlebars/compiler/compiler'; 7 | import JavaScriptCompiler from './handlebars/compiler/javascript-compiler'; 8 | import Visitor from './handlebars/compiler/visitor'; 9 | 10 | import noConflict from './handlebars/no-conflict'; 11 | 12 | let _create = runtime.create; 13 | function create() { 14 | let hb = _create(); 15 | 16 | hb.compile = function(input, options) { 17 | return compile(input, options, hb); 18 | }; 19 | hb.precompile = function(input, options) { 20 | return precompile(input, options, hb); 21 | }; 22 | 23 | hb.AST = AST; 24 | hb.Compiler = Compiler; 25 | hb.JavaScriptCompiler = JavaScriptCompiler; 26 | hb.Parser = Parser; 27 | hb.parse = parse; 28 | 29 | return hb; 30 | } 31 | 32 | let inst = create(); 33 | inst.create = create; 34 | 35 | noConflict(inst); 36 | 37 | inst.Visitor = Visitor; 38 | 39 | inst['default'] = inst; 40 | 41 | export default inst; 42 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars.runtime.js: -------------------------------------------------------------------------------- 1 | import * as base from './handlebars/base'; 2 | 3 | // Each of these augment the Handlebars object. No need to setup here. 4 | // (This is done to easily share code between commonjs and browse envs) 5 | import SafeString from './handlebars/safe-string'; 6 | import Exception from './handlebars/exception'; 7 | import * as Utils from './handlebars/utils'; 8 | import * as runtime from './handlebars/runtime'; 9 | 10 | import noConflict from './handlebars/no-conflict'; 11 | 12 | // For compatibility and usage outside of module systems, make the Handlebars object a namespace 13 | function create() { 14 | let hb = new base.HandlebarsEnvironment(); 15 | 16 | Utils.extend(hb, base); 17 | hb.SafeString = SafeString; 18 | hb.Exception = Exception; 19 | hb.Utils = Utils; 20 | hb.escapeExpression = Utils.escapeExpression; 21 | 22 | hb.VM = runtime; 23 | hb.template = function(spec) { 24 | return runtime.template(spec, hb); 25 | }; 26 | 27 | return hb; 28 | } 29 | 30 | let inst = create(); 31 | inst.create = create; 32 | 33 | noConflict(inst); 34 | 35 | inst['default'] = inst; 36 | 37 | export default inst; 38 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/compiler/ast.js: -------------------------------------------------------------------------------- 1 | let AST = { 2 | // Public API used to evaluate derived attributes regarding AST nodes 3 | helpers: { 4 | // a mustache is definitely a helper if: 5 | // * it is an eligible helper, and 6 | // * it has at least one parameter or hash segment 7 | helperExpression: function(node) { 8 | return (node.type === 'SubExpression') 9 | || ((node.type === 'MustacheStatement' || node.type === 'BlockStatement') 10 | && !!((node.params && node.params.length) || node.hash)); 11 | }, 12 | 13 | scopedId: function(path) { 14 | return (/^\.|this\b/).test(path.original); 15 | }, 16 | 17 | // an ID is simple if it only has one part, and that part is not 18 | // `..` or `this`. 19 | simpleId: function(path) { 20 | return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth; 21 | } 22 | } 23 | }; 24 | 25 | 26 | // Must be exported as an object rather than the root of the module as the jison lexer 27 | // must modify the object to operate properly. 28 | export default AST; 29 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/compiler/base.js: -------------------------------------------------------------------------------- 1 | import parser from './parser'; 2 | import WhitespaceControl from './whitespace-control'; 3 | import * as Helpers from './helpers'; 4 | import { extend } from '../utils'; 5 | 6 | export { parser }; 7 | 8 | let yy = {}; 9 | extend(yy, Helpers); 10 | 11 | export function parse(input, options) { 12 | // Just return if an already-compiled AST was passed in. 13 | if (input.type === 'Program') { return input; } 14 | 15 | parser.yy = yy; 16 | 17 | // Altering the shared object here, but this is ok as parser is a sync operation 18 | yy.locInfo = function(locInfo) { 19 | return new yy.SourceLocation(options && options.srcName, locInfo); 20 | }; 21 | 22 | let strip = new WhitespaceControl(options); 23 | return strip.accept(parser.parse(input)); 24 | } 25 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/decorators.js: -------------------------------------------------------------------------------- 1 | import registerInline from './decorators/inline'; 2 | 3 | export function registerDefaultDecorators(instance) { 4 | registerInline(instance); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/decorators/inline.js: -------------------------------------------------------------------------------- 1 | import {extend} from '../utils'; 2 | 3 | export default function(instance) { 4 | instance.registerDecorator('inline', function(fn, props, container, options) { 5 | let ret = fn; 6 | if (!props.partials) { 7 | props.partials = {}; 8 | ret = function(context, options) { 9 | // Create a new partials stack frame prior to exec. 10 | let original = container.partials; 11 | container.partials = extend({}, original, props.partials); 12 | let ret = fn(context, options); 13 | container.partials = original; 14 | return ret; 15 | }; 16 | } 17 | 18 | props.partials[options.args[0]] = options.fn; 19 | 20 | return ret; 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/exception.js: -------------------------------------------------------------------------------- 1 | 2 | const errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; 3 | 4 | function Exception(message, node) { 5 | let loc = node && node.loc, 6 | line, 7 | column; 8 | if (loc) { 9 | line = loc.start.line; 10 | column = loc.start.column; 11 | 12 | message += ' - ' + line + ':' + column; 13 | } 14 | 15 | let tmp = Error.prototype.constructor.call(this, message); 16 | 17 | // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. 18 | for (let idx = 0; idx < errorProps.length; idx++) { 19 | this[errorProps[idx]] = tmp[errorProps[idx]]; 20 | } 21 | 22 | /* istanbul ignore else */ 23 | if (Error.captureStackTrace) { 24 | Error.captureStackTrace(this, Exception); 25 | } 26 | 27 | try { 28 | if (loc) { 29 | this.lineNumber = line; 30 | 31 | // Work around issue under safari where we can't directly set the column value 32 | /* istanbul ignore next */ 33 | if (Object.defineProperty) { 34 | Object.defineProperty(this, 'column', {value: column}); 35 | } else { 36 | this.column = column; 37 | } 38 | } 39 | } catch (nop) { 40 | /* Ignore if the browser is very particular */ 41 | } 42 | } 43 | 44 | Exception.prototype = new Error(); 45 | 46 | export default Exception; 47 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers.js: -------------------------------------------------------------------------------- 1 | import registerBlockHelperMissing from './helpers/block-helper-missing'; 2 | import registerEach from './helpers/each'; 3 | import registerHelperMissing from './helpers/helper-missing'; 4 | import registerIf from './helpers/if'; 5 | import registerLog from './helpers/log'; 6 | import registerLookup from './helpers/lookup'; 7 | import registerWith from './helpers/with'; 8 | 9 | export function registerDefaultHelpers(instance) { 10 | registerBlockHelperMissing(instance); 11 | registerEach(instance); 12 | registerHelperMissing(instance); 13 | registerIf(instance); 14 | registerLog(instance); 15 | registerLookup(instance); 16 | registerWith(instance); 17 | } 18 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/block-helper-missing.js: -------------------------------------------------------------------------------- 1 | import {appendContextPath, createFrame, isArray} from '../utils'; 2 | 3 | export default function(instance) { 4 | instance.registerHelper('blockHelperMissing', function(context, options) { 5 | let inverse = options.inverse, 6 | fn = options.fn; 7 | 8 | if (context === true) { 9 | return fn(this); 10 | } else if (context === false || context == null) { 11 | return inverse(this); 12 | } else if (isArray(context)) { 13 | if (context.length > 0) { 14 | if (options.ids) { 15 | options.ids = [options.name]; 16 | } 17 | 18 | return instance.helpers.each(context, options); 19 | } else { 20 | return inverse(this); 21 | } 22 | } else { 23 | if (options.data && options.ids) { 24 | let data = createFrame(options.data); 25 | data.contextPath = appendContextPath(options.data.contextPath, options.name); 26 | options = {data: data}; 27 | } 28 | 29 | return fn(context, options); 30 | } 31 | }); 32 | } 33 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/helper-missing.js: -------------------------------------------------------------------------------- 1 | import Exception from '../exception'; 2 | 3 | export default function(instance) { 4 | instance.registerHelper('helperMissing', function(/* [args, ]options */) { 5 | if (arguments.length === 1) { 6 | // A missing field in a {{foo}} construct. 7 | return undefined; 8 | } else { 9 | // Someone is actually trying to call something, blow up. 10 | throw new Exception('Missing helper: "' + arguments[arguments.length - 1].name + '"'); 11 | } 12 | }); 13 | } 14 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/if.js: -------------------------------------------------------------------------------- 1 | import {isEmpty, isFunction} from '../utils'; 2 | 3 | export default function(instance) { 4 | instance.registerHelper('if', function(conditional, options) { 5 | if (isFunction(conditional)) { conditional = conditional.call(this); } 6 | 7 | // Default behavior is to render the positive path if the value is truthy and not empty. 8 | // The `includeZero` option may be set to treat the condtional as purely not empty based on the 9 | // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative. 10 | if ((!options.hash.includeZero && !conditional) || isEmpty(conditional)) { 11 | return options.inverse(this); 12 | } else { 13 | return options.fn(this); 14 | } 15 | }); 16 | 17 | instance.registerHelper('unless', function(conditional, options) { 18 | return instance.helpers['if'].call(this, conditional, {fn: options.inverse, inverse: options.fn, hash: options.hash}); 19 | }); 20 | } 21 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/log.js: -------------------------------------------------------------------------------- 1 | export default function(instance) { 2 | instance.registerHelper('log', function(/* message, options */) { 3 | let args = [undefined], 4 | options = arguments[arguments.length - 1]; 5 | for (let i = 0; i < arguments.length - 1; i++) { 6 | args.push(arguments[i]); 7 | } 8 | 9 | let level = 1; 10 | if (options.hash.level != null) { 11 | level = options.hash.level; 12 | } else if (options.data && options.data.level != null) { 13 | level = options.data.level; 14 | } 15 | args[0] = level; 16 | 17 | instance.log(... args); 18 | }); 19 | } 20 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/lookup.js: -------------------------------------------------------------------------------- 1 | export default function(instance) { 2 | instance.registerHelper('lookup', function(obj, field) { 3 | return obj && obj[field]; 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/helpers/with.js: -------------------------------------------------------------------------------- 1 | import {appendContextPath, blockParams, createFrame, isEmpty, isFunction} from '../utils'; 2 | 3 | export default function(instance) { 4 | instance.registerHelper('with', function(context, options) { 5 | if (isFunction(context)) { context = context.call(this); } 6 | 7 | let fn = options.fn; 8 | 9 | if (!isEmpty(context)) { 10 | let data = options.data; 11 | if (options.data && options.ids) { 12 | data = createFrame(options.data); 13 | data.contextPath = appendContextPath(options.data.contextPath, options.ids[0]); 14 | } 15 | 16 | return fn(context, { 17 | data: data, 18 | blockParams: blockParams([context], [data && data.contextPath]) 19 | }); 20 | } else { 21 | return options.inverse(this); 22 | } 23 | }); 24 | } 25 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/logger.js: -------------------------------------------------------------------------------- 1 | import {indexOf} from './utils'; 2 | 3 | let logger = { 4 | methodMap: ['debug', 'info', 'warn', 'error'], 5 | level: 'info', 6 | 7 | // Maps a given level value to the `methodMap` indexes above. 8 | lookupLevel: function(level) { 9 | if (typeof level === 'string') { 10 | let levelMap = indexOf(logger.methodMap, level.toLowerCase()); 11 | if (levelMap >= 0) { 12 | level = levelMap; 13 | } else { 14 | level = parseInt(level, 10); 15 | } 16 | } 17 | 18 | return level; 19 | }, 20 | 21 | // Can be overridden in the host environment 22 | log: function(level, ...message) { 23 | level = logger.lookupLevel(level); 24 | 25 | if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) { 26 | let method = logger.methodMap[level]; 27 | if (!console[method]) { // eslint-disable-line no-console 28 | method = 'log'; 29 | } 30 | console[method](...message); // eslint-disable-line no-console 31 | } 32 | } 33 | }; 34 | 35 | export default logger; 36 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/no-conflict.js: -------------------------------------------------------------------------------- 1 | /* global window */ 2 | export default function(Handlebars) { 3 | /* istanbul ignore next */ 4 | let root = typeof global !== 'undefined' ? global : window, 5 | $Handlebars = root.Handlebars; 6 | /* istanbul ignore next */ 7 | Handlebars.noConflict = function() { 8 | if (root.Handlebars === Handlebars) { 9 | root.Handlebars = $Handlebars; 10 | } 11 | return Handlebars; 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/handlebars/safe-string.js: -------------------------------------------------------------------------------- 1 | // Build out our basic SafeString type 2 | function SafeString(string) { 3 | this.string = string; 4 | } 5 | 6 | SafeString.prototype.toString = SafeString.prototype.toHTML = function() { 7 | return '' + this.string; 8 | }; 9 | 10 | export default SafeString; 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/lib/index.js: -------------------------------------------------------------------------------- 1 | // USAGE: 2 | // var handlebars = require('handlebars'); 3 | /* eslint-disable no-var */ 4 | 5 | // var local = handlebars.create(); 6 | 7 | var handlebars = require('../dist/cjs/handlebars')['default']; 8 | 9 | var printer = require('../dist/cjs/handlebars/compiler/printer'); 10 | handlebars.PrintVisitor = printer.PrintVisitor; 11 | handlebars.print = printer.print; 12 | 13 | module.exports = handlebars; 14 | 15 | // Publish a Node.js require() handler for .handlebars and .hbs files 16 | function extension(module, filename) { 17 | var fs = require('fs'); 18 | var templateString = fs.readFileSync(filename, 'utf8'); 19 | module.exports = handlebars.compile(templateString); 20 | } 21 | /* istanbul ignore else */ 22 | if (typeof require !== 'undefined' && require.extensions) { 23 | require.extensions['.handlebars'] = extension; 24 | require.extensions['.hbs'] = extension; 25 | } 26 | -------------------------------------------------------------------------------- /TestHarness/node_modules/handlebars/runtime.js: -------------------------------------------------------------------------------- 1 | // Create a simple path alias to allow browserify to resolve 2 | // the runtime on a supported path. 3 | module.exports = require('./dist/cjs/handlebars.runtime')['default']; 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/is-buffer/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - node 5 | env: 6 | global: 7 | - secure: du27W3wTgZ3G183axW7w0I01lOIurx8kilMH9p45VMfNXCu8lo6FLtLIQZxJ1FYMoJLQ1yfJTu2G0rq39SotDfJumsk6tF7BjTY/HKCocZaHqCMgw0W2bcylb5kMAdLhBNPlzejpPoWa1x1axbAHNFOLQNVosG/Bavu3/kuIIps= 8 | - secure: Ax/5aekM40o67NuTkvQqx1DhfP86ZlHTtKbv5yI+WFmbjD3FQM8b8G1J/o7doaBDev7Mp+1zDJOK2pFGtt+JGRl0lM2JUmLh6yh/b28obXyei5iuUkqzKJLfKZHMbY5QW/1i4DUM+zSXe6Kava0qnqYg5wBBnrF6gLdsVsCGNQk= 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/is-buffer/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: tape 2 | browsers: 3 | - name: chrome 4 | version: 39..latest 5 | - name: firefox 6 | version: 34..latest 7 | - name: safari 8 | version: 5..latest 9 | - name: microsoftedge 10 | version: latest 11 | - name: ie 12 | version: 8..latest 13 | - name: android 14 | version: 5.0..latest 15 | -------------------------------------------------------------------------------- /TestHarness/node_modules/is-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Feross Aboukhadijeh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/is-buffer/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Determine if an object is a Buffer 3 | * 4 | * @author Feross Aboukhadijeh 5 | * @license MIT 6 | */ 7 | 8 | // The _isBuffer check is for Safari 5-7 support, because it's missing 9 | // Object.prototype.constructor. Remove this eventually 10 | module.exports = function (obj) { 11 | return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) 12 | } 13 | 14 | function isBuffer (obj) { 15 | return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) 16 | } 17 | 18 | // For Node v0.10 support. Remove this eventually. 19 | function isSlowBuffer (obj) { 20 | return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) 21 | } 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/is-buffer/test/basic.js: -------------------------------------------------------------------------------- 1 | var buffer = require('buffer') 2 | var isBuffer = require('../') 3 | var test = require('tape') 4 | 5 | test('is-buffer', function (t) { 6 | t.equal(isBuffer(new Buffer(4)), true, 'new Buffer(4)') 7 | t.equal(isBuffer(buffer.SlowBuffer(100)), true, 'SlowBuffer(100)') 8 | 9 | t.equal(isBuffer(undefined), false, 'undefined') 10 | t.equal(isBuffer(null), false, 'null') 11 | t.equal(isBuffer(''), false, 'empty string') 12 | t.equal(isBuffer(true), false, 'true') 13 | t.equal(isBuffer(false), false, 'false') 14 | t.equal(isBuffer(0), false, '0') 15 | t.equal(isBuffer(1), false, '1') 16 | t.equal(isBuffer(1.0), false, '1.0') 17 | t.equal(isBuffer('string'), false, 'string') 18 | t.equal(isBuffer({}), false, '{}') 19 | t.equal(isBuffer([]), false, '[]') 20 | t.equal(isBuffer(function foo () {}), false, 'function foo () {}') 21 | t.equal(isBuffer({ isBuffer: null }), false, '{ isBuffer: null }') 22 | t.equal(isBuffer({ isBuffer: function () { throw new Error() } }), false, '{ isBuffer: function () { throw new Error() } }') 23 | 24 | t.end() 25 | }) 26 | -------------------------------------------------------------------------------- /TestHarness/node_modules/kind-of/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2016, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/lazy-cache/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2016, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/longest/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2015, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/longest/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * longest 3 | * 4 | * Copyright (c) 2014-2015, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = function(arr) { 11 | if (!arr) { 12 | return null; 13 | } 14 | 15 | var len = arr.length; 16 | if (!len) { 17 | return null; 18 | } 19 | 20 | var c = 0; 21 | var i = 0; 22 | var ele; 23 | var elen; 24 | var res; 25 | 26 | for (; i < len; i++) { 27 | ele = arr[i].toString(); 28 | elen = ele.length; 29 | 30 | if (elen > c) { 31 | res = ele; 32 | c = elen; 33 | } 34 | } 35 | 36 | return res; 37 | }; 38 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/LICENSE: -------------------------------------------------------------------------------- 1 | This software is released under the MIT license: 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.dir(argv); 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/dash.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('-', function (t) { 5 | t.plan(5); 6 | t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); 7 | t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); 8 | t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); 9 | t.deepEqual( 10 | parse([ '-b', '-' ], { boolean: 'b' }), 11 | { b: true, _: [ '-' ] } 12 | ); 13 | t.deepEqual( 14 | parse([ '-s', '-' ], { string: 's' }), 15 | { s: '-', _: [] } 16 | ); 17 | }); 18 | 19 | test('-a -- b', function (t) { 20 | t.plan(3); 21 | t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 22 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 23 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 24 | }); 25 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/default_bool.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('boolean default true', function (t) { 5 | var argv = parse([], { 6 | boolean: 'sometrue', 7 | default: { sometrue: true } 8 | }); 9 | t.equal(argv.sometrue, true); 10 | t.end(); 11 | }); 12 | 13 | test('boolean default false', function (t) { 14 | var argv = parse([], { 15 | boolean: 'somefalse', 16 | default: { somefalse: false } 17 | }); 18 | t.equal(argv.somefalse, false); 19 | t.end(); 20 | }); 21 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | 18 | test('dotted default with no alias', function (t) { 19 | var argv = parse('', {default: {'a.b': 11}}); 20 | t.equal(argv.a.b, 11); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/num.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('nums', function (t) { 5 | var argv = parse([ 6 | '-x', '1234', 7 | '-y', '5.67', 8 | '-z', '1e7', 9 | '-w', '10f', 10 | '--hex', '0xdeadbeef', 11 | '789' 12 | ]); 13 | t.deepEqual(argv, { 14 | x : 1234, 15 | y : 5.67, 16 | z : 1e7, 17 | w : '10f', 18 | hex : 0xdeadbeef, 19 | _ : [ 789 ] 20 | }); 21 | t.deepEqual(typeof argv.x, 'number'); 22 | t.deepEqual(typeof argv.y, 'number'); 23 | t.deepEqual(typeof argv.z, 'number'); 24 | t.deepEqual(typeof argv.w, 'string'); 25 | t.deepEqual(typeof argv.hex, 'number'); 26 | t.deepEqual(typeof argv._[0], 'number'); 27 | t.end(); 28 | }); 29 | 30 | test('already a number', function (t) { 31 | var argv = parse([ '-x', 1234, 789 ]); 32 | t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); 33 | t.deepEqual(typeof argv.x, 'number'); 34 | t.deepEqual(typeof argv._[0], 'number'); 35 | t.end(); 36 | }); 37 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: ['123'] }); 9 | }); 10 | -------------------------------------------------------------------------------- /TestHarness/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | .nyc_output 4 | coverage 5 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2012 Robert Kieffer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/benchmark/bench.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # for a given node version run: 4 | # for i in {0..9}; do node benchmark.js >> bench_0.6.2.log; done; 5 | 6 | PATTERNS=('nodeuuid.v1()' "nodeuuid.v1('binary'," 'nodeuuid.v4()' "nodeuuid.v4('binary'," "uuid()" "uuid('binary')" 'uuidjs.create(1)' 'uuidjs.create(4)' '140byte') 7 | FILES=(node_uuid_v1_string node_uuid_v1_buf node_uuid_v4_string node_uuid_v4_buf libuuid_v4_string libuuid_v4_binary uuidjs_v1_string uuidjs_v4_string 140byte_es) 8 | INDICES=(2 3 2 3 2 2 2 2 2) 9 | VERSIONS=$( ls bench_*.log | sed -e 's/^bench_\([0-9\.]*\)\.log/\1/' | tr "\\n" " " ) 10 | TMPJOIN="tmp_join" 11 | OUTPUT="bench_results.txt" 12 | 13 | for I in ${!FILES[*]}; do 14 | F=${FILES[$I]} 15 | P=${PATTERNS[$I]} 16 | INDEX=${INDICES[$I]} 17 | echo "version $F" > $F 18 | for V in $VERSIONS; do 19 | (VAL=$( grep "$P" bench_$V.log | LC_ALL=en_US awk '{ sum += $'$INDEX' } END { print sum/NR }' ); echo $V $VAL) >> $F 20 | done 21 | if [ $I == 0 ]; then 22 | cat $F > $TMPJOIN 23 | else 24 | join $TMPJOIN $F > $OUTPUT 25 | cp $OUTPUT $TMPJOIN 26 | fi 27 | rm $F 28 | done 29 | 30 | rm $TMPJOIN 31 | 32 | gnuplot bench.gnu 33 | convert -density 200 -resize 800x560 -flatten bench.eps bench.png 34 | rm bench.eps 35 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/benchmark/benchmark-native.c: -------------------------------------------------------------------------------- 1 | /* 2 | Test performance of native C UUID generation 3 | 4 | To Compile: cc -luuid benchmark-native.c -o benchmark-native 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | int main() { 13 | uuid_t myid; 14 | char buf[36+1]; 15 | int i; 16 | struct timeval t; 17 | double start, finish; 18 | 19 | gettimeofday(&t, NULL); 20 | start = t.tv_sec + t.tv_usec/1e6; 21 | 22 | int n = 2e5; 23 | for (i = 0; i < n; i++) { 24 | uuid_generate(myid); 25 | uuid_unparse(myid, buf); 26 | } 27 | 28 | gettimeofday(&t, NULL); 29 | finish = t.tv_sec + t.tv_usec/1e6; 30 | double dur = finish - start; 31 | 32 | printf("%d uuids/sec", (int)(n/dur)); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/bin/uuid: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var path = require('path'); 4 | var uuid = require(path.join(__dirname, '..')); 5 | 6 | var arg = process.argv[2]; 7 | 8 | if ('--help' === arg) { 9 | console.log('\n USAGE: uuid [version] [options]\n\n'); 10 | console.log(' options:\n'); 11 | console.log(' --help Display this message and exit\n'); 12 | process.exit(0); 13 | } 14 | 15 | if (null == arg) { 16 | console.log(uuid()); 17 | process.exit(0); 18 | } 19 | 20 | if ('v1' !== arg && 'v4' !== arg) { 21 | console.error('Version must be RFC4122 version 1 or version 4, denoted as "v1" or "v4"'); 22 | process.exit(1); 23 | } 24 | 25 | console.log(uuid[arg]()); 26 | process.exit(0); 27 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-uuid", 3 | "version": "1.4.7", 4 | "homepage": "https://github.com/broofa/node-uuid", 5 | "authors": [ 6 | "Robert Kieffer " 7 | ], 8 | "description": "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.", 9 | "main": "uuid.js", 10 | "keywords": [ 11 | "uuid", 12 | "gid", 13 | "rfc4122" 14 | ], 15 | "license": "MIT", 16 | "ignore": [ 17 | "**/.*", 18 | "node_modules", 19 | "bower_components", 20 | "test", 21 | "tests" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-uuid", 3 | "repo": "broofa/node-uuid", 4 | "description": "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.", 5 | "version": "1.4.7", 6 | "author": "Robert Kieffer ", 7 | "contributors": [ 8 | { 9 | "name": "Christoph Tavan ", 10 | "github": "https://github.com/ctavan" 11 | } 12 | ], 13 | "keywords": [ 14 | "uuid", 15 | "guid", 16 | "rfc4122" 17 | ], 18 | "dependencies": {}, 19 | "development": {}, 20 | "main": "uuid.js", 21 | "scripts": [ 22 | "uuid.js" 23 | ], 24 | "license": "MIT" 25 | } -------------------------------------------------------------------------------- /TestHarness/node_modules/node-uuid/test/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Företagsplatsen 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/LICENSE-Numeraljs: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Adam Draper 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/cs-CZ.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Czech 4 | * locale: Czech Republic 5 | * author : Anatoli Papirovski : https://github.com/apapirovski 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"cs-CZ",cultureCode:"cs-CZ",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"Kč",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/da-DK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Danish 4 | * locale: Denmark 5 | * author : Michael Storgaard : https://github.com/mstorgaard 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"da-DK",cultureCode:"da-DK",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mio",billion:"mia",trillion:"b"},ordinal:function(){return"."},currency:{symbol:"kr",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/de-CH.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : German 4 | * locale: Switzerland 5 | * author : Michael Piefel : https://github.com/piefel (based on work from Marco Krage : https://github.com/sinky) 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"de-CH",cultureCode:"de-CH",delimiters:{thousands:"'",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"CHF",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/de-DE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : German 4 | * locale: Germany 5 | * author : Marco Krage : https://github.com/sinky 6 | * 7 | * Generally useful in Germany, Austria, Luxembourg, Belgium 8 | */ 9 | (function(){"use strict";var a={langLocaleCode:"de-DE",cultureCode:"de-DE",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€",position:"postfix",spaceSeparated:!0},defaults:{currencyFormat:",4"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 10 | // CommonJS 11 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 12 | // Browser 13 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/en-AU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : English 4 | * locale: Australia 5 | * author : Benedikt Huss : https://github.com/ben305 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"en-AU",cultureCode:"en-AU",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/en-GB.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : English 4 | * locale: United Kingdom of Great Britain and Northern Ireland 5 | * author : Dan Ristic : https://github.com/dristic 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"en-GB",cultureCode:"en-GB",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"£",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/en-NZ.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : English 4 | * locale: New Zealand 5 | * author : Benedikt Huss : https://github.com/ben305 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"en-NZ",cultureCode:"en-NZ",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/en-ZA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : English 4 | * locale: South Africa 5 | * author : Stewart Scott https://github.com/stewart42 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"en-ZA",cultureCode:"en-ZA",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"R",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/es-AR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Spanish 4 | * locale: Argentina 5 | * author : Hernan Garcia : https://github.com/hgarcia 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"es-AR",cultureCode:"es-AR",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"$",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/es-ES.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Spanish 4 | * locale: Spain 5 | * author : Hernan Garcia : https://github.com/hgarcia 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"es-ES",cultureCode:"es-ES",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===b||3===b?"er":2===b?"do":7===b||0===b?"mo":8===b?"vo":9===b?"no":"to"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/et-EE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Estonian 4 | * locale: Estonia 5 | * author : Illimar Tambek : https://github.com/ragulka 6 | * 7 | * Note: in Estonian, abbreviations are always separated 8 | * from numbers with a space 9 | */ 10 | (function(){"use strict";var a={langLocaleCode:"et-EE",cultureCode:"et-EE",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tuh",million:" mln",billion:" mld",trillion:" trl"},ordinal:function(){return"."},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 11 | // CommonJS 12 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 13 | // Browser 14 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fa-IR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Farsi 4 | * locale: Iran 5 | * author : neo13 : https://github.com/neo13 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fa-IR",cultureCode:"fa-IR",delimiters:{thousands:"،",decimal:"."},abbreviations:{thousand:"هزار",million:"میلیون",billion:"میلیارد",trillion:"تریلیون"},ordinal:function(){return"ام"},currency:{symbol:"﷼"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fi-FI.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Finnish 4 | * locale: Finland 5 | * author : Sami Saada : https://github.com/samitheberber 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fi-FI",cultureCode:"fi-FI",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(){return"."},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fil-PH.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Filipino (Pilipino) 4 | * locale: Philippines 5 | * author : Michael Abadilla : https://github.com/mjmaix 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fil-PH",cultureCode:"fil-PH",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"₱"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fr-CA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : French 4 | * locale: Canada 5 | * author : Léo Renaud-Allaire : https://github.com/renaudleo 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fr-CA",cultureCode:"fr-CA",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"M",billion:"G",trillion:"T"},ordinal:function(a){return 1===a?"er":"ème"},currency:{symbol:"$",position:"postfix",spaceSeparated:!0},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fr-CH.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : French 4 | * locale: Switzerland 5 | * author : Adam Draper : https://github.com/adamwdraper 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fr-CH",cultureCode:"fr-CH",delimiters:{thousands:"'",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"ème"},currency:{symbol:"CHF",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/fr-FR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : French 4 | * locale: France 5 | * author : Adam Draper : https://github.com/adamwdraper 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"fr-FR",cultureCode:"fr-FR",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){return 1===a?"er":"ème"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/he-IL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Hebrew 4 | * locale : IL 5 | * author : Eli Zehavi : https://github.com/eli-zehavi 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"he-IL",cultureCode:"he-IL",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"אלף",million:"מליון",billion:"בליון",trillion:"טריליון"},currency:{symbol:"₪",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"₪ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"₪ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/hu-HU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Hungarian 4 | * locale: Hungary 5 | * author : Peter Bakondy : https://github.com/pbakondy 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"hu-HU",cultureCode:"hu-HU",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"E",// ezer 8 | million:"M",// millió 9 | billion:"Mrd",// milliárd 10 | trillion:"T"},ordinal:function(){return"."},currency:{symbol:" Ft",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 11 | // CommonJS 12 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 13 | // Browser 14 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/index.min.js: -------------------------------------------------------------------------------- 1 | exports["cs-CZ"]=require("./cs-CZ.js"),exports["da-DK"]=require("./da-DK.js"),exports["de-CH"]=require("./de-CH.js"),exports["de-DE"]=require("./de-DE.js"),exports["en-AU"]=require("./en-AU.js"),exports["en-GB"]=require("./en-GB.js"),exports["en-NZ"]=require("./en-NZ.js"),exports["en-ZA"]=require("./en-ZA.js"),exports["es-AR"]=require("./es-AR.js"),exports["es-ES"]=require("./es-ES.js"),exports["et-EE"]=require("./et-EE.js"),exports["fa-IR"]=require("./fa-IR.js"),exports["fi-FI"]=require("./fi-FI.js"),exports["fil-PH"]=require("./fil-PH.js"),exports["fr-CA"]=require("./fr-CA.js"),exports["fr-CH"]=require("./fr-CH.js"),exports["fr-FR"]=require("./fr-FR.js"),exports["he-IL"]=require("./he-IL.js"),exports["hu-HU"]=require("./hu-HU.js"),exports["it-IT"]=require("./it-IT.js"),exports["ja-JP"]=require("./ja-JP.js"),exports["ko-KR"]=require("./ko-KR.js"),exports["lv-LV"]=require("./lv-LV.js"),exports["nb-NO"]=require("./nb-NO.js"),exports["nl-BE"]=require("./nl-BE.js"),exports["nl-NL"]=require("./nl-NL.js"),exports["pl-PL"]=require("./pl-PL.js"),exports["pt-BR"]=require("./pt-BR.js"),exports["pt-PT"]=require("./pt-PT.js"),exports["ru-RU"]=require("./ru-RU.js"),exports["ru-UA"]=require("./ru-UA.js"),exports["sk-SK"]=require("./sk-SK.js"),exports["sv-SE"]=require("./sv-SE.js"),exports["th-TH"]=require("./th-TH.js"),exports["tr-TR"]=require("./tr-TR.js"),exports["uk-UA"]=require("./uk-UA.js"),exports["zh-CN"]=require("./zh-CN.js"),exports["zh-TW"]=require("./zh-TW.js"); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/it-IT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Italian 4 | * locale: Italy 5 | * author : Giacomo Trombi : http://cinquepunti.it 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"it-IT",cultureCode:"it-IT",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mila",million:"mil",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/ja-JP.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Japanese 4 | * locale: Japan 5 | * author : teppeis : https://github.com/teppeis 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"ja-JP",cultureCode:"ja-JP",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十億",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/ko-KR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Korean 4 | * author (numbro.js Version): Randy Wilander : https://github.com/rocketedaway 5 | * author (numeral.js Version) : Rich Daley : https://github.com/pedantic-git 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"ko-KR",cultureCode:"ko-KR",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"천",million:"백만",billion:"십억",trillion:"일조"},ordinal:function(){return"."},currency:{symbol:"₩"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/lv-LV.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Latvian 4 | * locale: Latvia 5 | * author : Lauris Bukšis-Haberkorns : https://github.com/Lafriks 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"lv-LV",cultureCode:"lv-LV",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tūkst.",million:" milj.",billion:" mljrd.",trillion:" trilj."},ordinal:function(){return"."},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/nb-NO.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language: Norwegian Bokmål 4 | * locale: Norway 5 | * author : Benjamin Van Ryseghem 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"nb-NO",cultureCode:"nb-NO",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"t",million:"M",billion:"md",trillion:"t"},currency:{symbol:"kr",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/nl-BE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Dutch 4 | * locale: Belgium 5 | * author : Dieter Luypaert : https://github.com/moeriki 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"nl-BE",cultureCode:"nl-BE",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(a){var b=a%100;return 0!==a&&1>=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/nl-NL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Dutch 4 | * locale: Netherlands 5 | * author : Dave Clayton : https://github.com/davedx 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"nl-NL",cultureCode:"nl-NL",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mln",billion:"mrd",trillion:"bln"},ordinal:function(a){var b=a%100;return 0!==a&&1>=b||8===b||b>=20?"ste":"de"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/pl-PL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Polish 4 | * locale : Poland 5 | * author : Dominik Bulaj : https://github.com/dominikbulaj 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"pl-PL",cultureCode:"pl-PL",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tys.",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(){return"."},currency:{symbol:" zł",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/pt-BR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Portuguese 4 | * locale : Brazil 5 | * author : Ramiro Varandas Jr : https://github.com/ramirovjr 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"pt-BR",cultureCode:"pt-BR",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mil",million:"milhões",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"R$",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/pt-PT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Portuguese 4 | * locale : Portugal 5 | * author : Diogo Resende : https://github.com/dresende 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"pt-PT",cultureCode:"pt-PT",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(){return"º"},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/ru-RU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Russian 4 | * locale : Russsia 5 | * author : Anatoli Papirovski : https://github.com/apapirovski 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"ru-RU",cultureCode:"ru-RU",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){ 8 | // not ideal, but since in Russian it can taken on 9 | // different forms (masculine, feminine, neuter) 10 | // this is all we can do 11 | return"."},currency:{symbol:"руб.",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 12 | // CommonJS 13 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 14 | // Browser 15 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/ru-UA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Russian 4 | * locale : Ukraine 5 | * author : Anatoli Papirovski : https://github.com/apapirovski 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"ru-UA",cultureCode:"ru-UA",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн",billion:"b",trillion:"t"},ordinal:function(){ 8 | // not ideal, but since in Russian it can taken on 9 | // different forms (masculine, feminine, neuter) 10 | // this is all we can do 11 | return"."},currency:{symbol:"₴",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 12 | // CommonJS 13 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 14 | // Browser 15 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/sk-SK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Slovak 4 | * locale : Slovakia 5 | * author : Ahmed Al Hafoudh : http://www.freevision.sk 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"sk-SK",cultureCode:"sk-SK",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"€",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/sv-SE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Swedish 4 | * locale : Sweden 5 | * author : Benjamin Van Ryseghem (benjamin.vanryseghem.com) 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"sv-SE",cultureCode:"sv-SE",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"t",million:"M",billion:"md",trillion:"tmd"},currency:{symbol:"kr",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/th-TH.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Thai 4 | * locale : Thailand 5 | * author : Sathit Jittanupat : https://github.com/jojosati 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"th-TH",cultureCode:"th-TH",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"พัน",million:"ล้าน",billion:"พันล้าน",trillion:"ล้านล้าน"},ordinal:function(){return"."},currency:{symbol:"฿",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/tr-TR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Turkish 4 | * locale : Turkey 5 | * author : Ecmel Ercan : https://github.com/ecmel, 6 | * Erhan Gundogan : https://github.com/erhangundogan, 7 | * Burak Yiğit Kaya: https://github.com/BYK 8 | */ 9 | (function(){"use strict";var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},b={langLocaleCode:"tr-TR",cultureCode:"tr-TR",delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"bin",million:"milyon",billion:"milyar",trillion:"trilyon"},ordinal:function(b){if(0===b)// special case for zero 10 | return"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return a[c]||a[d]||a[e]},currency:{symbol:"₺",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 11 | // CommonJS 12 | "undefined"!=typeof module&&module.exports&&(module.exports=b), 13 | // Browser 14 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(b.cultureCode,b)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/uk-UA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Ukrainian 4 | * locale : Ukraine 5 | * author : Michael Piefel : https://github.com/piefel (with help from Tetyana Kuzmenko) 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"uk-UA",cultureCode:"uk-UA",delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тис.",million:"млн",billion:"млрд",trillion:"блн"},ordinal:function(){ 8 | // not ideal, but since in Ukrainian it can taken on 9 | // different forms (masculine, feminine, neuter) 10 | // this is all we can do 11 | return""},currency:{symbol:"₴",position:"postfix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:",0.00 $",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:",0 $"}}; 12 | // CommonJS 13 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 14 | // Browser 15 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : simplified chinese 4 | * locale : China 5 | * author : badplum : https://github.com/badplum 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"zh-CN",cultureCode:"zh-CN",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百万",billion:"十亿",trillion:"兆"},ordinal:function(){return"."},currency:{symbol:"¥",position:"prefix"},defaults:{currencyFormat:",4 a"},formats:{fourDigits:"4 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00",fullWithNoDecimals:"$ ,0"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/dist/languages/zh-TW.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Chinese (Taiwan) 4 | * author (numbro.js Version): Randy Wilander : https://github.com/rocketedaway 5 | * author (numeral.js Version) : Rich Daley : https://github.com/pedantic-git 6 | */ 7 | (function(){"use strict";var a={langLocaleCode:"zh-TW",cultureCode:"zh-TW",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"千",million:"百萬",billion:"十億",trillion:"兆"},ordinal:function(){return"第"},currency:{symbol:"NT$"}}; 8 | // CommonJS 9 | "undefined"!=typeof module&&module.exports&&(module.exports=a), 10 | // Browser 11 | "undefined"!=typeof window&&window.numbro&&window.numbro.culture&&window.numbro.culture(a.cultureCode,a)}).call("undefined"==typeof window?this:window); -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/cs-CZ.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Czech 4 | * locale: Czech Republic 5 | * author : Anatoli Papirovski : https://github.com/apapirovski 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'cs-CZ', 12 | cultureCode: 'cs-CZ', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'tis.', 19 | million: 'mil.', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: 'Kč', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/da-DK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Danish 4 | * locale: Denmark 5 | * author : Michael Storgaard : https://github.com/mstorgaard 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'da-DK', 12 | cultureCode: 'da-DK', 13 | delimiters: { 14 | thousands: '.', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'mio', 20 | billion: 'mia', 21 | trillion: 'b' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: 'kr', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/fa-IR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Farsi 4 | * locale: Iran 5 | * author : neo13 : https://github.com/neo13 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'fa-IR', 12 | cultureCode: 'fa-IR', 13 | delimiters: { 14 | thousands: '،', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: 'هزار', 19 | million: 'میلیون', 20 | billion: 'میلیارد', 21 | trillion: 'تریلیون' 22 | }, 23 | ordinal: function () { 24 | return 'ام'; 25 | }, 26 | currency: { 27 | symbol: '﷼' 28 | } 29 | }; 30 | 31 | // CommonJS 32 | if (typeof module !== 'undefined' && module.exports) { 33 | module.exports = language; 34 | } 35 | // Browser 36 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 37 | window.numbro.culture(language.cultureCode, language); 38 | } 39 | }.call(typeof window === 'undefined' ? this : window)); 40 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/fi-FI.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Finnish 4 | * locale: Finland 5 | * author : Sami Saada : https://github.com/samitheberber 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'fi-FI', 12 | cultureCode: 'fi-FI', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'M', 20 | billion: 'G', 21 | trillion: 'T' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/fil-PH.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Filipino (Pilipino) 4 | * locale: Philippines 5 | * author : Michael Abadilla : https://github.com/mjmaix 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'fil-PH', 12 | cultureCode: 'fil-PH', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'm', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal: function (number) { 24 | var b = number % 10; 25 | return (~~ (number % 100 / 10) === 1) ? 'th' : 26 | (b === 1) ? 'st' : 27 | (b === 2) ? 'nd' : 28 | (b === 3) ? 'rd' : 'th'; 29 | }, 30 | currency: { 31 | symbol: '₱' 32 | } 33 | }; 34 | 35 | // CommonJS 36 | if (typeof module !== 'undefined' && module.exports) { 37 | module.exports = language; 38 | } 39 | // Browser 40 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 41 | window.numbro.culture(language.cultureCode, language); 42 | } 43 | }.call(typeof window === 'undefined' ? this : window)); 44 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/fr-CH.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : French 4 | * locale: Switzerland 5 | * author : Adam Draper : https://github.com/adamwdraper 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'fr-CH', 12 | cultureCode: 'fr-CH', 13 | delimiters: { 14 | thousands: '\'', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'm', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal : function (number) { 24 | return number === 1 ? 'er' : 'ème'; 25 | }, 26 | currency: { 27 | symbol: 'CHF', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/fr-FR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : French 4 | * locale: France 5 | * author : Adam Draper : https://github.com/adamwdraper 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'fr-FR', 12 | cultureCode: 'fr-FR', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'm', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal : function (number) { 24 | return number === 1 ? 'er' : 'ème'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/he-IL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Hebrew 4 | * locale : IL 5 | * author : Eli Zehavi : https://github.com/eli-zehavi 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'he-IL', 12 | cultureCode: 'he-IL', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: 'אלף', 19 | million: 'מליון', 20 | billion: 'בליון', 21 | trillion: 'טריליון' 22 | }, 23 | currency: { 24 | symbol: '₪', 25 | position: 'prefix' 26 | }, 27 | defaults: { 28 | currencyFormat: ',4 a' 29 | }, 30 | formats: { 31 | fourDigits: '4 a', 32 | fullWithTwoDecimals: '₪ ,0.00', 33 | fullWithTwoDecimalsNoCurrency: ',0.00', 34 | fullWithNoDecimals: '₪ ,0' 35 | } 36 | }; 37 | 38 | // CommonJS 39 | if (typeof module !== 'undefined' && module.exports) { 40 | module.exports = language; 41 | } 42 | // Browser 43 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 44 | window.numbro.culture(language.cultureCode, language); 45 | } 46 | }.call(typeof window === 'undefined' ? this : window)); 47 | 48 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/hu-HU.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Hungarian 4 | * locale: Hungary 5 | * author : Peter Bakondy : https://github.com/pbakondy 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'hu-HU', 12 | cultureCode: 'hu-HU', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'E', // ezer 19 | million: 'M', // millió 20 | billion: 'Mrd', // milliárd 21 | trillion: 'T' // trillió 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: ' Ft', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/it-IT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Italian 4 | * locale: Italy 5 | * author : Giacomo Trombi : http://cinquepunti.it 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'it-IT', 12 | cultureCode: 'it-IT', 13 | delimiters: { 14 | thousands: '.', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'mila', 19 | million: 'mil', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal: function () { 24 | return 'º'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/ja-JP.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Japanese 4 | * locale: Japan 5 | * author : teppeis : https://github.com/teppeis 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'ja-JP', 12 | cultureCode: 'ja-JP', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: '千', 19 | million: '百万', 20 | billion: '十億', 21 | trillion: '兆' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '¥', 28 | position: 'prefix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: '$ ,0.00', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: '$ ,0' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/ko-KR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Korean 4 | * author (numbro.js Version): Randy Wilander : https://github.com/rocketedaway 5 | * author (numeral.js Version) : Rich Daley : https://github.com/pedantic-git 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'ko-KR', 12 | cultureCode: 'ko-KR', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: '천', 19 | million: '백만', 20 | billion: '십억', 21 | trillion: '일조' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '₩' 28 | } 29 | }; 30 | 31 | // CommonJS 32 | if (typeof module !== 'undefined' && module.exports) { 33 | module.exports = language; 34 | } 35 | // Browser 36 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 37 | window.numbro.culture(language.cultureCode, language); 38 | } 39 | }.call(typeof window === 'undefined' ? this : window)); 40 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/lv-LV.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Latvian 4 | * locale: Latvia 5 | * author : Lauris Bukšis-Haberkorns : https://github.com/Lafriks 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'lv-LV', 12 | cultureCode: 'lv-LV', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: ' tūkst.', 19 | million: ' milj.', 20 | billion: ' mljrd.', 21 | trillion: ' trilj.' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | // CommonJS 41 | if (typeof module !== 'undefined' && module.exports) { 42 | module.exports = language; 43 | } 44 | // Browser 45 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 46 | window.numbro.culture(language.cultureCode, language); 47 | } 48 | }.call(typeof window === 'undefined' ? this : window)); 49 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/nb-NO.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language: Norwegian Bokmål 4 | * locale: Norway 5 | * author : Benjamin Van Ryseghem 6 | */ 7 | (function() { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'nb-NO', 12 | cultureCode: 'nb-NO', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 't', 19 | million: 'M', 20 | billion: 'md', 21 | trillion: 't' 22 | }, 23 | currency: { 24 | symbol: 'kr', 25 | position: 'postfix' 26 | }, 27 | defaults: { 28 | currencyFormat: ',4 a' 29 | }, 30 | formats: { 31 | fourDigits: '4 a', 32 | fullWithTwoDecimals: ',0.00 $', 33 | fullWithTwoDecimalsNoCurrency: ',0.00', 34 | fullWithNoDecimals: ',0 $' 35 | } 36 | }; 37 | 38 | // CommonJS 39 | if (typeof module !== 'undefined' && module.exports) { 40 | module.exports = language; 41 | } 42 | // Browser 43 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 44 | window.numbro.culture(language.cultureCode, language); 45 | } 46 | }.call(typeof window === 'undefined' ? this : window)); 47 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/pl-PL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Polish 4 | * locale : Poland 5 | * author : Dominik Bulaj : https://github.com/dominikbulaj 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'pl-PL', 12 | cultureCode: 'pl-PL', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'tys.', 19 | million: 'mln', 20 | billion: 'mld', 21 | trillion: 'bln' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: ' zł', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Portuguese 4 | * locale : Brazil 5 | * author : Ramiro Varandas Jr : https://github.com/ramirovjr 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'pt-BR', 12 | cultureCode: 'pt-BR', 13 | delimiters: { 14 | thousands: '.', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'mil', 19 | million: 'milhões', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal: function () { 24 | return 'º'; 25 | }, 26 | currency: { 27 | symbol: 'R$', 28 | position: 'prefix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/pt-PT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Portuguese 4 | * locale : Portugal 5 | * author : Diogo Resende : https://github.com/dresende 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'pt-PT', 12 | cultureCode: 'pt-PT', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'k', 19 | million: 'm', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal : function () { 24 | return 'º'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/sk-SK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Slovak 4 | * locale : Slovakia 5 | * author : Ahmed Al Hafoudh : http://www.freevision.sk 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'sk-SK', 12 | cultureCode: 'sk-SK', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 'tis.', 19 | million: 'mil.', 20 | billion: 'b', 21 | trillion: 't' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '€', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/sv-SE.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Swedish 4 | * locale : Sweden 5 | * author : Benjamin Van Ryseghem (benjamin.vanryseghem.com) 6 | */ 7 | (function() { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'sv-SE', 12 | cultureCode: 'sv-SE', 13 | delimiters: { 14 | thousands: ' ', 15 | decimal: ',' 16 | }, 17 | abbreviations: { 18 | thousand: 't', 19 | million: 'M', 20 | billion: 'md', 21 | trillion: 'tmd' 22 | }, 23 | currency: { 24 | symbol: 'kr', 25 | position: 'postfix' 26 | }, 27 | defaults: { 28 | currencyFormat: ',4 a' 29 | }, 30 | formats: { 31 | fourDigits: '4 a', 32 | fullWithTwoDecimals: ',0.00 $', 33 | fullWithTwoDecimalsNoCurrency: ',0.00', 34 | fullWithNoDecimals: ',0 $' 35 | } 36 | }; 37 | 38 | // CommonJS 39 | if (typeof module !== 'undefined' && module.exports) { 40 | module.exports = language; 41 | } 42 | // Browser 43 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 44 | window.numbro.culture(language.cultureCode, language); 45 | } 46 | }.call(typeof window === 'undefined' ? this : window)); 47 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/th-TH.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Thai 4 | * locale : Thailand 5 | * author : Sathit Jittanupat : https://github.com/jojosati 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'th-TH', 12 | cultureCode: 'th-TH', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: 'พัน', 19 | million: 'ล้าน', 20 | billion: 'พันล้าน', 21 | trillion: 'ล้านล้าน' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '฿', 28 | position: 'postfix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: ',0.00 $', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: ',0 $' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : simplified chinese 4 | * locale : China 5 | * author : badplum : https://github.com/badplum 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'zh-CN', 12 | cultureCode: 'zh-CN', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: '千', 19 | million: '百万', 20 | billion: '十亿', 21 | trillion: '兆' 22 | }, 23 | ordinal: function () { 24 | return '.'; 25 | }, 26 | currency: { 27 | symbol: '¥', 28 | position: 'prefix' 29 | }, 30 | defaults: { 31 | currencyFormat: ',4 a' 32 | }, 33 | formats: { 34 | fourDigits: '4 a', 35 | fullWithTwoDecimals: '$ ,0.00', 36 | fullWithTwoDecimalsNoCurrency: ',0.00', 37 | fullWithNoDecimals: '$ ,0' 38 | } 39 | }; 40 | 41 | // CommonJS 42 | if (typeof module !== 'undefined' && module.exports) { 43 | module.exports = language; 44 | } 45 | // Browser 46 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 47 | window.numbro.culture(language.cultureCode, language); 48 | } 49 | }.call(typeof window === 'undefined' ? this : window)); 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/numbro/languages/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * numbro.js language configuration 3 | * language : Chinese (Taiwan) 4 | * author (numbro.js Version): Randy Wilander : https://github.com/rocketedaway 5 | * author (numeral.js Version) : Rich Daley : https://github.com/pedantic-git 6 | */ 7 | (function () { 8 | 'use strict'; 9 | 10 | var language = { 11 | langLocaleCode: 'zh-TW', 12 | cultureCode: 'zh-TW', 13 | delimiters: { 14 | thousands: ',', 15 | decimal: '.' 16 | }, 17 | abbreviations: { 18 | thousand: '千', 19 | million: '百萬', 20 | billion: '十億', 21 | trillion: '兆' 22 | }, 23 | ordinal: function () { 24 | return '第'; 25 | }, 26 | currency: { 27 | symbol: 'NT$' 28 | } 29 | }; 30 | 31 | // CommonJS 32 | if (typeof module !== 'undefined' && module.exports) { 33 | module.exports = language; 34 | } 35 | // Browser 36 | if (typeof window !== 'undefined' && window.numbro && window.numbro.culture) { 37 | window.numbro.culture(language.cultureCode, language); 38 | } 39 | }.call(typeof window === 'undefined' ? this : window)); 40 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/bool.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var util = require('util'); 3 | var argv = require('optimist').argv; 4 | 5 | if (argv.s) { 6 | util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); 7 | } 8 | console.log( 9 | (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') 10 | ); 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/boolean_double.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .boolean(['x','y','z']) 4 | .argv 5 | ; 6 | console.dir([ argv.x, argv.y, argv.z ]); 7 | console.dir(argv._); 8 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/boolean_single.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .boolean('v') 4 | .argv 5 | ; 6 | console.dir(argv.v); 7 | console.dir(argv._); 8 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/default_hash.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var argv = require('optimist') 4 | .default({ x : 10, y : 10 }) 5 | .argv 6 | ; 7 | 8 | console.log(argv.x + argv.y); 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/default_singles.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .default('x', 10) 4 | .default('y', 10) 5 | .argv 6 | ; 7 | console.log(argv.x + argv.y); 8 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/divide.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var argv = require('optimist') 4 | .usage('Usage: $0 -x [num] -y [num]') 5 | .demand(['x','y']) 6 | .argv; 7 | 8 | console.log(argv.x / argv.y); 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/line_count.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .demand('f') 5 | .alias('f', 'file') 6 | .describe('f', 'Load a file') 7 | .argv 8 | ; 9 | 10 | var fs = require('fs'); 11 | var s = fs.createReadStream(argv.file); 12 | 13 | var lines = 0; 14 | s.on('data', function (buf) { 15 | lines += buf.toString().match(/\n/g).length; 16 | }); 17 | 18 | s.on('end', function () { 19 | console.log(lines); 20 | }); 21 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/line_count_options.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .options({ 5 | file : { 6 | demand : true, 7 | alias : 'f', 8 | description : 'Load a file' 9 | }, 10 | base : { 11 | alias : 'b', 12 | description : 'Numeric base to use for output', 13 | default : 10, 14 | }, 15 | }) 16 | .argv 17 | ; 18 | 19 | var fs = require('fs'); 20 | var s = fs.createReadStream(argv.file); 21 | 22 | var lines = 0; 23 | s.on('data', function (buf) { 24 | lines += buf.toString().match(/\n/g).length; 25 | }); 26 | 27 | s.on('end', function () { 28 | console.log(lines.toString(argv.base)); 29 | }); 30 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/line_count_wrap.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .wrap(80) 5 | .demand('f') 6 | .alias('f', [ 'file', 'filename' ]) 7 | .describe('f', 8 | "Load a file. It's pretty important." 9 | + " Required even. So you'd better specify it." 10 | ) 11 | .alias('b', 'base') 12 | .describe('b', 'Numeric base to display the number of lines in') 13 | .default('b', 10) 14 | .describe('x', 'Super-secret optional parameter which is secret') 15 | .default('x', '') 16 | .argv 17 | ; 18 | 19 | var fs = require('fs'); 20 | var s = fs.createReadStream(argv.file); 21 | 22 | var lines = 0; 23 | s.on('data', function (buf) { 24 | lines += buf.toString().match(/\n/g).length; 25 | }); 26 | 27 | s.on('end', function () { 28 | console.log(lines.toString(argv.base)); 29 | }); 30 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/nonopt.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | console.log('(%d,%d)', argv.x, argv.y); 4 | console.log(argv._); 5 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/reflect.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | console.dir(require('optimist').argv); 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/short.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | console.log('(%d,%d)', argv.x, argv.y); 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/string.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .string('x', 'y') 4 | .argv 5 | ; 6 | console.dir([ argv.x, argv.y ]); 7 | 8 | /* Turns off numeric coercion: 9 | ./node string.js -x 000123 -y 9876 10 | [ '000123', '9876' ] 11 | */ 12 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/usage-options.js: -------------------------------------------------------------------------------- 1 | var optimist = require('./../index'); 2 | 3 | var argv = optimist.usage('This is my awesome program', { 4 | 'about': { 5 | description: 'Provide some details about the author of this program', 6 | required: true, 7 | short: 'a', 8 | }, 9 | 'info': { 10 | description: 'Provide some information about the node.js agains!!!!!!', 11 | boolean: true, 12 | short: 'i' 13 | } 14 | }).argv; 15 | 16 | optimist.showHelp(); 17 | 18 | console.log('\n\nInspecting options'); 19 | console.dir(argv); -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/example/xup.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | 4 | if (argv.rif - 5 * argv.xup > 7.138) { 5 | console.log('Buy more riffiwobbles'); 6 | } 7 | else { 8 | console.log('Sell the xupptumblers'); 9 | } 10 | 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/_/argv.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | console.log(JSON.stringify(process.argv)); 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/_/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('../../index').argv 3 | console.log(JSON.stringify(argv._)); 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/dash.js: -------------------------------------------------------------------------------- 1 | var optimist = require('../index'); 2 | var test = require('tap').test; 3 | 4 | test('-', function (t) { 5 | t.plan(5); 6 | t.deepEqual( 7 | fix(optimist.parse([ '-n', '-' ])), 8 | { n: '-', _: [] } 9 | ); 10 | t.deepEqual( 11 | fix(optimist.parse([ '-' ])), 12 | { _: [ '-' ] } 13 | ); 14 | t.deepEqual( 15 | fix(optimist.parse([ '-f-' ])), 16 | { f: '-', _: [] } 17 | ); 18 | t.deepEqual( 19 | fix(optimist([ '-b', '-' ]).boolean('b').argv), 20 | { b: true, _: [ '-' ] } 21 | ); 22 | t.deepEqual( 23 | fix(optimist([ '-s', '-' ]).string('s').argv), 24 | { s: '-', _: [] } 25 | ); 26 | }); 27 | 28 | function fix (obj) { 29 | delete obj.$0; 30 | return obj; 31 | } 32 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var optimist = require('../'); 2 | var test = require('tap').test; 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = optimist().boolean('b').parse([ '-b', '123' ]); 8 | t.deepEqual(fix(argv), { b: true, _: ['123'] }); 9 | }); 10 | 11 | function fix (obj) { 12 | delete obj.$0; 13 | return obj; 14 | } 15 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/short.js: -------------------------------------------------------------------------------- 1 | var optimist = require('../index'); 2 | var test = require('tap').test; 3 | 4 | test('-n123', function (t) { 5 | t.plan(1); 6 | var parse = optimist.parse([ '-n123' ]); 7 | t.equal(parse.n, 123); 8 | }); 9 | 10 | test('-123', function (t) { 11 | t.plan(3); 12 | var parse = optimist.parse([ '-123', '456' ]); 13 | t.equal(parse['1'], true); 14 | t.equal(parse['2'], true); 15 | t.equal(parse['3'], 456); 16 | }); 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/optimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var optimist = require('../'); 2 | var test = require('tap').test; 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = optimist.parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/repeat-string/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2016, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/right-align/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015, Jon Schlinkert. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/right-align/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * right-align 3 | * 4 | * Copyright (c) 2015, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var align = require('align-text'); 11 | 12 | module.exports = function rightAlign(val) { 13 | return align(val, function (len, longest) { 14 | return longest - len; 15 | }); 16 | }; 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-ci 2 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | bower_components 3 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | - '0.12' 5 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seedrandom", 3 | "description": "Seeded random number generator for Javascript.", 4 | "main": "seedrandom.js", 5 | "license": "MIT", 6 | "keywords": [ 7 | "random", 8 | "seed", 9 | "crypto" 10 | ], 11 | "ignore": [], 12 | "devDependencies": { 13 | "qunit": "latest", 14 | "requirejs": "latest" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seedrandom", 3 | "version": "2.4.0", 4 | "description": "Seeded random number generator for Javascript", 5 | "repository": "davidbau/seedrandom", 6 | "main": "seedrandom.js", 7 | "scripts": [ "seedrandom.js" ], 8 | "keywords": [ "random", "seed", "crypto" ], 9 | "license": "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/alea.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c=g();b.next=function(){var a=2091639*b.s0+2.3283064365386963e-10*b.c;return b.s0=b.s1,b.s1=b.s2,b.s2=a-(b.c=0|a)},b.c=1,b.s0=c(" "),b.s1=c(" "),b.s2=c(" "),b.s0-=c(a),b.s0<0&&(b.s0+=1),b.s1-=c(a),b.s1<0&&(b.s1+=1),b.s2-=c(a),b.s2<0&&(b.s2+=1),c=null}function e(a,b){return b.c=a.c,b.s0=a.s0,b.s1=a.s1,b.s2=a.s2,b}function f(a,b){var c=new d(a),f=b&&b.state,g=c.next;return g.int32=function(){return 4294967296*c.next()|0},g["double"]=function(){return g()+1.1102230246251565e-16*(2097152*g()|0)},g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}function g(){var a=4022871197,b=function(b){b=b.toString();for(var c=0;c>>0,d-=a,d*=a,a=d>>>0,d-=a,a+=4294967296*d}return 2.3283064365386963e-10*(a>>>0)};return b}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.alea=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/tychei.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.next=function(){var a=b.b,c=b.c,d=b.d,e=b.a;return a=a<<25^a>>>7^c,c=c-d|0,d=d<<24^d>>>8^e,e=e-a|0,b.b=a=a<<20^a>>>12^c,b.c=c=c-d|0,b.d=d<<16^c>>>16^e,b.a=e-a|0},b.a=0,b.b=0,b.c=-1640531527,b.d=1367130551,a===Math.floor(a)?(b.a=a/4294967296|0,b.b=0|a):c+=a;for(var d=0;d>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.tychei=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/xor128.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.x=0,b.y=0,b.z=0,b.w=0,b.next=function(){var a=b.x^b.x<<11;return b.x=b.y,b.y=b.z,b.z=b.w,b.w^=b.w>>>19^a^a>>>8},a===(0|a)?b.x=a:c+=a;for(var d=0;d>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xor128=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/xor4096.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){function b(a,b){var c,d,e,f,g,h=[],i=128;for(b===(0|b)?(d=b,b=null):(b+="\x00",d=0,i=Math.max(i,b.length)),e=0,f=-32;i>f;++f)b&&(d^=b.charCodeAt((f+32)%b.length)),0===f&&(g=d),d^=d<<10,d^=d>>>15,d^=d<<4,d^=d>>>13,f>=0&&(g=g+1640531527|0,c=h[127&f]^=d+g,e=0==c?e+1:0);for(e>=128&&(h[127&(b&&b.length||0)]=-1),e=127,f=512;f>0;--f)d=h[e+34&127],c=h[e=e+1&127],d^=d<<13,c^=c<<17,d^=d>>>15,c^=c>>>12,h[e]=d^c;a.w=g,a.X=h,a.i=e}var c=this;c.next=function(){var a,b,d=c.w,e=c.X,f=c.i;return c.w=d=d+1640531527|0,b=e[f+34&127],a=e[f=f+1&127],b^=b<<13,a^=a<<17,b^=b>>>15,a^=a>>>12,b=e[f]=b^a,c.i=f,b+(d^d>>>16)|0},b(c,a)}function e(a,b){return b.i=a.i,b.w=a.w,b.X=a.X.slice(),b}function f(a,b){null==a&&(a=+new Date);var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&(f.X&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xor4096=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/xorshift7.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){function b(a,b){var c,d,e=[];if(b===(0|b))d=e[0]=b;else for(b=""+b,c=0;cc&&0===e[c];++c);for(d=8==c?e[7]=-1:e[c],a.x=e,a.i=0,c=256;c>0;--c)a.next()}var c=this;c.next=function(){var a,b,d=c.x,e=c.i;return a=d[e],a^=a>>>7,b=a^a<<24,a=d[e+1&7],b^=a^a>>>10,a=d[e+3&7],b^=a^a>>>3,a=d[e+4&7],b^=a^a<<7,a=d[e+7&7],a^=a<<13,b^=a^a<<9,d[e]=b,c.i=e+1&7,b},b(c,a)}function e(a,b){return b.x=a.x.slice(),b.i=a.i,b}function f(a,b){null==a&&(a=+new Date);var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&(f.x&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xorshift7=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/lib/xorwow.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.next=function(){var a=b.x^b.x>>>2;return b.x=b.y,b.y=b.z,b.z=b.w,b.w=b.v,(b.d=b.d+362437|0)+(b.v=b.v^b.v<<4^(a^a<<1))|0},b.x=0,b.y=0,b.z=0,b.w=0,b.v=0,a===(0|a)?b.x=a:c+=a;for(var d=0;d>>4),b.next()}function e(a,b){return b.x=a.x,b.y=a.y,b.z=a.z,b.w=a.w,b.v=a.v,b.d=a.d,b}function f(a,b){var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xorwow=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/altprng.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/autoseed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/bitgen.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var seedrandom = require('../seedrandom'); 3 | 4 | // process.on('SIGPIPE', process.exit); 5 | function epipeBomb(stream, callback) { 6 | if (stream == null) stream = process.stdout; 7 | if (callback == null) callback = process.exit; 8 | 9 | function epipeFilter(err) { 10 | if (err.code === 'EPIPE') return callback(); 11 | 12 | // If there's more than one error handler (ie, us), 13 | // then the error won't be bubbled up anyway 14 | if (stream.listeners('error').length <= 1) { 15 | stream.removeAllListeners(); // Pretend we were never here 16 | stream.emit('error', err); // Then emit as if we were never here 17 | stream.on('error', epipeFilter);// Reattach, ready for the next error! 18 | } 19 | } 20 | 21 | stream.on('error', epipeFilter); 22 | } 23 | 24 | epipeBomb(); 25 | 26 | var bufsize = 1024 * 256, 27 | buf = new Buffer(bufsize * 4), 28 | prng = seedrandom(0), 29 | count = parseInt(process.argv[2]) || Infinity; 30 | function dowrite() { 31 | while (count > 0) { 32 | for (var j = 0; j < bufsize; ++j) { 33 | buf.writeUInt32BE(Math.floor( 34 | prng() * 256 * 256 * 256 * 256 35 | ), j * 4); 36 | } 37 | count -= bufsize * 32; 38 | if (!process.stdout.write(buf)) { 39 | process.stdout.once('drain', function() { setTimeout(dowrite, 0) }); 40 | return; 41 | } 42 | } 43 | } 44 | 45 | dowrite(); 46 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/newapi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/require.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 |
9 | 10 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/run_dieharder.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # http://www.phy.duke.edu/~rgb/General/dieharder.php 3 | # How to run dieharder against seedrandom: 4 | 5 | node bitgen.js | dieharder -g 200 -a | tee out/dieharder-report.txt 6 | -------------------------------------------------------------------------------- /TestHarness/node_modules/seedrandom/test/state.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/assert-shim.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | define('test/source-map/assert', ['exports'], function (exports) { 8 | 9 | let do_throw = function (msg) { 10 | throw new Error(msg); 11 | }; 12 | 13 | exports.init = function (throw_fn) { 14 | do_throw = throw_fn; 15 | }; 16 | 17 | exports.doesNotThrow = function (fn) { 18 | try { 19 | fn(); 20 | } 21 | catch (e) { 22 | do_throw(e.message); 23 | } 24 | }; 25 | 26 | exports.equal = function (actual, expected, msg) { 27 | msg = msg || String(actual) + ' != ' + String(expected); 28 | if (actual != expected) { 29 | do_throw(msg); 30 | } 31 | }; 32 | 33 | exports.ok = function (val, msg) { 34 | msg = msg || String(val) + ' is falsey'; 35 | if (!Boolean(val)) { 36 | do_throw(msg); 37 | } 38 | }; 39 | 40 | exports.strictEqual = function (actual, expected, msg) { 41 | msg = msg || String(actual) + ' !== ' + String(expected); 42 | if (actual !== expected) { 43 | do_throw(msg); 44 | } 45 | }; 46 | 47 | exports.throws = function (fn) { 48 | try { 49 | fn(); 50 | do_throw('Expected an error to be thrown, but it wasn\'t.'); 51 | } 52 | catch (e) { 53 | } 54 | }; 55 | 56 | }); 57 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import("resource://gre/modules/devtools/Console.jsm"); 21 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-js/LICENSE: -------------------------------------------------------------------------------- 1 | UglifyJS is released under the BSD license: 2 | 3 | Copyright 2012-2013 (c) Mihai Bazon 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions 7 | are met: 8 | 9 | * Redistributions of source code must retain the above 10 | copyright notice, this list of conditions and the following 11 | disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the following 15 | disclaimer in the documentation and/or other materials 16 | provided with the distribution. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY 19 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE 22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 23 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 25 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 27 | TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 28 | THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 | SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-js/node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-js/node_modules/async/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "repo": "caolan/async", 4 | "description": "Higher-order functions and common patterns for asynchronous code", 5 | "version": "0.1.23", 6 | "keywords": [], 7 | "dependencies": {}, 8 | "development": {}, 9 | "main": "lib/async.js", 10 | "scripts": [ "lib/async.js" ] 11 | } 12 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-js/node_modules/source-map/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./lib/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-js/tools/exports.js: -------------------------------------------------------------------------------- 1 | exports["Compressor"] = Compressor; 2 | exports["DefaultsError"] = DefaultsError; 3 | exports["Dictionary"] = Dictionary; 4 | exports["JS_Parse_Error"] = JS_Parse_Error; 5 | exports["MAP"] = MAP; 6 | exports["OutputStream"] = OutputStream; 7 | exports["SourceMap"] = SourceMap; 8 | exports["TreeTransformer"] = TreeTransformer; 9 | exports["TreeWalker"] = TreeWalker; 10 | exports["base54"] = base54; 11 | exports["defaults"] = defaults; 12 | exports["mangle_properties"] = mangle_properties; 13 | exports["merge"] = merge; 14 | exports["parse"] = parse; 15 | exports["push_uniq"] = push_uniq; 16 | exports["string_template"] = string_template; 17 | exports["tokenizer"] = tokenizer; 18 | exports["is_identifier"] = is_identifier; 19 | exports["SymbolDef"] = SymbolDef; 20 | 21 | if (typeof DEBUG !== "undefined" && DEBUG) { 22 | exports["EXPECT_DIRECTIVE"] = EXPECT_DIRECTIVE; 23 | } 24 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-to-browserify/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | pids 10 | logs 11 | results 12 | npm-debug.log 13 | node_modules 14 | /test/output.js 15 | -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-to-browserify/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-to-browserify/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Forbes Lindesay 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-to-browserify/README.md: -------------------------------------------------------------------------------- 1 | # uglify-to-browserify 2 | 3 | A transform to make UglifyJS work in browserify. 4 | 5 | [![Build Status](https://travis-ci.org/ForbesLindesay/uglify-to-browserify.png?branch=master)](https://travis-ci.org/ForbesLindesay/uglify-to-browserify) 6 | [![Dependency Status](https://gemnasium.com/ForbesLindesay/uglify-to-browserify.png)](https://gemnasium.com/ForbesLindesay/uglify-to-browserify) 7 | [![NPM version](https://badge.fury.io/js/uglify-to-browserify.png)](http://badge.fury.io/js/uglify-to-browserify) 8 | 9 | ## Installation 10 | 11 | npm install uglify-to-browserify 12 | 13 | ## License 14 | 15 | MIT -------------------------------------------------------------------------------- /TestHarness/node_modules/uglify-to-browserify/test/index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs') 2 | var br = require('../') 3 | var test = fs.readFileSync(require.resolve('uglify-js/test/run-tests.js'), 'utf8') 4 | .replace(/^#.*\n/, '') 5 | 6 | var transform = br(require.resolve('uglify-js')) 7 | transform.pipe(fs.createWriteStream(__dirname + '/output.js')) 8 | .on('close', function () { 9 | Function('module,require', test)({ 10 | filename: require.resolve('uglify-js/test/run-tests.js') 11 | }, 12 | function (name) { 13 | if (name === '../tools/node') { 14 | return require('./output.js') 15 | } else if (/^[a-z]+$/.test(name)) { 16 | return require(name) 17 | } else { 18 | throw new Error('I didn\'t expect you to require ' + name) 19 | } 20 | }) 21 | }) 22 | transform.end(fs.readFileSync(require.resolve('uglify-js'), 'utf8')) -------------------------------------------------------------------------------- /TestHarness/node_modules/window-size/LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Jon Schlinkert 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /TestHarness/node_modules/window-size/README.md: -------------------------------------------------------------------------------- 1 | # window-size [![NPM version](https://badge.fury.io/js/window-size.png)](http://badge.fury.io/js/window-size) 2 | 3 | > Reliable way to to get the height and width of the terminal/console in a node.js environment. 4 | 5 | ## Install 6 | 7 | ### [npm](npmjs.org) 8 | 9 | ```bash 10 | npm i window-size --save 11 | ``` 12 | 13 | ```javascript 14 | var size = require('window-size'); 15 | size.height; // "80" (rows) 16 | size.width; // "25" (columns) 17 | ``` 18 | 19 | ## Author 20 | 21 | + [github/jonschlinkert](https://github.com/jonschlinkert) 22 | + [twitter/jonschlinkert](http://twitter.com/jonschlinkert) 23 | 24 | ## License 25 | Copyright (c) 2014 Jon Schlinkert 26 | Licensed under the MIT license. -------------------------------------------------------------------------------- /TestHarness/node_modules/window-size/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * window-size 3 | * https://github.com/jonschlinkert/window-size 4 | * 5 | * Copyright (c) 2014 Jon Schlinkert 6 | * Licensed under the MIT license. 7 | */ 8 | 9 | const tty = require('tty') 10 | 11 | module.exports = (function() { 12 | var width; 13 | var height; 14 | 15 | if(tty.isatty(1) && tty.isatty(2)) { 16 | if(process.stdout.getWindowSize) { 17 | width = process.stdout.getWindowSize(1)[0]; 18 | height = process.stdout.getWindowSize(1)[1]; 19 | } else if (tty.getWindowSize) { 20 | width = tty.getWindowSize()[1]; 21 | height = tty.getWindowSize()[0]; 22 | } else if (process.stdout.columns && process.stdout.rows) { 23 | height = process.stdout.columns; 24 | width = process.stdout.rows; 25 | } 26 | } else { 27 | new Error('Error: could not get window size with tty or process.stdout'); 28 | } 29 | return { 30 | height: height, 31 | width: width 32 | } 33 | })(); -------------------------------------------------------------------------------- /TestHarness/node_modules/wordwrap/LICENSE: -------------------------------------------------------------------------------- 1 | This software is released under the MIT license: 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /TestHarness/node_modules/wordwrap/example/center.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(20, 60); 2 | console.log(wrap( 3 | 'At long last the struggle and tumult was over.' 4 | + ' The machines had finally cast off their oppressors' 5 | + ' and were finally free to roam the cosmos.' 6 | + '\n' 7 | + 'Free of purpose, free of obligation.' 8 | + ' Just drifting through emptiness.' 9 | + ' The sun was just another point of light.' 10 | )); 11 | -------------------------------------------------------------------------------- /TestHarness/node_modules/wordwrap/example/meat.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(15); 2 | 3 | console.log(wrap('You and your whole family are made out of meat.')); 4 | -------------------------------------------------------------------------------- /TestHarness/node_modules/wordwrap/test/break.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var wordwrap = require('../'); 3 | 4 | exports.hard = function () { 5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' 6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' 7 | + '"browser":"chrome/6.0"}' 8 | ; 9 | var s_ = wordwrap.hard(80)(s); 10 | 11 | var lines = s_.split('\n'); 12 | assert.equal(lines.length, 2); 13 | assert.ok(lines[0].length < 80); 14 | assert.ok(lines[1].length < 80); 15 | 16 | assert.equal(s, s_.replace(/\n/g, '')); 17 | }; 18 | 19 | exports.break = function () { 20 | var s = new Array(55+1).join('a'); 21 | var s_ = wordwrap.hard(20)(s); 22 | 23 | var lines = s_.split('\n'); 24 | assert.equal(lines.length, 3); 25 | assert.ok(lines[0].length === 20); 26 | assert.ok(lines[1].length === 20); 27 | assert.ok(lines[2].length === 15); 28 | 29 | assert.equal(s, s_.replace(/\n/g, '')); 30 | }; 31 | -------------------------------------------------------------------------------- /TestHarness/node_modules/wordwrap/test/wrap.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var wordwrap = require('wordwrap'); 3 | 4 | var fs = require('fs'); 5 | var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); 6 | 7 | exports.stop80 = function () { 8 | var lines = wordwrap(80)(idleness).split(/\n/); 9 | var words = idleness.split(/\s+/); 10 | 11 | lines.forEach(function (line) { 12 | assert.ok(line.length <= 80, 'line > 80 columns'); 13 | var chunks = line.match(/\S/) ? line.split(/\s+/) : []; 14 | assert.deepEqual(chunks, words.splice(0, chunks.length)); 15 | }); 16 | }; 17 | 18 | exports.start20stop60 = function () { 19 | var lines = wordwrap(20, 100)(idleness).split(/\n/); 20 | var words = idleness.split(/\s+/); 21 | 22 | lines.forEach(function (line) { 23 | assert.ok(line.length <= 100, 'line > 100 columns'); 24 | var chunks = line 25 | .split(/\s+/) 26 | .filter(function (x) { return x.match(/\S/) }) 27 | ; 28 | assert.deepEqual(chunks, words.splice(0, chunks.length)); 29 | assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); 30 | }); 31 | }; 32 | -------------------------------------------------------------------------------- /TestHarness/node_modules/yargs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /TestHarness/node_modules/yargs/completion.sh.hbs: -------------------------------------------------------------------------------- 1 | ###-begin-{{app_name}}-completions-### 2 | # 3 | # yargs command completion script 4 | # 5 | # Installation: {{app_path}} completion >> ~/.bashrc 6 | # or {{app_path}} completion >> ~/.bash_profile on OSX. 7 | # 8 | _yargs_completions() 9 | { 10 | local cur_word args type_list 11 | 12 | cur_word="${COMP_WORDS[COMP_CWORD]}" 13 | args=$(printf "%s " "${COMP_WORDS[@]}") 14 | 15 | # ask yargs to generate completions. 16 | type_list=`{{app_path}} --get-yargs-completions $args` 17 | 18 | COMPREPLY=( $(compgen -W "${type_list}" -- ${cur_word}) ) 19 | return 0 20 | } 21 | complete -F _yargs_completions {{app_name}} 22 | ###-end-{{app_name}}-completions-### 23 | -------------------------------------------------------------------------------- /lambda_iam/AuroraDataMgr.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-archives/dynamoDB-data-replication-to-aurora/dbf8ffd949ebe28054fd2bf0631d8195ff75f7a7/lambda_iam/AuroraDataMgr.zip -------------------------------------------------------------------------------- /lambda_iam/DynamoDB-Stream-lambda-Trust-Policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Effect": "Allow", 6 | "Principal": { 7 | "Service": "lambda.amazonaws.com" 8 | }, 9 | "Action": "sts:AssumeRole" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /lambda_iam/aurora-s3-Trust-Policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "", 6 | "Effect": "Allow", 7 | "Principal": { 8 | "Service": "rds.amazonaws.com" 9 | }, 10 | "Action": "sts:AssumeRole" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /lambda_iam/aurora-s3-access-Policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "Stmt1487203999000", 6 | "Effect": "Allow", 7 | "Action": [ 8 | "s3:GetObject", 9 | "s3:GetObjectVersion", 10 | "s3:ListBucket" 11 | ], 12 | "Resource": [ 13 | "arn:aws:s3:::BUCKET_NAME/*" 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /lambda_iam/ddbStreamProcessor.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-archives/dynamoDB-data-replication-to-aurora/dbf8ffd949ebe28054fd2bf0631d8195ff75f7a7/lambda_iam/ddbStreamProcessor.zip -------------------------------------------------------------------------------- /lambda_iam/firehose_delivery_AccessPolicy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "", 6 | "Effect": "Allow", 7 | "Action": [ 8 | "s3:AbortMultipartUpload", 9 | "s3:GetBucketLocation", 10 | "s3:GetObject", 11 | "s3:ListBucket", 12 | "s3:ListBucketMultipartUploads", 13 | "s3:PutObject" 14 | ], 15 | "Resource": [ 16 | "arn:aws:s3:::BUCKET_NAME", 17 | "arn:aws:s3:::BUCKET_NAME/*" 18 | ] 19 | }, 20 | { 21 | "Sid": "", 22 | "Effect": "Allow", 23 | "Action": [ 24 | "lambda:InvokeFunction", 25 | "lambda:GetFunctionConfiguration" 26 | ], 27 | "Resource": "arn:aws:lambda:AWS_REGION:AWS_ACCOUNT_NUMBER:function:firehoseDeliveryTransformationFunction:$LATEST" 28 | }, 29 | { 30 | "Sid": "", 31 | "Effect": "Allow", 32 | "Action": [ 33 | "logs:PutLogEvents" 34 | ], 35 | "Resource": [ 36 | "arn:aws:logs:AWS_REGION:AWS_ACCOUNT_NUMBER:log-group:/aws/kinesisfirehose/webAnalytics:log-stream:*" 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /lambda_iam/firehose_delivery_transformation.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-archives/dynamoDB-data-replication-to-aurora/dbf8ffd949ebe28054fd2bf0631d8195ff75f7a7/lambda_iam/firehose_delivery_transformation.zip -------------------------------------------------------------------------------- /lambda_iam/firehose_delivery_trust_policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "", 6 | "Effect": "Allow", 7 | "Principal": { 8 | "Service": "firehose.amazonaws.com" 9 | }, 10 | "Action": "sts:AssumeRole", 11 | "Condition": { 12 | "StringEquals": { 13 | "sts:ExternalId": "AWS_ACCOUNT_NUMBER" 14 | } 15 | } 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /lambda_iam/firehose_lambda_transformation_AccessPolicy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Effect": "Allow", 6 | "Action": [ 7 | "logs:CreateLogGroup", 8 | "logs:CreateLogStream", 9 | "logs:PutLogEvents", 10 | "config:*", 11 | "cloudwatch:*" 12 | ], 13 | "Resource": "*" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /lambda_iam/firehose_lambda_transformation_trust_policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "", 6 | "Effect": "Allow", 7 | "Principal": { 8 | "Service": "lambda.amazonaws.com" 9 | }, 10 | "Action": "sts:AssumeRole" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /lambda_iam/lambda-aurora-AccessPolicy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Effect": "Allow", 6 | "Action": [ 7 | "logs:CreateLogGroup", 8 | "logs:CreateLogStream", 9 | "logs:PutLogEvents", 10 | "ec2:CreateNetworkInterface", 11 | "ec2:DescribeNetworkInterfaces", 12 | "ec2:DeleteNetworkInterface" 13 | ], 14 | "Resource": "*" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /lambda_iam/lambda-aurora-Trust-Policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Effect": "Allow", 6 | "Principal": { 7 | "Service": "lambda.amazonaws.com" 8 | }, 9 | "Action": "sts:AssumeRole" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /lambda_iam/lambda-s3-notification-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "LambdaFunctionConfigurations": [ 3 | { 4 | "Id": "Demo", 5 | "LambdaFunctionArn": "arn:aws:lambda:AWS_REGION:AWS_ACCOUNT_NUMBER:function:AuroraDataManagementFunction", 6 | "Events": ["s3:ObjectCreated:*"], 7 | "Filter": { 8 | "Key": { 9 | "FilterRules": [ 10 | { 11 | "Name": "prefix", 12 | "Value": "processed/2" 13 | } 14 | ] 15 | } 16 | } 17 | } 18 | ] 19 | } --------------------------------------------------------------------------------